Skip to main content
Glama
gujord

OpenAPI to Model Context Protocol (MCP)

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: MCP Command Proxy

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!

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

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/gujord/OpenAPI-MCP'

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