Budowanie serwera Python MCP od zera
Model Context Protocol (MCP) stał się obecnie standardem branżowym. Osiągnął 97 milionów miesięcznych pobrań SDK. Każde główne narzędzie AI go używa. Większość poradników pokazuje jedynie, jak zainstalować istniejące serwery. Ten przewodnik pokaże Ci, jak zbudować własny, korzystając z Pythona i GitHub API.
Co to jest MCP? To protokół, który pozwala klientom AI wywoływać zewnętrzne usługi. Twój serwer obsługuje żądania z narzędzi takich jak Claude czy Cursor.
Trzy kluczowe elementy MCP:
- Narzędzia (Tools): Funkcje, które AI wywołuje, aby podjąć działanie lub pobrać dane.
- Zasoby (Resources): Punkty końcowe danych tylko do odczytu, takie jak pliki czy rekordy w bazie danych.
- Prompty (Prompts): Możliwe do ponownego użycia szablony instrukcji zapewniające spójność przepływów pracy.
Konfiguracja projektu Utwórz katalog i zainstaluj niezbędne biblioteki za pomocą uv:
mkdir github-mcp-server
cd github-mcp-server
uv init .
uv add "mcp[cli]" httpx
Budowanie serwera
Użyj FastMCP, aby wykonać najtrudniejszą pracę. Dobry serwer MCP wykorzystuje trzy konkretne pliki: server.py, pyproject.toml oraz opcjonalny plik .env na Twój token GitHub.
Profesjonalne wskazówki dotyczące rozwoju:
- Używaj modeli Pydantic do zwracania danych przez narzędzia. Dzięki temu AI otrzyma ustrukturyzowane dane zamiast nieuporządkowanych ciągów znaków.
- Pisz jasne docstringi. AI czyta je, aby zdecydować, kiedy użyć Twojego narzędzia.
- Ograniczaj (clamp) dane wejściowe typu numerycznego. Modele AI często przesyłają nieoczekiwane liczby, takie jak 0 lub 100.
- Obsługuj wyjątki. Awaria serwera może przerwać całe połączenie.
Testowanie i wdrożenie
Nie czekaj na testy w Claude. Najpierw użyj MCP Inspector. Uruchom:
uv run mcp dev server.py
To otworzy lokalny interfejs pod adresem http://localhost:5173. W jednym miejscu możesz przetestować narzędzia, zasoby i prompty.
Łączenie z Claude Desktop:
Zaktualizuj swój plik konfiguracyjny, aby uwzględnić serwer. Użyj pełnej ścieżki do pliku server.py. Zawsze używaj uv run zamiast samej komendy python, aby uniknąć błędów środowiska.
Łączenie z Claude Code:
Użyj komendy CLI:
claude mcp add github-tools -- uv run python /path/to/server.py
Budowanie własnych serwerów MCP pozwala wprowadzić dane na żywo do Twoich przepływów pracy AI.
Source: https://dev.to/moksh/building-a-python-mcp-server-from-scratch-a-practical-github-api-guide-397k
Optional learning community: https://t.me/GyaanSetuAi