Tento repozitár obsahuje Python implementáciu Model Context Protocol (MCP), ktorá ukazuje, ako vytvoriť serverovú aj klientsku aplikáciu komunikujúcu pomocou štandardu MCP.
Implementácia MCP pozostáva z dvoch hlavných častí:
-
MCP Server (
server.py) – Server, ktorý poskytuje:- Nástroje: Funkcie, ktoré je možné volať na diaľku
- Zdroje: Dáta, ktoré je možné získať
- Výzvy (Prompts): Šablóny na generovanie výziev pre jazykové modely
-
MCP Klient (
client.py) – Klientská aplikácia, ktorá sa pripája k serveru a využíva jeho funkcie
Táto implementácia demonštruje niekoľko kľúčových vlastností MCP:
completion– Generuje textové dokončenia z AI modelov (simulované)add– Jednoduchá kalkulačka, ktorá sčíta dve čísla
models://– Vracia informácie o dostupných AI modelochgreeting://{name}– Vracia personalizované pozdravy pre zadané meno
review_code– Generuje výzvu na kontrolu kódu
Na použitie tejto MCP implementácie nainštalujte potrebné balíky:
pip install mcp-server mcp-clientServer spustite v jednom terminálovom okne:
python server.pyServer je možné spustiť aj v režime vývoja pomocou MCP CLI:
mcp dev server.pyAlebo ho nainštalovať do Claude Desktop (ak je dostupný):
mcp install server.pyKlienta spustite v inom terminálovom okne:
python client.pyTým sa klient pripojí k serveru a predvedie všetky dostupné funkcie.
Klient (client.py) demonštruje všetky schopnosti MCP:
python client.pyTým sa klient pripojí k serveru a využije všetky funkcie vrátane nástrojov, zdrojov a výziev. Výstup zobrazí:
- Výsledok kalkulačky (5 + 7 = 12)
- Odpoveď nástroja completion na otázku „What is the meaning of life?“
- Zoznam dostupných AI modelov
- Personalizovaný pozdrav pre „MCP Explorer“
- Šablónu výzvy na kontrolu kódu
Server je implementovaný pomocou API FastMCP, ktoré poskytuje vysokú úroveň abstrakcie pre definovanie MCP služieb. Tu je zjednodušený príklad definície nástrojov:
@mcp.tool()
def add(a: int, b: int) -> int:
"""Add two numbers together
Args:
a: First number
b: Second number
Returns:
The sum of the two numbers
"""
logger.info(f"Adding {a} and {b}")
return a + bKlient používa MCP klientskú knižnicu na pripojenie a volanie servera:
async with stdio_client(server_params) as (reader, writer):
async with ClientSession(reader, writer) as session:
await session.initialize()
result = await session.call_tool("add", arguments={"a": 5, "b": 7})Pre viac informácií o MCP navštívte: https://modelcontextprotocol.io/
Vyhlásenie o zodpovednosti:
Tento dokument bol preložený pomocou AI prekladateľskej služby Co-op Translator. Hoci sa snažíme o presnosť, prosím, majte na pamäti, že automatizované preklady môžu obsahovať chyby alebo nepresnosti. Originálny dokument v jeho pôvodnom jazyku by mal byť považovaný za autoritatívny zdroj. Pre kritické informácie sa odporúča profesionálny ľudský preklad. Nie sme zodpovední za akékoľvek nedorozumenia alebo nesprávne interpretácie vyplývajúce z použitia tohto prekladu.