openapi-to-mcp
MCP Scribe
Transkribieren Sie jedes OpenAPI-Schema in einen produktionsreifen MCP-Server.
Related MCP server: Any API MCP Server
Überblick
Richten Sie MCP Scribe auf ein OpenAPI-Schema aus. Sie erhalten einen MCP-Server.
Jede Operation in der Spezifikation wird zu einem Werkzeug, das ein Modell aufrufen kann – mit den JSON-Schema-Daten, den Anmeldedaten, den Wiederholungsversuchen, dem Rate-Limiting und der Antwortaufbereitung, die bereits erledigt sind. Es gibt keinen generierten Code, der gewartet werden muss, und keine Adapterschicht, die synchron gehalten werden muss – die Spezifikation ist die Quelle der Wahrheit, und der Server wird beim Start daraus abgeleitet.
MCP Scribe wurde für Teams entwickelt, die echte APIs vor Sprachmodelle stellen, wo die kritischen Fehlerquellen Datenlecks bei Anmeldedaten, unkontrollierte Wiederholungsversuche gegen eine kostenpflichtige Schnittstelle und zu große Werkzeugoberflächen für ein Modell sind.
Installation
pip install mcp-scribeAus dem Quellcode, als globales CLI:
git clone https://github.com/kyegomez/mcp-scribe && cd mcp-scribe
uv tool install --editable ".[http]"Das http-Extra installiert uvicorn und starlette, die nur für den HTTP-Transport benötigt werden. Ein
stdio-Server benötigt keines von beiden.
Voraussetzungen: Python 3.10 – 3.13.
Schnellstart
Einen gemeinsamen Server bereitstellen
Ein Befehl. Spezifikation rein. Server hoch.
mcp-scribe deploy https://api.swarms.world/openapi.json --port 8000Diesen Server aufrufen
import asyncio
import os
import sys
from dotenv import load_dotenv
from mcp import ClientSession
from mcp.client.streamable_http import streamable_http_client
from mcp.shared._httpx_utils import create_mcp_http_client
load_dotenv()
# Streamable HTTP path defaults to /mcp (see transport.path).
MCP_URL = "http://127.0.0.1:8000/mcp"
async def main() -> None:
api_key = os.environ.get("SWARMS_API_KEY")
if not api_key:
sys.exit(
"set SWARMS_API_KEY first: export SWARMS_API_KEY=sk-..."
)
http = create_mcp_http_client(headers={"x-api-key": api_key})
async with http, streamable_http_client(
MCP_URL, http_client=http
) as (read, write), ClientSession(read, write) as session:
await session.initialize()
result = await session.call_tool(
"get_available_models_v1_models_available_get",
{},
)
print(result.content[0].text)
if __name__ == "__main__":
asyncio.run(main())
CLI-Befehle
Usage: mcp-scribe [OPTIONS] COMMAND [ARGS]...
Turn any OpenAPI schema URL into a production-grade MCP server.
Options:
--help Show this message and exit.
Commands:
serve Run the MCP server.
deploy Serve over HTTP with production defaults. The short path to a shared server.
inspect Show the tools a spec produces — the fastest way to validate a setup.
call Invoke one tool from the terminal — the same code path the server uses.
generate Write a self-contained, deployable MCP server project for a spec.
install Build the server and register it with your MCP client in one step.
version Print the version.
Wichtigste Funktionen
Funktion | Was sie liefert |
Universelle Spezifikationserfassung | OpenAPI 3.1, 3.0 und Swagger 2.0 aus einer URL, einer Datei oder von stdin – als JSON oder YAML. Swagger 2.0 wird vorab konvertiert; externe und rekursive |
Werkzeugerzeugung ohne Code | Ein MCP-Werkzeug pro Operation, ausgegeben als JSON Schema 2020-12 mit der vollständigen |
Isolation von Anmeldedaten | In der Spezifikation deklarierte Anmeldedaten-Parameter werden aus den Werkzeugschemata entfernt und zur Anfragezeit injiziert. Das Modell wird nie aufgefordert, ein Geheimnis zu erzeugen, das es nicht besitzt. |
Unternehmens-Authentifizierung | API-Schlüssel (Header, Query, Cookie), Bearer, HTTP Basic, OAuth2-Client-Credentials mit automatischer Aktualisierung sowie beliebige statische Header – kombinierbar, alle pro Anfrage angewendet. |
Mehrmandanten-Isolation | Weitergabe von Anmeldedaten pro Aufrufer mit Header-Allowlist und Fail-Closed-Durchsetzung, sodass ein gemeinsamer Server nicht eine gemeinsame Identität oder eine gemeinsame Abrechnung bedeutet. |
Robustheit standardmäßig | Exponentieller Backoff mit vollem Jitter unter Berücksichtigung von |
Sichere Wiederholungsversuche standardmäßig | POST und PATCH werden nie wiederholt, sofern nicht explizit aktiviert. Das erneute Senden einer kostenpflichtigen Anfrage wird als schlechter behandelt denn ein Fehlschlag. |
Kontrolle der Angriffsfläche | Filtern nach Tag, Pfad, Methode oder |
Steuerung des Kontexts | Antworten werden auf ein konfigurierbares Budget gekürzt, mit einem Hinweis, der dem Modell zeigt, wie es die Anfrage eingrenzen kann. |
Doppelter Transport | stdio für persönliche, lokale Server; streambares HTTP mit einem |
Hygiene für Geheimnisse |
|
Betriebliche Werkzeuge |
|
Bereitstellbare Artefakte |
|
Dokumentation
Dokument | Inhalt |
Vollständige Benutzeranleitung – mentales Modell, Transporte, Anmeldedaten, Mehrmandantenfähigkeit, Filterung, Schema-Gestaltung, Zuverlässigkeit, Fehlersuche, Bereitstellung und Problemlösung. | |
Erschöpfende Referenz – jeder CLI-Befehl und jedes Flag, jeder Konfigurationsschlüssel mit Typen und Standardwerten, die vollständige Umgebungsvariablen-Tabelle, die Python-API-Hierarchie und die Ausnahmehierarchie. | |
Anleitung für Mitwirkende und Agenten – Befehle, modulare Architektur, tragende Invarianten, Konventionen und Stolperfallen. | |
Definition der Agentenfähigkeit – wie ein autonomer Agent Befehle auswählen, Einrichtungen validieren und mit Anmeldedaten umgehen sollte. |
Lizenz
Apache-2.0. Siehe LICENSE.
Zitierung
@misc{mcpscribe2026,
title = {mcp-scribe: production-grade MCP servers from OpenAPI schemas},
author = {Gomez, Kye},
year = {2026},
url = {https://github.com/kyegomez/mcp-scribe}
}@misc{mcp2024,
title = {Model Context Protocol},
author = {Anthropic},
year = {2024},
url = {https://modelcontextprotocol.io}
}This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAutomatically converts any OpenAPI specification into an MCP server, exposing all HTTP endpoints as callable tools with support for various authentication methods and request types.2
- FlicenseNot gradedqualityDmaintenanceDynamically converts any API with an OpenAPI v3 specification into MCP tools for AI assistants. It supports multiple authentication methods including OAuth2, Bearer tokens, and API keys for flexible integration.
- AlicenseNot gradedqualityAmaintenanceTurns any OpenAPI/Swagger API into MCP tools, enabling AI assistants to call REST API endpoints directly.2MIT
- AlicenseNot gradedqualityDmaintenanceExposes OpenAPI endpoints as MCP tools, enabling LLMs to discover and interact with REST APIs through the MCP protocol.13MIT
Related MCP Connectors
Point Gecko at an OpenAPI spec; get first-call-correct, auth-hidden agent tools.
Free public MCP for AI agents — 193 tools, 44 workflows. No API key.
Generate a typed SDK, CLI, and MCP server from any OpenAPI or GraphQL spec, and keep them current.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/The-Swarm-Corporation/mcp-scribe'
If you have feedback or need assistance with the MCP directory API, please join our Discord server