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