Skip to content

corazzon/letslearnmcppy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Let's Learn MCP πŸš€

MCP(Model Context Protocol) ν•™μŠ΅μ„ μœ„ν•œ ν•œκ΅­μ–΄ ν”„λ‘œμ νŠΈμž…λ‹ˆλ‹€.

πŸ“‹ ν”„λ‘œμ νŠΈ κ°œμš”

이 ν”„λ‘œμ νŠΈλŠ” MCP(Model Context Protocol)λ₯Ό 배우고 μ‹€μŠ΅ν•˜κΈ° μœ„ν•œ 쒅합적인 ν•™μŠ΅ λ¦¬μ†ŒμŠ€λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€. FastMCP ν”„λ ˆμž„μ›Œν¬λ₯Ό μ‚¬μš©ν•œ μ‹€μ œ λ™μž‘ν•˜λŠ” μ„œλ²„ μ˜ˆμ œμ™€ VS Code μ—°λ™κΉŒμ§€ ν¬ν•¨ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

🎯 μ£Όμš” κΈ°λŠ₯

βœ… FastMCP μ„œλ²„ 예제

  • 계산기 도ꡬ: 사칙연산 (λ§μ…ˆ, λΊ„μ…ˆ, κ³±μ…ˆ, λ‚˜λˆ—μ…ˆ)
  • 날씨 쑰회: 4개 λ„μ‹œ λͺ© 데이터 (μ„œμšΈ, 도쿄, λ‰΄μš•, 런던)
  • 파일 읽기: μ•ˆμ „ν•œ 파일 μ ‘κ·Ό 및 디렉토리 λͺ©λ‘
  • ν…μŠ€νŠΈ 처리: λŒ€μ†Œλ¬Έμž λ³€ν™˜, ν…μŠ€νŠΈ λ’€μ§‘κΈ°, 단어 수 μ„ΈκΈ°

βœ… VS Code 톡합

  • 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. ν™˜κ²½ μ„€μ •

# 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 .

2. FastMCP μ„œλ²„ μ‹€ν–‰

# FastMCP μ„œλ²„ λ””λ ‰ν† λ¦¬λ‘œ 이동
cd examples/fastmcp_basic

# μ„œλ²„ μ‹€ν–‰
python server.py

3. VS Codeμ—μ„œ μ‚¬μš©

  1. VS Code μ—΄κΈ°: ν”„λ‘œμ νŠΈ λ£¨νŠΈμ—μ„œ code .
  2. MCP μ„œλ²„ 확인: Ctrl+Shift+P β†’ MCP: Show Installed Servers
  3. Chat μ—΄κΈ°: Ctrl+Cmd+I (Mac) / Ctrl+Alt+I (Windows)
  4. Agent Mode 선택: Chat μ°½μ—μ„œ Agent mode ν™œμ„±ν™”
  5. 도ꡬ μ‚¬μš©: μžμ—°μ–΄λ‘œ 도ꡬ μ‚¬μš© κ°€λŠ₯

πŸ’¬ μ‚¬μš© 예제

VS Code Chatμ—μ„œ λ‹€μŒκ³Ό 같이 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€:

# κ³„μ‚°ν•˜κΈ°
10κ³Ό 5λ₯Ό λ”ν•΄μ£Όμ„Έμš”

# 날씨 쑰회
μ„œμšΈμ˜ 날씨λ₯Ό μ•Œλ €μ£Όμ„Έμš”

# 파일 읽기
README.md νŒŒμΌμ„ μ½μ–΄μ£Όμ„Έμš”

# ν…μŠ€νŠΈ 처리
"μ•ˆλ…•ν•˜μ„Έμš”"λ₯Ό λŒ€λ¬Έμžλ‘œ λ³€ν™˜ν•΄μ£Όμ„Έμš”

# 도움말 보기
μ‚¬μš© κ°€λŠ₯ν•œ 도ꡬ듀을 λ³΄μ—¬μ£Όμ„Έμš”

πŸ› οΈ 개발 ν™˜κ²½ μ„€μ •

개발 μ˜μ‘΄μ„± μ„€μΉ˜

uv pip install -e ".[dev]"

ν¬ν•¨λœ 개발 도ꡬ

  • pytest: ν…ŒμŠ€νŠΈ ν”„λ ˆμž„μ›Œν¬
  • black: μ½”λ“œ 포맀터
  • flake8: λ¦°ν„°
  • mypy: νƒ€μž… 체컀

πŸ”§ MCP μ„œλ²„ ꡬ성

