Model Context Protocol (MCP)-Server
Eine einfache Serverimplementierung für das Model Context Protocol, die eine einheitliche API für mehrere KI-Modellanbieter bereitstellt.
Merkmale
Einheitliche API für mehrere KI-Anbieter (Anthropic, OpenAI)
Unterstützung für Chat-Vervollständigungen und Legacy-Vervollständigungen
Unterstützung für Tool-Aufrufe
Kontext-/Systemnachrichtenverarbeitung
Umgebungsbasierte Konfiguration
MongoDB-Datenbank für Persistenz und Statusverwaltung
Tool-Ausführungsverlauf und -Analyse
Installation
Das Setup-Skript führt Sie durch die Konfiguration der erforderlichen API-Schlüssel:
ANTHROPIC_API_KEY
– Für Claude-ModelleOPENAI_API_KEY
– Für GPT-Modelle und DALL-E-BildgenerierungSTABILITY_API_KEY
- Für die Erzeugung stabiler DiffusionsbilderGOOGLE_CSE_API_KEY
undGOOGLE_CSE_ID
– Für die WebsuchfunktionBING_SEARCH_API_KEY
– Für die Fallback-Websuche
Sie können die .env
Datei auch manuell bearbeiten, wenn Sie möchten.
MongoDB-Setup
Der MCP-Server verwendet MongoDB zur Datenpersistenz. Sie haben mehrere Möglichkeiten, MongoDB einzurichten:
Option 1: Automatisierte Einrichtung (empfohlen)
Führen Sie das MongoDB-Setup-Skript aus, das Sie durch den Vorgang führt:
Dieses Skript wird:
Überprüfen Sie, ob Docker verfügbar ist
Starten Sie MongoDB mit Docker Compose (falls verfügbar).
Konfigurieren Sie die Verbindung in Ihrer .env-Datei
Überprüfen der MongoDB-Verbindung
Option 2: Manuelles Docker-Setup
Der einfachste Weg, mit MongoDB zu beginnen, ist die Verwendung der enthaltenen Docker Compose-Konfiguration:
MongoDB wird unter mongodb://mcpuser:mcppassword@localhost:27017/mcp-server
verfügbar sein.
Mongo Express (Webadministrator) ist unter http://localhost:8081 verfügbar.
Option 3: Lokale MongoDB-Installation
Wenn Sie MongoDB lieber lokal installieren möchten:
Installieren Sie MongoDB von https://www.mongodb.com/try/download/community
Starten Sie den MongoDB-Dienst
Aktualisieren Sie Ihre
.env
Datei mit:MONGODB_URI=mongodb://localhost:27017/mcp-server
Option 4: MongoDB Atlas (Cloud)
Für den Produktionseinsatz wird MongoDB Atlas empfohlen:
Erstellen Sie ein Konto unter https://www.mongodb.com/cloud/atlas
Erstellen eines neuen Clusters
Richten Sie einen Datenbankbenutzer ein und setzen Sie Ihre IP-Adresse auf die Whitelist
Rufen Sie Ihre Verbindungszeichenfolge ab und aktualisieren Sie Ihre
.env
Datei:MONGODB_URI=mongodb+srv://<username>:<password>@<cluster>.mongodb.net/mcp-server?retryWrites=true&w=majority
Datenbankmigration
So migrieren Sie vorhandene Daten zu MongoDB:
Dieses Skript wird:
Migrieren von Tooldefinitionen zu MongoDB
Migrieren Sie Konfigurationen (wie API-Schlüssel) zu MongoDB
Importieren Sie alle Sicherungsdaten, falls verfügbar
Verwendung
Starten Sie den Server
Der Server wird unter http://localhost:3000 (oder dem Port, den Sie in .env angegeben haben) ausgeführt.
Startoptionen
Standardstart (
npm start
):Überprüft, ob API-Schlüssel konfiguriert sind
Fordert zur Einrichtung auf, wenn keine Schlüssel gefunden werden
Empfohlen für Erstbenutzer
Entwicklungsmodus (
npm run dev
):Verwendet Nodemon zum automatischen Neuladen bei Codeänderungen
Führt weiterhin Umgebungsprüfungen durch
Am besten für die Entwicklung
Schnellstart (
npm run quick-start
):Umgeht alle Umgebungsprüfungen
Startet den Server sofort
Nützlich, wenn Sie wissen, dass Ihre Konfiguration korrekt ist
PM2-Produktionsmodus (
npm run pm2:start:prod
):Führt den Server mit dem PM2-Prozessmanager aus
Automatischer Neustart bei Serverabsturz
Optimiert für Produktionsumgebungen
Umgeht Umgebungsprüfungen
Verwenden des PM2 Process Managers
Der Server kann mit PM2, einem Produktionsprozessmanager für Node.js-Anwendungen, betrieben werden. PM2 bietet Funktionen wie:
Prozessmanagement (Neustart bei Absturz)
Protokollverwaltung
Leistungsüberwachung
Lastenausgleich (für mehrere Instanzen)
PM2-Befehle
Die PM2-Konfiguration ist in ecosystem.config.js
gespeichert. Sie können diese Datei bearbeiten, um Folgendes zu ändern:
Prozessname
Umgebungsvariablen
Speichergrenzen
Bereitstellungskonfiguration
Anzahl der Instanzen (für Lastenausgleich)
API-Endpunkte
POST /mcp/:provider
Stellen Sie Anfragen an KI-Modelle über eine einheitliche API.
URL-Parameter:
provider
: Der zu verwendende KI-Anbieter (anthropic
oderopenai
)
Anforderungstext:
ODER (Legacy-Format):
Antwort: Gibt die Rohantwort von der API des Anbieters zurück.
GET /tools/available
Erhalten Sie eine umfassende Liste aller verfügbaren Tools mit detaillierten Informationen.
Abfrageparameter:
format
– Antwortformat:json
(Standard),yaml
,table
oderhtml
category
– Werkzeuge nach Kategorie filtern (optional)enabled
– Filtern nach aktiviertem Status:true
(Standard) oderfalse
search
– Suche nach Werkzeugen nach Name, Beschreibung oder Tagsprovider
– Tools nach Anbieter filtern (z. B.openai
,google
)limit
– Maximale Anzahl der zurückzugebenden Tools (für die Seitennummerierung)offset
– Offset für die Seitennummerierung (Standard: 0)
Antwort (JSON-Format):
GET /health
Integritätsprüfungsendpunkt, der den Status 200 zurückgibt, wenn der Server läuft.
Datenmanagement
Datenbanksicherungen
Sie können Datenbanksicherungen erstellen und verwalten:
Testen der Datenbankverbindung
So überprüfen Sie Ihr MongoDB-Setup:
Beispielkunden
Befehlszeilenclient
Ein Testclient ist in src/client.js
enthalten. So führen Sie ihn aus:
Webclient
Bei laufendem Server steht unter http://localhost:3000 eine einfache Weboberfläche zur Verfügung. Damit können Sie die API direkt im Browser testen.
Verfügbare Tools
Der MCP-Server bietet einen Endpunkt zur Tool-Erkennung, der es Benutzern und KI-Agenten ermöglicht, alle verfügbaren Tools programmgesteuert aufzulisten:
Tools-Erkennung
GET /tools/available
– Listet alle verfügbaren Tools mit detaillierten Informationen auf.
Unterstützt mehrere Formate: JSON, YAML, HTML und ASCII-Tabellen
Bietet Filterung nach Kategorie, Anbieter und Suchbegriffen
Enthält detaillierte Metadaten und Anwendungsbeispiele für jedes Tool
Anwendungsbeispiel:
Websuchtools
Der Server enthält integrierte Websuch- und -abruftools:
Websuche (
/tools/web/search
)Durchsuchen Sie das Web nach Informationen zu einer bestimmten Abfrage
Parameter:
query
(erforderlich),limit
(optional)Erfordert:
GOOGLE_CSE_API_KEY
undGOOGLE_CSE_ID
UmgebungsvariablenFällt auf
BING_SEARCH_API_KEY
zurück, wenn die Google-Suche fehlschlägt
Webinhalt (
/tools/web/content
)Abrufen und Extrahieren von Inhalten von einer bestimmten URL
Parameter:
url
(erforderlich),useCache
(optional)
Web-Batch (
/tools/web/batch
)Inhalte von mehreren URLs parallel abrufen
Parameter:
urls
(erforderliches Array),useCache
(optional)
Werkzeuge zur Bildgenerierung
Der Server enthält außerdem Tools zur Bildgenerierung, -bearbeitung und -variation:
Bild generieren (
/tools/image/generate
)Generieren Sie ein Bild basierend auf einer Textaufforderung
Parameter:
prompt
(erforderlich): Detaillierte Beschreibung des Bildesprovider
(optional):openai
oderstability
(Standard istopenai
)options
(optional): Anbieterspezifische Optionen
Bild bearbeiten (
/tools/image/edit
)Bearbeiten eines vorhandenen Bilds mit einer Textaufforderung
Parameter:
imagePath
(erforderlich): Pfad zum zu bearbeitenden Bildprompt
(erforderlich): Beschreibung der vorzunehmenden ÄnderungmaskPath
(optional): Pfad zu einem Maskenbild
Bildvariante erstellen (
/tools/image/variation
)Erstellen Sie eine Variation eines vorhandenen Bildes
Parameter:
imagePath
(erforderlich): Pfad zum Bild, von dem Variationen erstellt werden sollen
Hinweis: Um diese Tools zu verwenden, müssen Sie API-Schlüssel in Ihrer
.env
Datei festlegen:
Für OpenAI-Bilder:
OPENAI_API_KEY
Für Stabilitäts-KI-Bilder:
STABILITY_API_KEY
Für die Websuche:
GOOGLE_CSE_API_KEY
undGOOGLE_CSE_ID
Tool-Integration mit KI-Modellen
Der MCP-Server übernimmt automatisch den Tool-Aufruf und die Ausführung mit KI-Modellen. Wenn ein Modell ein Tool verwendet, führt der Server Folgendes aus:
Führt das angeforderte Tool mit den angegebenen Parametern aus
Gibt die Antwort des Tools an das Modell zurück
Das Modell kann dann die Antwort des Tools in seine endgültige Antwort integrieren
Tool Discovery für KI-Modelle
KI-Modelle können den Endpunkt /tools/available
nutzen, um herauszufinden, welche Tools verfügbar sind und wie sie verwendet werden können. Dies ist besonders nützlich für:
Dynamische Toolerkennung während der Laufzeit
Selbstdokumentation für KI-Agenten
KI-Systeme in die Lage versetzen, sich an vorhandene Kapazitäten anzupassen
Beispielhafte Systemaufforderung für KI-Modelle:
Beispiel für die Verwendung des Tools
Beispielcode zur Demonstration der Toolverwendung finden Sie im Verzeichnis /examples
.
Hinzufügen neuer Anbieter oder Tools
Hinzufügen neuer KI-Anbieter
So fügen Sie neue KI-Anbieter hinzu:
Fügen Sie das SDK des Anbieters zum Projekt hinzu
Erstellen Sie eine neue Handlerfunktion in
server.js
Fügen Sie einen neuen Fall im Hauptroutenhandler hinzu
Neue Tools hinzufügen
So fügen Sie dem Server neue Tools hinzu:
Erstellen Sie eine neue Tool-Implementierung im Verzeichnis
/src/tools
Fügen Sie die Tooldefinition zu
tool-definitions.js
hinzuAktualisieren Sie die Tool-Ausführungsfunktionen in
server.js
Fügen Sie neue API-Endpunkte für die direkte Tool-Nutzung hinzu (falls erforderlich)
Lizenz
ISC
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 einheitlicher API-Server, der die Interaktion mit mehreren KI-Modellanbietern wie Anthropic und OpenAI über eine konsistente Schnittstelle ermöglicht und Chat-Vervollständigungen, Tool-Aufrufe und Kontextverarbeitung unterstützt.
Related MCP Servers
- -securityAlicense-qualityThis server facilitates the invocation of AI models from providers like Anthropic, OpenAI, and Groq, enabling users to manage and configure large language model interactions seamlessly.Last updated -9MIT License
- -securityAlicense-qualityA server implementation that provides a unified interface for OpenAI services, Git repository analysis, and local filesystem operations through REST API endpoints.Last updated -GPL 3.0
- -securityFlicense-qualityA server that provides rich UI context and interaction capabilities to AI models, enabling deep understanding of user interfaces through visual analysis and precise interaction via Model Context Protocol.Last updated -59
- -securityFlicense-qualityA simple server that acts as a Master Control Program (MCP) for unified interaction with OpenAI and Anthropic (Claude) AI models through a single API endpoint.Last updated -5