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.
Projektstruktur
server/
: MCP-Serverimplementierungserver.py
: WebSocket-Server, der MCP-Anfragen verarbeitet und Beispieltools/-ressourcen bereitstellt
client/
: MCP-Client-Implementierungclient.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:
- Fähigkeitsaushandlung : Client-Server-Handshake über
initialize
- Capability Discovery : Auflistung der verfügbaren Tools und Ressourcen
- Toolaufruf : Aufruf des Tools
add_numbers
mit Parametern - Ressourcenzugriff : Lesen von Textinhalten aus einer Ressource
Aufstellen
- Erstellen Sie eine virtuelle Umgebung:
- Installieren Sie Abhängigkeiten:
Verwendung
- Starten Sie den MCP-Server (in einem Terminal):
- Führen Sie den MCP-Client aus (in einem anderen Terminal):
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
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Eine Python-Implementierung des MCP-Servers, die es KI-Modellen ermöglicht, über ein standardisiertes Protokoll eine Verbindung mit externen Tools und Datenquellen herzustellen und den Toolaufruf und Ressourcenzugriff über JSON-RPC zu unterstützen.
Related MCP Servers
- -securityAlicense-qualityA Python-based MCP server that integrates OpenAPI-described REST APIs into MCP workflows, enabling dynamic exposure of API endpoints as MCP tools.Last updated -2109PythonMIT License
- -securityAlicense-qualityA streamlined foundation for building Model Context Protocol servers in Python, designed to make AI-assisted development of MCP tools easier and more efficient.Last updated -15PythonMIT License
- -securityFlicense-qualityA Python implementation of the Model Context Protocol (MCP) that connects client applications with AI models, primarily Anthropic's models, with setup instructions for local development and deployment.Last updated -Python
- -securityAlicense-qualityA dynamic MCP server that automatically discovers Python files in a directory and exposes them as tools to any MCP-compatible AI client, allowing users to easily create and deploy custom AI tools.Last updated -PythonMIT License