Skip to main content
Glama
gujord

OpenAPI to Model Context Protocol (MCP)

by gujord

OpenAPI zum Model Context Protocol (MCP)

Lizenz: MIT Repo-GrößeLetzter CommitOffene ProblemePython-Version

Der OpenAPI-MCP-Proxy übersetzt OpenAPI-Spezifikationen in MCP-Tools und ermöglicht KI-Agenten den Zugriff auf externe APIs ohne benutzerdefinierte Wrapper!

OpenAPI-MCP

Überbrücken Sie die Lücke zwischen KI-Agenten und externen APIs

Der OpenAPI-zu-Model-Context-Protocol-(MCP)-Proxyserver schließt die Lücke zwischen KI-Agenten und externen APIs, indem er OpenAPI-Spezifikationen dynamisch in standardisierte MCP-Tools , -Ressourcen und -Eingabeaufforderungen übersetzt. Dies vereinfacht die Integration, da keine benutzerdefinierten API-Wrapper mehr erforderlich sind.


Wenn Sie es nützlich finden, geben Sie ihm bitte ein ⭐ auf GitHub!


Related MCP server: OpenAPI to MCP

Hauptmerkmale

  • FastMCP-Transport: Optimiert für stdio , funktioniert sofort mit gängigen LLM-Orchestratoren.

  • OpenAPI-Integration: Analysiert und registriert OpenAPI-Operationen als aufrufbare Tools.

  • Ressourcenregistrierung: Konvertiert OpenAPI-Komponentenschemata automatisch in Ressourcenobjekte mit definierten URIs.

  • Eingabeaufforderungsgenerierung: Generiert kontextbezogene Eingabeaufforderungen basierend auf API-Operationen, um LLMs bei der Verwendung der API anzuleiten.

  • OAuth2-Unterstützung: Verarbeitet die Maschinenauthentifizierung über den Client Credentials Flow.

  • JSON-RPC 2.0-Unterstützung: Vollständig konforme Anforderungs-/Antwortstruktur.

  • Automatische Metadaten: Leitet Toolnamen, Zusammenfassungen und Schemata aus der OpenAPI-Spezifikation ab.

  • Bereinigte Tool-Namen: Stellt die Kompatibilität mit MCP-Namensbeschränkungen sicher.

  • Flexibles Parameter-Parsing: Unterstützt Abfragezeichenfolgen (mit einem vorangestellten „?“) und mehrere JSON-Varianten (einschließlich Schlüssel mit Punkten und numerischen Werten).

  • Verbesserte Parameterverarbeitung: Konvertiert Parameter automatisch in die richtigen Datentypen.

  • Erweiterte Tool-Metadaten: Enthält detaillierte Parameterinformationen und Antwortschemata.

Schnellstart

Installation

git clone https://github.com/gujord/OpenAPI-MCP.git
cd OpenAPI-MCP
pip install -r requirements.txt

LLM Orchestrator-Konfiguration

Verwenden Sie für Claude Desktop , Cursor und Windsurf den folgenden Codeausschnitt und passen Sie die Pfade entsprechend an:

{
  "mcpServers": {

    "petstore3": {
      "command": "full_path_to_openapi_mcp/venv/bin/python",
      "args": ["full_path_to_openapi_mcp/src/server.py"],
      "env": {
        "SERVER_NAME": "petstore3",
        "OPENAPI_URL": "https://petstore3.swagger.io/api/v3/openapi.json"
      },
      "transport": "stdio"
    }

  }
}

Wenden Sie diese Konfiguration auf die folgenden Dateien an:

  • Cursor: ~/.cursor/mcp.json

  • Windsurfen: ~/.codeium/windsurf/mcp_config.json

  • Claude Desktop: ~/Library/Application Support/Claude/claude_desktop_config.json

Ersetzen Sie full_path_to_openapi_mcp durch Ihren tatsächlichen Installationspfad.

Umgebungskonfiguration

Variable

Beschreibung

Erforderlich

Standard

OPENAPI_URL

URL zur OpenAPI-Spezifikation

Ja

-

SERVER_NAME

MCP-Servername

NEIN

openapi_proxy_server

OAUTH_CLIENT_ID

OAuth-Client-ID

NEIN

-

OAUTH_CLIENT_SECRET

OAuth-Client-Geheimnis

