OpenAPI MCP-Server entbündeln
Dieses Projekt bietet einen Model Context Protocol (MCP)-Server mit Tools zum Aufteilen von OpenAPI-Spezifikationsdateien in mehrere Dateien oder zum Extrahieren bestimmter Endpunkte in eine neue Datei. Es ermöglicht einem MCP-Client (z. B. einem KI-Assistenten), OpenAPI-Spezifikationen programmgesteuert zu bearbeiten.
Voraussetzungen
- Node.js (LTS-Version empfohlen, z. B. v18 oder v20)
- npm (wird mit Node.js geliefert)
Verwendung
Installation über Smithery
So installieren Sie Unbundle OpenAPI MCP Server für Claude Desktop automatisch über Smithery :
Am einfachsten nutzen Sie diesen Server über npx
. Dadurch wird sichergestellt, dass Sie immer die neueste Version verwenden, ohne dass eine globale Installation erforderlich ist.
Alternativ können Sie es global installieren (nicht generell empfohlen):
Der Server wird gestartet und wartet auf MCP-Anfragen auf der Standardeingabe/-ausgabe (stdio).
Client-Konfiguration
Um diesen Server mit MCP-Clients wie VS Code, Cline, Cursor oder Claude Desktop zu verwenden, fügen Sie seine Konfiguration der entsprechenden Einstellungsdatei hinzu. Der empfohlene Ansatz verwendet npx
.
VS Code / Cline / Cursor
Fügen Sie Folgendes zu Ihrer Datei „User settings.json
(zugänglich über Ctrl+Shift+P
> Preferences: Open User Settings (JSON)
) oder zu einer Datei .vscode/mcp.json
in Ihrem Arbeitsbereichsstamm hinzu.
Claude Desktop
Fügen Sie Ihrer Datei claude_desktop_config.json
Folgendes hinzu.
Starten Sie Ihre Clientanwendung nach dem Hinzufügen der Konfiguration neu, damit die Änderungen wirksam werden.
Bereitgestellte MCP-Tools
split_openapi
Beschreibung: Führt den Befehl redocly split
aus, um eine OpenAPI-Definitionsdatei basierend auf ihrer Struktur in mehrere kleinere Dateien aufzuteilen.
Argumente:
apiPath
(Zeichenfolge, erforderlich): Der absolute Pfad zur OpenAPI-Eingabedefinitionsdatei (z. B.openapi.yaml
).outputDir
(Zeichenfolge, erforderlich): Der absolute Pfad zum Verzeichnis, in dem die geteilten Ausgabedateien gespeichert werden sollen. Dieses Verzeichnis wird erstellt, falls es nicht existiert.
Widerrufsfolgen:
- Bei Erfolg: Eine Textnachricht mit der Standardausgabe des
redocly split
Befehls (normalerweise eine Bestätigungsnachricht). - Bei einem Fehler: Eine Fehlermeldung mit den Standardfehler- oder Ausnahmedetails der Befehlsausführung, gekennzeichnet mit
isError: true
.
Beispielverwendung (konzeptionelle MCP-Anforderung):
extract_openapi_endpoints
Beschreibung: Extrahiert bestimmte Endpunkte aus einer großen OpenAPI-Definitionsdatei und erstellt eine neue, kleinere OpenAPI-Datei, die nur diese Endpunkte und die referenzierten Komponenten enthält. Dies wird erreicht, indem die Originaldatei aufgeteilt, die Struktur so geändert wird, dass nur angegebene Pfade enthalten sind, und das Ergebnis anschließend gebündelt wird.
Argumente:
inputApiPath
(Zeichenfolge, erforderlich): Der absolute Pfad zur großen OpenAPI-Eingabedefinitionsdatei.endpointsToKeep
(Array von Zeichenfolgen, erforderlich): Eine Liste der genauen Endpunktpfade (Zeichenfolgen), die in die endgültige Ausgabe aufgenommen werden sollen (z. B.["/api", "/api/projects/{id}{.format}"]
). Pfade, die nicht in der ursprünglichen Spezifikation gefunden wurden, werden ignoriert.outputApiPath
(Zeichenfolge, erforderlich): Der absolute Pfad, in dem die endgültige, kleinere gebündelte OpenAPI-Datei gespeichert werden soll. Das Verzeichnis wird erstellt, falls es nicht existiert.
Widerrufsfolgen:
- Bei Erfolg: Eine Textnachricht mit dem Pfad der erstellten Datei und der Standardausgabe des
redocly bundle
-Befehls. - Bei einem Fehler: Eine Fehlermeldung mit Details zum fehlgeschlagenen Schritt (Teilen, Ändern, Bündeln), gekennzeichnet mit
isError: true
.
Beispielverwendung (konzeptionelle MCP-Anforderung):
Hinweis: Dieser Server verwendet intern npx @redocly/cli@latest
um die zugrunde liegenden split
und bundle
-Befehle auszuführen. Möglicherweise ist eine Internetverbindung erforderlich, damit npx
@redocly/cli
abrufen kann, falls es nicht zwischengespeichert ist. Temporäre Dateien werden während des extract_openapi_endpoints
-Prozesses erstellt und automatisch bereinigt.
Entwicklung
Wenn Sie beitragen oder den Server aus der Quelle ausführen möchten:
- Klonen: Klonen Sie dieses Repository.
- Navigieren Sie:
cd unbundle_openapi_mcp
- Abhängigkeiten installieren:
npm install
- Build:
npm run build
(kompiliert TypeScript nachdist/
) - Ausführen:
npm start
(startet den Server mit dem kompilierten Code indist/
)
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
OpenAPI-Spezifikationen MCP entbündeln
Related MCP Servers
- -securityFlicense-qualityA MCP server that exposes OpenAPI schema information to LLMs like Claude. This server allows an LLM to explore and understand large OpenAPI schemas through a set of specialized tools, without needing to load the whole schema into the contextLast updated -375JavaScript
- -securityFlicense-qualityAn MCP server that provides access to Naver OpenAPI services, enabling users to search blogs, news, books, images, and other content through standardized Model Context Protocol interfaces.Last updated -Python
- -securityAlicense-qualityGenerate an MCP server for any OpenAPI documented endpoint.Last updated -266GoApache 2.0
- -securityAlicense-qualityMCP server providing token-efficient access to OpenAPI/Swagger specs via MCP Resources for client-side exploration.Last updated -35122TypeScriptMIT License