Skip to main content
Glama

OpenAPI MCP Server

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:

  1. Stdio-Transport (Standard): Für die direkte Integration mit KI-Systemen wie Claude Desktop, die MCP-Verbindungen über Standard-Eingabe/Ausgabe verwalten.
  2. 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.

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:

  1. Suchen oder erstellen Sie Ihre Claude Desktop-Konfigurationsdatei:
    • Unter macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  2. Fügen Sie die folgende Konfiguration hinzu:
{ "mcpServers": { "openapi": { "command": "npx", "args": ["-y", "@ivotoby/openapi-mcp-server"], "env": { "API_BASE_URL": "https://api.example.com", "OPENAPI_SPEC_PATH": "https://api.example.com/openapi.json", "API_HEADERS": "Authorization:Bearer token123,X-API-Key:your-api-key" } } } }
  1. Ersetzen Sie die Umgebungsvariablen durch Ihre tatsächliche API-Konfiguration:
    • API_BASE_URL : Die Basis-URL Ihrer API
    • OPENAPI_SPEC_PATH : URL oder Pfad zu Ihrer OpenAPI-Spezifikation
    • API_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:

  1. Keine Installation erforderlich! Verwenden Sie npx, um das Paket direkt auszuführen:
npx @ivotoby/openapi-mcp-server \ --api-base-url https://api.example.com \ --openapi-spec https://api.example.com/openapi.json \ --headers "Authorization:Bearer token123" \ --transport http \ --port 3000
  1. Interagieren Sie mit dem Server über HTTP-Anfragen:
# Initialize a session (first request) curl -X POST http://localhost:3000/mcp \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":0,"method":"initialize","params":{"client":{"name":"curl-client","version":"1.0.0"},"protocol":{"name":"mcp","version":"2025-03-26"}}}' # The response includes a Mcp-Session-Id header that you must use for subsequent requests # and the InitializeResult directly in the POST response body. # Send a request to list tools # This also receives its response directly on this POST request. curl -X POST http://localhost:3000/mcp \ -H "Content-Type: application/json" \ -H "Mcp-Session-Id: your-session-id" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' # Open a streaming connection for other server responses (e.g., tool execution results) # This uses Server-Sent Events (SSE). curl -N http://localhost:3000/mcp -H "Mcp-Session-Id: your-session-id" # Example: Execute a tool (response will arrive on the GET stream) # curl -X POST http://localhost:3000/mcp \ # -H "Content-Type: application/json" \ # -H "Mcp-Session-Id: your-session-id" \ # -d '{"jsonrpc":"2.0","id":2,"method":"tools/execute","params":{"name":"yourToolName", "arguments": {}}}' # Terminate the session when done curl -X DELETE http://localhost:3000/mcp -H "Mcp-Session-Id: your-session-id"

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 initialize und tools/list werden synchron beim POST gesendet.
  • Andere Server-zu-Client-Nachrichten (z. B. tools/execute Ausfü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-Endpunkte
  • OPENAPI_SPEC_PATH – Pfad oder URL zur OpenAPI-Spezifikation
  • API_HEADERS – Komma-getrennte Schlüssel:Wert-Paare für API-Header
  • SERVER_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

npx @ivotoby/openapi-mcp-server \ --api-base-url https://api.example.com \ --openapi-spec https://api.example.com/openapi.json \ --headers "Authorization:Bearer token123,X-API-Key:your-api-key" \ --name "my-mcp-server" \ --version "1.0.0" \ --transport http \ --port 3000 \ --host 127.0.0.1 \ --path /mcp

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:

  1. Bei Verwendung des Stdio-Transports mit Claude Desktop:
    • Protokolle erscheinen in den Claude Desktop-Protokollen
  2. 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-Quelle
  • npm run clean – Entfernt Build-Artefakte
  • npm run typecheck – Führt die TypeScript-Typprüfung aus
  • npm run lint – Führt ESLint aus
  • npm run dev – Überwacht Quelldateien und erstellt sie bei Änderungen neu
  • npm run inspect-watch – Führt den Inspektor mit automatischem Neuladen bei Änderungen aus

Entwicklungs-Workflow

  1. Klonen Sie das Repository
  2. Abhängigkeiten installieren: npm install
  3. Starten Sie die Entwicklungsumgebung: npm run inspect-watch
  4. Nehmen Sie Änderungen an den TypeScript-Dateien in src/
  5. Der Server wird automatisch neu erstellt und neu gestartet

Beitragen

  1. Forken Sie das Repository
  2. Erstellen eines Feature-Zweigs
  3. Nehmen Sie Ihre Änderungen vor
  4. Führen Sie Tests und Lint-Tests aus: npm run typecheck && npm run lint
  5. Senden einer Pull-Anfrage

Lizenz

MIT

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

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Ein Server, der es großen Sprachmodellen ermöglicht, REST-APIs zu erkennen und mit ihnen zu interagieren, die durch OpenAPI-Spezifikationen über das Model Context Protocol definiert sind.

  1. Überblick
    1. Schnellstart für Benutzer
      1. Option 1: Verwendung mit Claude Desktop (Stdio Transport)
      2. Option 2: Verwendung mit HTTP-Clients (HTTP-Transport)
    2. Transportarten
      1. Stdio-Transport (Standard)
      2. Streambarer HTTP-Transport
    3. Konfigurationsoptionen
      1. Umgebungsvariablen
      2. Befehlszeilenargumente
    4. Sicherheitsüberlegungen
      1. Debuggen
        1. Für Entwickler
          1. Entwicklungstools
          2. Entwicklungs-Workflow
          3. Beitragen
        2. Lizenz

          Related MCP Servers

          • -
            security
            A
            license
            -
            quality
            An MCP server that exposes HTTP methods defined in an OpenAPI specification as tools, enabling interaction with APIs via the Model Context Protocol.
            Last updated -
            2
            Python
            MIT License
          • -
            security
            F
            license
            -
            quality
            A server based on Model Context Protocol that parses Swagger/OpenAPI documents and generates TypeScript types and API client code for different frameworks (Axios, Fetch, React Query).
            Last updated -
            143
            1
            TypeScript
          • A
            security
            F
            license
            A
            quality
            A Model Context Protocol server that enables large language models to interact with Apache Superset databases through REST API, supporting database queries, table lookups, field information retrieval, and SQL execution.
            Last updated -
            4
            3
            TypeScript
          • -
            security
            A
            license
            -
            quality
            A Model Context Protocol server that provides standardized interfaces for interacting with Ollama API, offering JSON responses, error handling, and intelligent guidance for LLM-based API calls.
            Last updated -
            Python
            MIT License
            • Linux
            • 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/ivo-toby/mcp-openapi-server'

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