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

Ü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.
Repository: https://github.com/gujord/OpenAPI-MCP
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.txtLLM 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.jsonWindsurfen:
~/.codeium/windsurf/mcp_config.jsonClaude Desktop:
~/Library/Application Support/Claude/claude_desktop_config.json
Ersetzen Sie
full_path_to_openapi_mcpdurch Ihren tatsächlichen Installationspfad.
Umgebungskonfiguration
Variable | Beschreibung | Erforderlich | Standard |
| URL zur OpenAPI-Spezifikation | Ja | - |
| MCP-Servername | NEIN |
|
| OAuth-Client-ID | NEIN | - |
| OAuth-Client-Geheimnis | NEIN | - |
| OAuth-Token-Endpunkt-URL | NEIN | - |
| OAuth-Bereich | NEIN |
|
Wie es funktioniert
Analysiert OpenAPI-Spezifikation: Lädt die OpenAPI-Spezifikation bei Bedarf mit
httpxundPyYAML.Registriert Vorgänge: Extrahiert API-Vorgänge und generiert MCP-kompatible Tools mit entsprechenden Eingabe- und Antwortschemata.
Ressourcenregistrierung: Konvertiert OpenAPI-Komponentenschemata automatisch in Ressourcenobjekte mit zugewiesenen URIs (z. B.
/resource/{name}).Eingabeaufforderungsgenerierung: Erstellt kontextbezogene Eingabeaufforderungen basierend auf API-Operationen, um LLMs beim Verständnis der API-Nutzung zu unterstützen.
Authentifizierung: Unterstützt die OAuth2-Authentifizierung über den Client Credentials Flow.
Parameterverarbeitung: Konvertiert Parameter in erforderliche Datentypen und unterstützt flexible Abfragezeichenfolgen- und JSON-Formate.
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
endRessourcen 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.

Beitragen
Forken Sie dieses Repository.
Erstellen Sie einen neuen Zweig.
Senden Sie eine Pull-Anfrage mit einer klaren Beschreibung Ihrer Änderungen.
Lizenz
Wenn Sie es nützlich finden, geben Sie ihm bitte ein ⭐ auf GitHub!