MCP(Model Context Protocol) νμ΅μ μν νκ΅μ΄ νλ‘μ νΈμ λλ€.
μ΄ νλ‘μ νΈλ MCP(Model Context Protocol)λ₯Ό λ°°μ°κ³ μ€μ΅νκΈ° μν μ’ ν©μ μΈ νμ΅ λ¦¬μμ€λ₯Ό μ 곡ν©λλ€. FastMCP νλ μμν¬λ₯Ό μ¬μ©ν μ€μ λμνλ μλ² μμ μ VS Code μ°λκΉμ§ ν¬ν¨νκ³ μμ΅λλ€.
- κ³μ°κΈ° λꡬ: μ¬μΉμ°μ° (λ§μ , λΊμ , κ³±μ , λλμ )
- λ μ¨ μ‘°ν: 4κ° λμ λͺ© λ°μ΄ν° (μμΈ, λμΏ, λ΄μ, λ°λ)
- νμΌ μ½κΈ°: μμ ν νμΌ μ κ·Ό λ° λλ ν 리 λͺ©λ‘
- ν μ€νΈ μ²λ¦¬: λμλ¬Έμ λ³ν, ν μ€νΈ λ€μ§κΈ°, λ¨μ΄ μ μΈκΈ°
- MCP μλ² μλ μ€μ
- Agent Modeμμ λꡬ μ¬μ© κ°λ₯
- μμ°μ΄λ‘ λꡬ μ μ΄
- λ¨κ³λ³ μ€μΉ κ°μ΄λ
- μ¬μ©λ² μμ
- λ¬Έμ ν΄κ²° κ°μ΄λ
letslearnmcp/
βββ π .vscode/
β βββ mcp.json # MCP μλ² μ€μ
βββ π .github/
β βββ ISSUE_TEMPLATE/ # GitHub μ΄μ ν
νλ¦Ώ
βββ π examples/
β βββ README.md # μμ κ°μ
β βββ π fastmcp_basic/ # FastMCP μλ² μμ
β βββ server.py # λ©μΈ μλ² νμΌ
β βββ config.json # μλ² μ€μ
β βββ requirements.txt # Python μμ‘΄μ±
β βββ π tools/ # λꡬ ꡬν
β β βββ calculator.py # κ³μ°κΈ° λꡬ
β β βββ weather.py # λ μ¨ λꡬ
β β βββ file_reader.py # νμΌ μ½κΈ° λꡬ
β β βββ text_processor.py # ν
μ€νΈ μ²λ¦¬ λꡬ
β βββ π resources/ # 리μμ€ κ΅¬ν
β β βββ config.py # μ€μ 리μμ€
β β βββ help.py # λμλ§ λ¦¬μμ€
β β βββ logs.py # λ‘κ·Έ 리μμ€
β βββ README.md # μμΈ μ¬μ© κ°μ΄λ
βββ main.py # κΈ°λ³Έ Python νμΌ
βββ pyproject.toml # νλ‘μ νΈ μ€μ λ° μμ‘΄μ±
βββ .gitignore # Git 무μ νμΌ
βββ README.md # μ΄ νμΌ
# 1. 리ν¬μ§ν 리 ν΄λ‘
git clone https://github.com/corazzon/letslearnmcppy.git
cd letslearnmcppy
# 2. uv μ€μΉ (μλ κ²½μ°)
curl -LsSf https://astral.sh/uv/install.sh | sh
# 3. κ°μνκ²½ μμ± λ° νμ±ν
uv venv
source .venv/bin/activate # macOS/Linux
# Windows: .venv\Scripts\activate
# 4. μμ‘΄μ± μ€μΉ
uv pip install -e .# FastMCP μλ² λλ ν λ¦¬λ‘ μ΄λ
cd examples/fastmcp_basic
# μλ² μ€ν
python server.py- VS Code μ΄κΈ°: νλ‘μ νΈ λ£¨νΈμμ
code . - MCP μλ² νμΈ:
Ctrl+Shift+PβMCP: Show Installed Servers - Chat μ΄κΈ°:
Ctrl+Cmd+I(Mac) /Ctrl+Alt+I(Windows) - Agent Mode μ ν: Chat μ°½μμ Agent mode νμ±ν
- λꡬ μ¬μ©: μμ°μ΄λ‘ λꡬ μ¬μ© κ°λ₯
VS Code Chatμμ λ€μκ³Ό κ°μ΄ μ¬μ©ν μ μμ΅λλ€:
# κ³μ°νκΈ°
10κ³Ό 5λ₯Ό λν΄μ£ΌμΈμ
# λ μ¨ μ‘°ν
μμΈμ λ μ¨λ₯Ό μλ €μ£ΌμΈμ
# νμΌ μ½κΈ°
README.md νμΌμ μ½μ΄μ£ΌμΈμ
# ν
μ€νΈ μ²λ¦¬
"μλ
νμΈμ"λ₯Ό λλ¬Έμλ‘ λ³νν΄μ£ΌμΈμ
# λμλ§ λ³΄κΈ°
μ¬μ© κ°λ₯ν λꡬλ€μ 보μ¬μ£ΌμΈμ
uv pip install -e ".[dev]"- pytest: ν μ€νΈ νλ μμν¬
- black: μ½λ ν¬λ§€ν°
- flake8: λ¦°ν°
- mypy: νμ 체컀
νμ¬ νλ‘μ νΈμ μ€μ λ MCP μλ²λ€:
- fastmcp_basic: μ체 μ μ FastMCP μμ μλ²
- github: GitHub API μ κ·Ό
- fileSystem: νμΌ μμ€ν μ κ·Ό
- perplexity: AI κ²μ (API ν€ νμ)
- fetch: HTTP μμ²
- brave: Brave κ²μ (API ν€ νμ)
- memory: λ©λͺ¨λ¦¬ κ΄λ¦¬
- MCP κΈ°λ³Έ κ°λ : MCP 곡μ λ¬Έμ μ½κΈ°
- FastMCP μ€μ΅:
examples/fastmcp_basic/ν΄λμ μ½λ λΆμ - VS Code μ°λ: Agent Modeμμ λꡬ μ¬μ©ν΄λ³΄κΈ°
- 컀μ€ν λꡬ κ°λ°: μλ‘μ΄ λꡬ μΆκ°ν΄λ³΄κΈ°
- νμΌ μ κ·Ό μ ν: νμ©λ λλ ν 리λ‘λ§ μ κ·Ό κ°λ₯
- μ λ ₯ κ²μ¦: λͺ¨λ μ¬μ©μ μ λ ₯μ λν κ²μ¦
- μλ¬ μ²λ¦¬: μμ ν μλ¬ μ²λ¦¬ λ° λ‘κΉ
- λ‘κΉ : λͺ¨λ νλ μμΈ κΈ°λ‘
-
μλ²κ° μμλμ§ μμ
# Python λ²μ νμΈ (3.8+ νμ) python --version # FastMCP μ€μΉ νμΈ pip list | grep fastmcp
-
VS Codeμμ λκ΅¬κ° λ³΄μ΄μ§ μμ
- MCP extension νμ±ν νμΈ
.vscode/mcp.jsonνμΌ νμΈ- VS Code μ¬μμ
-
νμΌ μ½κΈ° κΆν μ€λ₯
- νμΌ κ²½λ‘κ° νμ©λ λλ ν 리 λ΄μ μλμ§ νμΈ
- νμΌ κΆν νμΈ
# μλ² λ‘κ·Έ μ€μκ° νμΈ
tail -f examples/fastmcp_basic/server.log
# μλ¬ λ‘κ·Έλ§ νμΈ
grep ERROR examples/fastmcp_basic/server.log- Fork μ΄ λ¦¬ν¬μ§ν 리
- Feature branch μμ±:
git checkout -b feature/μκΈ°λ₯ - 컀λ°:
git commit -am 'μ κΈ°λ₯ μΆκ°' - Push:
git push origin feature/μκΈ°λ₯ - Pull Request μμ±
μ΄ νλ‘μ νΈλ νμ΅ λͺ©μ μΌλ‘ μ 곡λ©λλ€.
- GitHub Issues: λ²κ·Έ 리ν¬νΈ λ° κΈ°λ₯ μμ²
- GitHub Discussions: μ§λ¬Έ λ° ν λ‘
Happy Learning MCP! π