NEIN

-

OAUTH_TOKEN_URL

OAuth-Token-Endpunkt-URL

NEIN

-

OAUTH_SCOPE

OAuth-Bereich

NEIN

api

Wie es funktioniert

  1. Analysiert OpenAPI-Spezifikation: Lädt die OpenAPI-Spezifikation bei Bedarf mit httpx und PyYAML .

  2. Registriert Vorgänge: Extrahiert API-Vorgänge und generiert MCP-kompatible Tools mit entsprechenden Eingabe- und Antwortschemata.

  3. Ressourcenregistrierung: Konvertiert OpenAPI-Komponentenschemata automatisch in Ressourcenobjekte mit zugewiesenen URIs (z. B. /resource/{name} ).

  4. Eingabeaufforderungsgenerierung: Erstellt kontextbezogene Eingabeaufforderungen basierend auf API-Operationen, um LLMs beim Verständnis der API-Nutzung zu unterstützen.

  5. Authentifizierung: Unterstützt die OAuth2-Authentifizierung über den Client Credentials Flow.

  6. Parameterverarbeitung: Konvertiert Parameter in erforderliche Datentypen und unterstützt flexible Abfragezeichenfolgen- und JSON-Formate.

  7. JSON-RPC 2.0-Konformität: Stellt standardmäßige Kommunikationsprotokolle für Tool-Interaktionen sicher.

sequenceDiagram
    participant LLM as LLM (Claude/GPT)
    participant MCP as OpenAPI-MCP Proxy
    participant API as External API

    Note over LLM, API: Communication Process

    LLM->>MCP: 1. Initialize (initialize)
    MCP-->>LLM: Metadata, tools, resources, and prompts

    LLM->>MCP: 2. Request tools (tools_list)
    MCP-->>LLM: Detailed list of tools, resources, and prompts

    LLM->>MCP: 3. Call tool (tools_call)

    alt With OAuth2
        MCP->>API: Request OAuth2 token
        API-->>MCP: Access Token
    end

    MCP->>API: 4. Execute API call with proper formatting
    API-->>MCP: 5. API response (JSON)

    alt Type Conversion
        MCP->>MCP: 6. Convert parameters to correct data types
    end

    MCP-->>LLM: 7. Formatted response from API

    alt Dry Run Mode
        LLM->>MCP: Call with dry_run=true
        MCP-->>LLM: Display request information without executing call
    end

Ressourcen und Eingabeaufforderungen

Zusätzlich zu den Tools registriert der Proxyserver jetzt automatisch:

  • Ressourcen: Abgeleitet von OpenAPI-Komponentenschemata werden Ressourcenobjekte mit definierten URIs (z. B. /resource/{name} ) für die strukturierte Datenverarbeitung registriert.

  • Eingabeaufforderungen: Kontextbezogene Eingabeaufforderungen werden basierend auf API-Operationen generiert, um LLMs Nutzungshinweise zu geben und ihr Verständnis der verfügbaren Endpunkte zu verbessern.

Diese erweiterten Metadaten verbessern die Integration, indem sie einen umfassenden API-Kontext bereitstellen.

OpenAPI-MCP

Beitragen

  • Forken Sie dieses Repository.

  • Erstellen Sie einen neuen Zweig.

  • Senden Sie eine Pull-Anfrage mit einer klaren Beschreibung Ihrer Änderungen.

Lizenz

MIT-Lizenz

Wenn Sie es nützlich finden, geben Sie ihm bitte ein ⭐ auf GitHub!

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A dynamic proxy that converts OpenAPI Specification (OAS) endpoints into Message Communication Protocol (MCP) tools, allowing AI agents to use existing REST APIs as if they were native MCP tools without manual implementation.
    16
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    A standalone proxy that transforms any OpenAPI or Swagger-described REST API into an MCP server by mapping API operations to executable MCP tools. It enables AI clients to interact with existing web services through automated HTTP requests based on their official documentation.
    19 npm
    16
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A universal MCP server that connects any REST API to AI assistants via OpenAPI or Postman specifications. It enables dynamic tool creation with GraphQL-style field selection and automatic schema inference for efficient data retrieval.
    31 npm
    6
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Turns any OpenAPI specification into a fully working MCP server with a single command, enabling AI agents to call APIs without writing any glue code.
    9 npm
    MIT