MCP-Server mit Docker
Dieses Projekt zeigt, wie das Model Control Protocol (MCP) in die API von OpenAI integriert wird, sodass OpenAI auf Tools zugreifen und diese verwenden kann, die von einem in Docker ausgeführten MCP-Server bereitgestellt werden.
Voraussetzungen
- Docker auf Ihrem System installiert
- Git (zum Klonen des Repository)
Projektstruktur
server.py
: Die MCP-Serverimplementierung mit einem Toolclient.py
: Ein Client, der sich mit dem Server verbindet und den Agenten aufruftDockerfile
: Anleitung zum Erstellen des Docker-Imagesrequirements.txt
: Python-Abhängigkeiten für das Projekt
Erklärung des Datenflusses
- Benutzerabfrage : Der Benutzer sendet eine Abfrage an das System (z. B. „Wie lauten die Urlaubsrichtlinien unseres Unternehmens?“).
- OpenAI API : OpenAI empfängt die Abfrage und die verfügbaren Tools vom MCP-Server
- Werkzeugauswahl : OpenAI entscheidet anhand der Abfrage, welche Werkzeuge verwendet werden sollen
- MCP-Client : Der Client empfängt die Tool-Aufrufanforderung von OpenAI und leitet sie an den MCP-Server weiter
- MCP-Server : Der Server führt das angeforderte Tool aus (z. B. Abrufen von Wissensdatenbankdaten).
- Antwortfluss : Das Tool-Ergebnis fließt über den MCP-Client zurück an OpenAI
- Endgültige Antwort : OpenAI generiert eine endgültige Antwort, die die Tooldaten enthält
Ausführen mit Docker
Schritt 1: Erstellen Sie das Docker-Image
Schritt 2: Ausführen des Docker-Containers
Dadurch wird der MCP-Server in einem Docker-Container gestartet und auf Port 8050 verfügbar gemacht.
Ausführen des Clients
Sobald der Server läuft, können Sie den Client in einem separaten Terminal ausführen:
Der Client stellt eine Verbindung zum Server her, listet die verfügbaren Tools auf und ruft den Agenten an, um die Abfrage zu beantworten.
Fehlerbehebung
Wenn Verbindungsprobleme auftreten:
- Überprüfen Sie, ob der Server läuft : Stellen Sie sicher, dass der Docker-Container mit
docker ps
läuft. - Portzuordnung überprüfen : Stellen Sie sicher, dass der Port mit
docker ps
richtig zugeordnet ist, oder überprüfen Sie die Ausgabe des Befehlsdocker run
. - Serverprotokolle prüfen : Zeigen Sie die Serverprotokolle mit
docker logs <container_id>
an, um zu sehen, ob Fehler vorliegen. - Host-Bindung : Der Server ist so konfiguriert, dass er an
0.0.0.0
statt an127.0.0.1
gebunden ist, um den Zugriff von außerhalb des Containers zu ermöglichen. Sollten weiterhin Probleme auftreten, überprüfen Sie möglicherweise Ihre Firewall-Einstellungen. - Netzwerkprobleme : Wenn Sie Docker auf einem Remotecomputer ausführen, stellen Sie sicher, dass der Port von Ihrem Clientcomputer aus zugänglich ist.
Hinweise
- Der Server ist für die Verwendung des SSE-Transports (Server-Sent Events) konfiguriert und lauscht auf Port 8050.
- Der Client stellt eine Verbindung zum Server unter
http://localhost:8050/sse
. - Stellen Sie sicher, dass der Server läuft, bevor Sie den Client starten.
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Ein Projekt, das das Model Control Protocol mit der API von OpenAI integriert und OpenAI so den Zugriff auf und die Nutzung von Tools ermöglicht, die von einem Docker-MCP-Server bereitgestellt werden.
Related MCP Servers
- -securityAlicense-qualityA Model Context Protocol (MCP) server that lets you seamlessly use OpenAI's models right from Claude.Last updated -12428JavaScriptMIT License
- -securityAlicense-qualityA simple MCP server for interacting with OpenAI assistants. This server allows other tools (like Claude Desktop) to create and interact with OpenAI assistants through the Model Context Protocol.Last updated -26PythonMIT License
- AsecurityAlicenseAqualityEnables integration with OpenAI models through the MCP protocol, supporting concise and detailed responses for use with Claude Desktop.Last updated -11PythonMIT License
- -securityFlicense-qualityA Model Context Protocol server implementation that enables connection between OpenAI APIs and MCP clients for coding assistance with features like CLI interaction, web API integration, and tool-based architecture.Last updated -28Python