ν˜„μž¬ ν”„λ‘œμ νŠΈμ— μ„€μ •λœ MCP μ„œλ²„λ“€:

πŸ”΅ ν™œμ„±ν™”λœ μ„œλ²„

  • fastmcp_basic: 자체 μ œμž‘ FastMCP 예제 μ„œλ²„
  • github: GitHub API μ ‘κ·Ό
  • fileSystem: 파일 μ‹œμŠ€ν…œ μ ‘κ·Ό

🟑 μΆ”κ°€ μ„€μ • κ°€λŠ₯ν•œ μ„œλ²„

  • perplexity: AI 검색 (API ν‚€ ν•„μš”)
  • fetch: HTTP μš”μ²­
  • brave: Brave 검색 (API ν‚€ ν•„μš”)
  • memory: λ©”λͺ¨λ¦¬ 관리

πŸ“š ν•™μŠ΅ λ¦¬μ†ŒμŠ€

πŸŽ“ 단계별 ν•™μŠ΅

  1. MCP κΈ°λ³Έ κ°œλ…: MCP 곡식 λ¬Έμ„œ 읽기
  2. FastMCP μ‹€μŠ΅: examples/fastmcp_basic/ ν΄λ”μ˜ μ½”λ“œ 뢄석
  3. VS Code 연동: Agent Modeμ—μ„œ 도ꡬ μ‚¬μš©ν•΄λ³΄κΈ°
  4. μ»€μŠ€ν…€ 도ꡬ 개발: μƒˆλ‘œμš΄ 도ꡬ 좔가해보기

πŸ“– μ°Έκ³  자료

πŸ”’ λ³΄μ•ˆ κΈ°λŠ₯

  • 파일 μ ‘κ·Ό μ œν•œ: ν—ˆμš©λœ λ””λ ‰ν† λ¦¬λ‘œλ§Œ μ ‘κ·Ό κ°€λŠ₯
  • μž…λ ₯ 검증: λͺ¨λ“  μ‚¬μš©μž μž…λ ₯에 λŒ€ν•œ 검증
  • μ—λŸ¬ 처리: μ•ˆμ „ν•œ μ—λŸ¬ 처리 및 λ‘œκΉ…
  • λ‘œκΉ…: λͺ¨λ“  ν™œλ™ 상세 기둝

πŸ› 문제 ν•΄κ²°

자주 λ°œμƒν•˜λŠ” 문제

  1. μ„œλ²„κ°€ μ‹œμž‘λ˜μ§€ μ•ŠμŒ

    # Python 버전 확인 (3.8+ ν•„μš”)
    python --version
    
    # FastMCP μ„€μΉ˜ 확인
    pip list | grep fastmcp
  2. VS Codeμ—μ„œ 도ꡬ가 보이지 μ•ŠμŒ

    • MCP extension ν™œμ„±ν™” 확인
    • .vscode/mcp.json 파일 확인
    • VS Code μž¬μ‹œμž‘
  3. 파일 읽기 κΆŒν•œ 였λ₯˜

    • 파일 κ²½λ‘œκ°€ ν—ˆμš©λœ 디렉토리 내에 μžˆλŠ”μ§€ 확인
    • 파일 κΆŒν•œ 확인

둜그 확인

# μ„œλ²„ 둜그 μ‹€μ‹œκ°„ 확인
tail -f examples/fastmcp_basic/server.log

# μ—λŸ¬ 둜그만 확인
grep ERROR examples/fastmcp_basic/server.log

🀝 κΈ°μ—¬ν•˜κΈ°

  1. Fork 이 리포지토리
  2. Feature branch 생성: git checkout -b feature/μƒˆκΈ°λŠ₯
  3. 컀밋: git commit -am 'μƒˆ κΈ°λŠ₯ μΆ”κ°€'
  4. Push: git push origin feature/μƒˆκΈ°λŠ₯
  5. Pull Request 생성

πŸ“„ λΌμ΄μ„ μŠ€

이 ν”„λ‘œμ νŠΈλŠ” ν•™μŠ΅ λͺ©μ μœΌλ‘œ μ œκ³΅λ©λ‹ˆλ‹€.

πŸ“ž 지원

  • GitHub Issues: 버그 리포트 및 κΈ°λŠ₯ μš”μ²­
  • GitHub Discussions: 질문 및 ν† λ‘ 

Happy Learning MCP! πŸŽ‰

About

Let's Learn MCP: Python with Visual Studio Code

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages