Skip to content

Latest commit

 

History

History
121 lines (81 loc) · 3.85 KB

File metadata and controls

121 lines (81 loc) · 3.85 KB

Model Context Protocol (MCP) Python-implementatie

Deze repository bevat een Python-implementatie van het Model Context Protocol (MCP), waarin wordt getoond hoe je zowel een server- als een clientapplicatie kunt maken die communiceren via de MCP-standaard.

Overzicht

De MCP-implementatie bestaat uit twee hoofdcomponenten:

  1. MCP Server (server.py) - Een server die het volgende aanbiedt:

    • Tools: Functies die op afstand kunnen worden aangeroepen
    • Resources: Gegevens die opgevraagd kunnen worden
    • Prompts: Sjablonen voor het genereren van prompts voor taalmodellen
  2. MCP Client (client.py) - Een clientapplicatie die verbinding maakt met de server en gebruikmaakt van de aangeboden functionaliteiten

Functionaliteiten

Deze implementatie laat verschillende belangrijke MCP-functionaliteiten zien:

Tools

  • completion - Genereert tekstafwerkingen van AI-modellen (gesimuleerd)
  • add - Eenvoudige rekenmachine die twee getallen optelt

Resources

  • models:// - Geeft informatie over beschikbare AI-modellen
  • greeting://{name} - Geeft een gepersonaliseerde begroeting voor een opgegeven naam

Prompts

  • review_code - Genereert een prompt voor het beoordelen van code

Installatie

Om deze MCP-implementatie te gebruiken, installeer je de benodigde pakketten:

pip install mcp-server mcp-client

Server en Client starten

Server starten

Start de server in een terminalvenster:

python server.py

De server kan ook in ontwikkelmodus worden gestart met de MCP CLI:

mcp dev server.py

Of geïnstalleerd worden in Claude Desktop (indien beschikbaar):

mcp install server.py

Client starten

Start de client in een ander terminalvenster:

python client.py

Dit maakt verbinding met de server en demonstreert alle beschikbare functionaliteiten.

Client gebruik

De client (client.py) laat alle MCP-mogelijkheden zien:

python client.py

Dit maakt verbinding met de server en gebruikt alle functies, inclusief tools, resources en prompts. De output toont:

  1. Resultaat van de rekenmachine-tool (5 + 7 = 12)
  2. Reactie van de completion-tool op "What is the meaning of life?"
  3. Lijst van beschikbare AI-modellen
  4. Gepersonaliseerde begroeting voor "MCP Explorer"
  5. Prompt-sjabloon voor code review

Implementatiedetails

De server is geïmplementeerd met de FastMCP API, die hoog-niveau abstracties biedt voor het definiëren van MCP-diensten. Hier is een vereenvoudigd voorbeeld van hoe tools worden gedefinieerd:

@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

De client gebruikt de MCP clientbibliotheek om verbinding te maken met en aanroepen te doen naar de server:

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

Meer informatie

Voor meer informatie over MCP, bezoek: https://modelcontextprotocol.io/

Disclaimer:
Dit document is vertaald met behulp van de AI-vertalingsdienst Co-op Translator. Hoewel we streven naar nauwkeurigheid, dient u er rekening mee te houden dat geautomatiseerde vertalingen fouten of onnauwkeurigheden kunnen bevatten. Het originele document in de oorspronkelijke taal moet als de gezaghebbende bron worden beschouwd. Voor cruciale informatie wordt professionele menselijke vertaling aanbevolen. Wij zijn niet aansprakelijk voor eventuele misverstanden of verkeerde interpretaties die voortvloeien uit het gebruik van deze vertaling.