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
initializeCapability Discovery : Auflistung der verfügbaren Tools und Ressourcen
Toolaufruf : Aufruf des Tools
add_numbersmit ParameternRessourcenzugriff : Lesen von Textinhalten aus einer Ressource
Aufstellen
Erstellen Sie eine virtuelle Umgebung:
python3 -m venv .venv source .venv/bin/activateInstallieren Sie Abhängigkeiten:
pip install -r requirements.txt
Verwendung
Starten Sie den MCP-Server (in einem Terminal):
python server/server.pyFü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 |
| Handshake zur Festlegung der Fähigkeiten |
| Liste der verfügbaren Tools |
| Aufrufen eines Tools mit Argumenten |
| Auflisten der verfügbaren Ressourcen |
| Ressourceninhalt lesen |
| 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
- -security-license-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 -122MIT License
- -security-license-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 -13MIT License
- Asecurity-licenseAqualityA 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 -4
- -security-license-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 -MIT License