Skip to main content
Glama

MCP Boilerplate

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

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.

// Essential configuration options export const config = { server: { name: "mcp-boilerplate", version: "1.0.0", port: parseInt(process.env.PORT || "4005"), host: process.env.HOST || "localhost", apiKey: process.env.API_KEY || "dev_key", }, sse: { // How often to send keepalive messages (in milliseconds) keepaliveInterval: 30000, // Whether to send ping events in addition to comments usePingEvents: true, // Initial connection message sendConnectedEvent: true, }, tools: { // Number of retries for failed tool executions maxRetries: 3, // Delay between retries (in milliseconds) retryDelay: 1000, // Whether to send notifications about tool execution status sendNotifications: true, }, logging: { // Default log level defaultLevel: "debug", // How often to send log messages (in milliseconds) logMessageInterval: 10000, }, };

Fehlerbehebung bei SSE-Timeouts

Wenn bei Ihrer MCP-Verbindung ein „Body-Timeout-Fehler“ auftritt:

  1. Verringern Sie keepaliveInterval , um häufigere Keepalive-Nachrichten zu senden (z. B. 15.000 ms).
  2. Stellen Sie sicher, dass usePingEvents für zusätzliche Verbindungsstabilität aktiviert ist
  3. Überprüfen Sie, ob es Proxy-Timeouts gibt, wenn Sie einen Proxy-Server verwenden.

Aufstellen

  1. Installieren Sie Abhängigkeiten:
npm install
  1. Erstellen Sie eine .env Datei mit den folgenden Variablen:
PORT=4005 API_KEY=your_api_key
  1. Erstellen Sie das Projekt:
npm run build
  1. Starten Sie den Server:
npm run start:sse

Entwicklung

# Start in development mode with hot reloading npm run start # Start with PM2 for production npm run start:pm2 # Development mode with nodemon npm run dev

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:

{ "mcpServers": { "mcp-server": { "url": "http://localhost:4005/sse?API_KEY={{your_api_key_here}}" } } }

Erweiterung des Boilerplates

Hinzufügen benutzerdefinierter Tools

Befolgen Sie diese Schritte, um dem MCP-Server ein neues Tool hinzuzufügen:

  1. Erstellen Sie Ihren Werkzeughandler :
    • Fügen Sie Ihren neuen Tool-Handler in die Datei src/tools.ts ein oder erstellen Sie eine neue Datei im Verzeichnis src/tools
    • Das Tool sollte der ToolHandler Schnittstelle folgen
  2. Konfigurieren Sie Ihr Werkzeug :
    • Fügen Sie Ihre Tool-Konfiguration zum Array toolConfigs in src/tools.ts hinzu
    • Definieren Sie den Namen, die Beschreibung, das Eingabeschema und den Handler für Ihr Tool
  3. Exportieren und registrieren Sie Ihr Tool :
    • Wenn Sie eine separate Datei erstellt haben, exportieren Sie Ihren Handler und importieren Sie ihn in src/tools.ts
    • Stellen Sie sicher, dass Ihr Tool ordnungsgemäß im Array toolConfigs registriert ist

Beispiel:

// In src/tools.ts (adding directly to the toolConfigs array) { name: "myTool", description: "My tool description", inputSchema: { type: "object" as const, properties: {}, required: [], }, handler: async () => { return createSuccessResult({ result: "Tool result" }); }, }

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 .

-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Ein Server, der das Model Context Protocol implementiert und eine standardisierte Möglichkeit bietet, KI-Modelle mit verschiedenen Datenquellen und Tools zu verbinden.

  1. Merkmale
    1. Werkzeuge
      1. Konfiguration
        1. Fehlerbehebung bei SSE-Timeouts
      2. Aufstellen
        1. Entwicklung
          1. API-Endpunkte
            1. MCP-Konfiguration
              1. Erweiterung des Boilerplates
                1. Hinzufügen benutzerdefinierter Tools
              2. Fehlerbehandlung
                1. Sicherheitsüberlegungen
                  1. MCP-Protokollfunktionen
                    1. Sitzungsverwaltung
                      1. Weitere Ressourcen
                        1. Lizenz

                          Related MCP Servers

                          • A
                            security
                            F
                            license
                            A
                            quality
                            A Model Context Protocol server that enables AI models to interact with SourceSync.ai's knowledge management platform for managing documents, ingesting content from various sources, and performing semantic searches.
                            Last updated -
                            25
                            14
                            • Apple
                            • Linux
                          • -
                            security
                            F
                            license
                            -
                            quality
                            A server that enables AI systems to browse, retrieve content from, and interact with web pages through the Model Context Protocol.
                            Last updated -
                          • A
                            security
                            F
                            license
                            A
                            quality
                            A Model Context Protocol server implementation that provides structured, AI-friendly access to eRegulations data, making it easier for AI models to answer user questions about administrative procedures.
                            Last updated -
                            4
                            19
                            TypeScript
                            • Linux
                            • Apple
                          • -
                            security
                            A
                            license
                            -
                            quality
                            A Model Context Protocol server that provides a standardized interface for AI models to access, query, and modify content in Notion workspaces.
                            Last updated -
                            194
                            2
                            TypeScript
                            MIT License
                            • Apple

                          View all related MCP servers

                          MCP directory API

                          We provide all the information about MCP servers via our MCP API.

                          curl -X GET 'https://glama.ai/api/mcp/v1/servers/iamsrikanthnani/mcp-boilerplate'

                          If you have feedback or need assistance with the MCP directory API, please join our Discord server