Wyjaśnienie Model Context Protocol
Przestań pisać w kółko ten sam kod integracyjny.
Jeśli łączysz LLM z bazą danych lub API, często musisz pisać dedykowany kod pośredniczący (glue code) dla każdego nowego modelu. Tworzy to chaos. Kończysz z zarządzaniem wieloma połączeniami dla wielu narzędzi.
Model Context Protocol (MCP) rozwiązuje ten problem. Działa jak port USB-C dla AI. Budujesz narzędzie raz, a każdy model może go używać.
Architektura składa się z trzech części:
• Host: Aplikacja, której używasz, np. Claude Code lub IDE. • Client: Konektor wewnątrz hosta. • Server: Program, który budujesz, aby udostępnić dane lub narzędzia.
Możesz zbudować serwer MCP, korzystając z trzech głównych prymitywów:
- Tools: Funkcje, które model wywołuje, aby wykonać pracę, np. wysłanie e-maila.
- Resources: Dane tylko do odczytu, które aplikacja pobiera, np. plik logów.
- Prompts: Wielokrotnego użytku szablony do konkretnych zadań.
Oto jak zbudować podstawowy serwer w Pythonie przy użyciu SDK FastMCP:
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("demo-tools")
@mcp.tool()
def word_count(text: str) -> int:
"""Count words in a text."""
return len(text.split())
@mcp.resource("notes://team")
def team_notes() -> str:
"""Expose team notes."""
return "Release freeze starts Friday."
@mcp.prompt()
def code_review(language: str, code: str) -> str:
"""Template for code reviews."""
return f"Review this {language} code: {code}"
if __name__ == "__main__":
mcp.run()
Ten kod zajmuje się za Ciebie złożoną komunikacją. Twoje docstringi stają się instrukcjami dla modelu.
Trzy wskazówki dla środowiska produkcyjnego:
- Bezpieczeństwo: Zawsze proś użytkownika o zatwierdzenie przed uruchomieniem narzędzia, które zmienia dane.
- Kontekst: Trzymaj opisy narzędzi krótkie. Długie opisy marnują tokeny.
- Błędy: Zwracaj jasne komunikaty. Model potrafi naprawić błąd „User not found”, ale nie naprawi surowego błędu krytycznego kodu (crash).
Przestań budować dedykowane konektory. Zbuduj serwer MCP raz i pozwól każdemu modelowi go używać.
Source: https://dev.to/galian/model-context-protocol-explained-build-your-first-mcp-server-in-python-ian