OpenAPI MCP-Server
Ein Model Context Protocol (MCP)-Server, der OpenAPI-Endpunkte als MCP-Ressourcen bereitstellt. Dieser Server ermöglicht Large Language Models die Erkennung und Interaktion mit REST-APIs, die in OpenAPI-Spezifikationen über das MCP-Protokoll definiert sind.
Überblick
Dieser MCP-Server unterstützt zwei Transportmethoden:
Stdio-Transport (Standard): Für die direkte Integration mit KI-Systemen wie Claude Desktop, die MCP-Verbindungen über Standard-Eingabe/Ausgabe verwalten.
Streamable HTTP Transport : Für die Verbindung mit dem Server über HTTP, sodass Webclients und andere HTTP-fähige Systeme das MCP-Protokoll verwenden können.
Related MCP server: File Context MCP
Schnellstart für Benutzer
Option 1: Verwendung mit Claude Desktop (Stdio Transport)
Dieses Repository muss nicht geklont werden. Konfigurieren Sie Claude Desktop einfach für die Verwendung dieses MCP-Servers:
Suchen oder erstellen Sie Ihre Claude Desktop-Konfigurationsdatei:
Unter macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Fügen Sie die folgende Konfiguration hinzu:
Ersetzen Sie die Umgebungsvariablen durch Ihre tatsächliche API-Konfiguration:
API_BASE_URL: Die Basis-URL Ihrer APIOPENAPI_SPEC_PATH: URL oder Pfad zu Ihrer OpenAPI-SpezifikationAPI_HEADERS: Durch Kommas getrennte Schlüssel:Wert-Paare für API-Authentifizierungsheader
Option 2: Verwendung mit HTTP-Clients (HTTP-Transport)
So verwenden Sie den Server mit HTTP-Clients:
Keine Installation erforderlich! Verwenden Sie npx, um das Paket direkt auszuführen:
Interagieren Sie mit dem Server über HTTP-Anfragen:
Transportarten
Stdio-Transport (Standard)
Der stdio-Transport ist für die direkte Integration mit KI-Systemen wie Claude Desktop konzipiert, die MCP-Verbindungen über Standard-Ein-/Ausgabe verwalten. Dies ist die einfachste Einrichtung und erfordert keine Netzwerkkonfiguration.
Wann zu verwenden : Bei der Integration mit Claude Desktop oder anderen Systemen, die stdio-basierte MCP-Kommunikation unterstützen.
Streambarer HTTP-Transport
Der HTTP-Transport ermöglicht den Zugriff auf den MCP-Server über HTTP und ermöglicht Webanwendungen und anderen HTTP-fähigen Clients die Interaktion mit dem MCP-Protokoll. Er unterstützt Sitzungsverwaltung, Streaming-Antworten und Standard-HTTP-Methoden.
Hauptmerkmale :
Sitzungsverwaltung mit Mcp-Session-Id-Header
HTTP-Antworten für
initializeundtools/listwerden synchron beim POST gesendet.Andere Server-zu-Client-Nachrichten (z. B.
tools/executeAusführungsergebnisse, Benachrichtigungen) werden mithilfe von Server-Sent Events (SSE) über eine GET-Verbindung gestreamt.Unterstützung für POST/GET/DELETE-Methoden
Wann zu verwenden : Wenn Sie den MCP-Server Webclients oder Systemen zugänglich machen müssen, die über HTTP statt über stdio kommunizieren.
Konfigurationsoptionen
Der Server kann über Umgebungsvariablen oder Befehlszeilenargumente konfiguriert werden:
Umgebungsvariablen
API_BASE_URL– Basis-URL für die API-EndpunkteOPENAPI_SPEC_PATH– Pfad oder URL zur OpenAPI-SpezifikationAPI_HEADERS– Komma-getrennte Schlüssel:Wert-Paare für API-HeaderSERVER_NAME– Name für den MCP-Server (Standard: „mcp-openapi-server“)SERVER_VERSION– Version des Servers (Standard: „1.0.0“)TRANSPORT_TYPE– Zu verwendender Transporttyp: „stdio“ oder „http“ (Standard: „stdio“)HTTP_PORT– Port für HTTP-Transport (Standard: 3000)HTTP_HOST– Host für HTTP-Transport (Standard: „127.0.0.1“)ENDPOINT_PATH– Endpunktpfad für HTTP-Transport (Standard: „/mcp“)
Befehlszeilenargumente
Sicherheitsüberlegungen
Der HTTP-Transport validiert Origin-Header, um DNS-Rebinding-Angriffe zu verhindern
Standardmäßig bindet der HTTP-Transport nur an localhost (127.0.0.1).
Wenn Sie anderen Hosts Zugriff gewähren, sollten Sie zusätzliche Authentifizierungsmaßnahmen in Erwägung ziehen.
Debuggen
So zeigen Sie Debug-Protokolle an:
Bei Verwendung des Stdio-Transports mit Claude Desktop:
Protokolle erscheinen in den Claude Desktop-Protokollen
Bei Verwendung des HTTP-Transports:
npx @ivotoby/openapi-mcp-server --transport http 2>debug.log
Für Entwickler
Entwicklungstools
npm run build– Erstellt die TypeScript-Quellenpm run clean– Entfernt Build-Artefaktenpm run typecheck– Führt die TypeScript-Typprüfung ausnpm run lint– Führt ESLint ausnpm run dev– Überwacht Quelldateien und erstellt sie bei Änderungen neunpm run inspect-watch– Führt den Inspektor mit automatischem Neuladen bei Änderungen aus
Entwicklungs-Workflow
Klonen Sie das Repository
Abhängigkeiten installieren:
npm installStarten Sie die Entwicklungsumgebung:
npm run inspect-watchNehmen Sie Änderungen an den TypeScript-Dateien in
src/Der Server wird automatisch neu erstellt und neu gestartet
Beitragen
Forken Sie das Repository
Erstellen eines Feature-Zweigs
Nehmen Sie Ihre Änderungen vor
Führen Sie Tests und Lint-Tests aus:
npm run typecheck && npm run lintSenden einer Pull-Anfrage
Lizenz
MIT