Skip to main content
Glama
suspicious-cow

Model Context Protocol (MCP) Server

Python-Implementierung des Model Context Protocol (MCP)

Dieses Projekt implementiert einen funktionierenden Model Context Protocol (MCP)-Server und -Client in Python gemäß der anthropischen MCP-Spezifikation. Es demonstriert die wichtigsten Muster des MCP-Protokolls anhand eines einfachen, interaktiven Beispiels.

Was ist MCP?

Das Model Context Protocol (MCP) ist ein offener Standard auf Basis von JSON-RPC 2.0 zur Verbindung von KI-Modellen mit externen Datenquellen und Tools. Es definiert eine Client-Server-Architektur, in der eine KI-Anwendung mit einem oder mehreren MCP-Servern kommuniziert. Jeder Server bietet folgende Funktionen:

  • Tools : Ausführbare Funktionen, die Aktionen ausführen

  • Ressourcen : Datenquellen, die Informationen bereitstellen

  • Eingabeaufforderungen : Vordefinierte Vorlagen oder Workflows

MCP standardisiert die Art und Weise, wie diese Funktionen erkannt und aufgerufen werden, und dient als „USB-C für KI“, das Modellen eine strukturierte Interaktion mit externen Systemen ermöglicht.

Related MCP server: simple_mcp

Projektstruktur

  • server/ : MCP-Serverimplementierung

    • server.py : WebSocket-Server, der MCP-Anfragen verarbeitet und Beispieltools/-ressourcen bereitstellt

  • client/ : MCP-Client-Implementierung

    • client.py : Demo-Client, der eine Verbindung zum Server herstellt und alle MCP-Funktionen ausübt

Demonstrierte Funktionen

Diese Implementierung zeigt den Kernablauf des MCP-Protokolls:

  1. Fähigkeitsaushandlung : Client-Server-Handshake über initialize

  2. Capability Discovery : Auflistung der verfügbaren Tools und Ressourcen

  3. Toolaufruf : Aufruf des Tools add_numbers mit Parametern

  4. Ressourcenzugriff : Lesen von Textinhalten aus einer Ressource

Aufstellen

  1. Erstellen Sie eine virtuelle Umgebung:

    python3 -m venv .venv
    source .venv/bin/activate
  2. Installieren Sie Abhängigkeiten:

    pip install -r requirements.txt

Verwendung

  1. Starten Sie den MCP-Server (in einem Terminal):

    python server/server.py
  2. Führen Sie den MCP-Client aus (in einem anderen Terminal):

    python client/client.py

Der Client stellt eine Verbindung zum Server her, führt den MCP-Handshake durch, erkennt Funktionen und demonstriert das Aufrufen von Tools und den Zugriff auf Ressourcen mit formatierter Ausgabe.

Wie es funktioniert

MCP-Server

Der Server:

  • Akzeptiert WebSocket-Verbindungen

  • Reagiert auf JSON-RPC-Anfragen gemäß der MCP-Spezifikation

  • Stellt ein Beispieltool bereit ( add_numbers )

  • Stellt eine Beispielressource bereit ( example.txt )

  • Unterstützt den MCP-Handshake und die Fähigkeitserkennung

MCP-Client

Der Kunde:

  • Verbindet sich mit dem Server über WebSocket

  • Führt den MCP-Handshake aus

  • Entdeckt verfügbare Tools und Ressourcen

  • Demonstriert den Aufruf eines Tools und das Lesen einer Ressource

  • Präsentiert die Ergebnisse in einer formatierten Anzeige

Protokolldetails

MCP implementiert diese Schlüsselmethoden:

Verfahren

Beschreibung

initialize

Handshake zur Festlegung der Fähigkeiten

tools/list

Liste der verfügbaren Tools

tools/call

Aufrufen eines Tools mit Argumenten

resources/list

Auflisten der verfügbaren Ressourcen

resources/read

Ressourceninhalt lesen

prompts/list

Liste der verfügbaren Eingabeaufforderungen

Erweiterung des Projekts

Sie können diese Implementierung erweitern durch:

  • Hinzufügen weiterer Tools mit unterschiedlichen Funktionen

  • Hinzufügen dynamischer Ressourcen, die sich bei jedem Lesevorgang ändern

  • Implementieren von Eingabevorlagen für geführte Interaktionen

  • Erstellen interaktiverer Clientanwendungen

Verweise

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    An MCP server implementation that standardizes how AI applications access tools and context, providing a central hub that manages tool discovery, execution, and context management with a simplified configuration system.
    13
    -
  • F
    license
    Not graded
    quality
    F
    maintenance
    A basic MCP server implementation using Node.js and TypeScript that bridges AI models with external tools and data sources via JSON-RPC.
    2
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    A demo MCP server that connects an AI to external systems by exposing Python functions as tools and data as resources, using the stdio transport.
    -