Model Context Protocol (MCP) Python Implementace

January 29, 2026 · View on GitHub

Tento repozitář obsahuje Python implementaci Model Context Protocolu (MCP), která ukazuje, jak vytvořit serverovou i klientskou aplikaci komunikující pomocí standardu MCP.

Přehled

Implementace MCP se skládá ze dvou hlavních částí:

  1. MCP Server (server.py) – Server, který zpřístupňuje:

    • Nástroje: Funkce, které lze volat vzdáleně
    • Zdroje: Data, která lze získat
    • Výzvy: Šablony pro generování výzev pro jazykové modely
  2. MCP Klient (client.py) – Klientská aplikace, která se připojuje k serveru a využívá jeho funkce

Funkce

Tato implementace demonstruje několik klíčových funkcí MCP:

Nástroje

  • completion – Generuje textová dokončení z AI modelů (simulováno)
  • add – Jednoduchá kalkulačka, která sčítá dvě čísla

Zdroje

  • models:// – Vrací informace o dostupných AI modelech
  • greeting://{name} – Vrací personalizovaný pozdrav pro zadané jméno

Výzvy

  • review_code – Generuje výzvu pro kontrolu kódu

Instalace

Pro použití této MCP implementace nainstalujte požadované balíčky:

pip install mcp-server mcp-client

Spuštění serveru a klienta

Spuštění serveru

Spusťte server v jednom terminálovém okně:

python server.py

Server lze také spustit v režimu vývoje pomocí MCP CLI:

mcp dev server.py

Nebo jej nainstalovat do Claude Desktop (pokud je k dispozici):

mcp install server.py

Spuštění klienta

Spusťte klienta v jiném terminálovém okně:

python client.py

Tím se připojíte k serveru a vyzkoušíte všechny dostupné funkce.

Použití klienta

Klient (client.py) demonstruje všechny schopnosti MCP:

python client.py

Tím se připojíte k serveru a vyzkoušíte všechny funkce včetně nástrojů, zdrojů a výzev. Výstup zobrazí:

  1. Výsledek kalkulačky (5 + 7 = 12)
  2. Odpověď nástroje completion na otázku „Jaký je smysl života?“
  3. Seznam dostupných AI modelů
  4. Personalizovaný pozdrav pro „MCP Explorer“
  5. Šablonu výzvy pro kontrolu kódu

Detaily implementace

Server je implementován pomocí API FastMCP, které poskytuje vysoce úrovňové abstrakce pro definování MCP služeb. Zde je zjednodušený příklad definice nástrojů:

@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 + b

Klient používá MCP klientskou knihovnu pro připojení a volání serveru:

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})

Další informace

Pro více informací o MCP navštivte: https://modelcontextprotocol.io/

Prohlášení o vyloučení odpovědnosti:
Tento dokument byl přeložen pomocí AI překladatelské služby Co-op Translator. I když usilujeme o přesnost, mějte prosím na paměti, že automatické překlady mohou obsahovat chyby nebo nepřesnosti. Původní dokument v jeho mateřském jazyce by měl být považován za autoritativní zdroj. Pro důležité informace se doporučuje profesionální lidský překlad. Nejsme odpovědní za jakékoliv nedorozumění nebo nesprávné výklady vyplývající z použití tohoto překladu.