MCP-Standardtext: Model Context Protocol Server
Dieser Server implementiert das Model Context Protocol (MCP) für den globalen Einsatz als Standard. Er bietet eine standardisierte Möglichkeit, KI-Modelle mithilfe des Model Context Protocol mit verschiedenen Datenquellen und Tools zu verbinden.
Merkmale
Implementiert den MCP Server-Sent Events (SSE)-Transport
Bietet eine robuste Struktur zum Erstellen benutzerdefinierter MCP-Server
Enthält Beispieltools mit entsprechenden Typdefinitionen
Sichere Authentifizierung mit API-Schlüssel
Protokollierungsfunktionen mit unterschiedlichen Schweregraden
Sitzungsverwaltung für mehrere Clientverbindungen
Ordentliches Herunterfahren der Signale SIGINT und SIGTERM
Related MCP server: SourceSync.ai MCP Server
Werkzeuge
Der Server enthält derzeit das folgende Beispieltool:
calculator: Führt grundlegende Rechenoperationen aus (Addieren, Subtrahieren, Multiplizieren, Dividieren)
Informationen zum Hinzufügen Ihrer eigenen benutzerdefinierten Tools finden Sie im Abschnitt „Erweitern des Boilerplates“ .
Konfiguration
Die Serverkonfiguration ist zentral in src/config.ts gespeichert. Dadurch können Einstellungen einfach angepasst werden, ohne mehrere Dateien ändern zu müssen.
Fehlerbehebung bei SSE-Timeouts
Wenn bei Ihrer MCP-Verbindung ein „Body-Timeout-Fehler“ auftritt:
Verringern Sie
keepaliveInterval, um häufigere Keepalive-Nachrichten zu senden (z. B. 15.000 ms).Stellen Sie sicher, dass
usePingEventsfür zusätzliche Verbindungsstabilität aktiviert istÜberprüfen Sie, ob es Proxy-Timeouts gibt, wenn Sie einen Proxy-Server verwenden.
Aufstellen
Installieren Sie Abhängigkeiten:
Erstellen Sie eine
.envDatei mit den folgenden Variablen:
Erstellen Sie das Projekt:
Starten Sie den Server:
Entwicklung
API-Endpunkte
/health: Integritätsprüfungsendpunkt, der Serverstatus und -version zurückgibt/sse: SSE-Endpunkt zum Herstellen von MCP-Verbindungen (erfordert API-Schlüssel)/messages: Endpunkt zur Nachrichtenverarbeitung für die Client-Server-Kommunikation
MCP-Konfiguration
Um einen MCP mit diesem Server zu verbinden, fügen Sie die folgende Konfiguration hinzu:
Erweiterung des Boilerplates
Hinzufügen benutzerdefinierter Tools
Befolgen Sie diese Schritte, um dem MCP-Server ein neues Tool hinzuzufügen:
Erstellen Sie Ihren Werkzeughandler :
Fügen Sie Ihren neuen Tool-Handler in die Datei
src/tools.tsein oder erstellen Sie eine neue Datei im Verzeichnissrc/toolsDas Tool sollte der
ToolHandlerSchnittstelle folgen
Konfigurieren Sie Ihr Werkzeug :
Fügen Sie Ihre Tool-Konfiguration zum Array
toolConfigsinsrc/tools.tshinzuDefinieren Sie den Namen, die Beschreibung, das Eingabeschema und den Handler für Ihr Tool
Exportieren und registrieren Sie Ihr Tool :
Wenn Sie eine separate Datei erstellt haben, exportieren Sie Ihren Handler und importieren Sie ihn in
src/tools.tsStellen Sie sicher, dass Ihr Tool ordnungsgemäß im Array
toolConfigsregistriert ist
Beispiel:
Fehlerbehandlung
Der Server implementiert eine umfassende Fehlerbehandlung:
Alle Operationen sind in Try/Catch-Blöcke gekapselt
Korrekte Validierung für Parameter und Eingaben
Passende Fehlermeldungen für besseres Debugging
Hilfsfunktionen zum Erstellen standardisierter Fehler- und Erfolgsantworten
Sicherheitsüberlegungen
API-Schlüsselauthentifizierung für alle Verbindungen
Typvalidierung für alle Parameter
Keine fest codierten vertraulichen Informationen
Richtige Fehlerbehandlung zur Vermeidung von Informationsverlusten
Sitzungsbasiertes Transportmanagement
MCP-Protokollfunktionen
Dieser Boilerplate unterstützt die wichtigsten MCP-Funktionen:
Tools: Tools mit ordnungsgemäßer Parametervalidierung auflisten und aufrufen
Protokollierung: Verschiedene Schweregrade (Debug, Info, Hinweis, Warnung, Fehler, Kritisch, Alarm, Notfall)
Serverkonfiguration: Name, Version und Funktionen
Sitzungsverwaltung
Der Server verwaltet Clientsitzungen über:
Eindeutige Sitzungs-IDs für jede Clientverbindung
Verfolgung aktiver Transporte anhand der Sitzungs-ID
Automatische Bereinigung getrennter Sitzungen
Verfolgung des Verbindungsstatus
Weitere Ressourcen
Lizenz
Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie in der Datei LICENSE .