Skip to main content
Glama

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: MCP Server Demo

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 .

A
license - permissive license
Not graded
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • A Model Context Protocol server for Wix AI tools

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • Connect AI agents to Replynodes over the Model Context Protocol.

View all MCP Connectors

Latest Blog Posts

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