Skip to main content
Glama
The-Swarm-Corporation

openapi-to-mcp

MCP Scribe

Transkribieren Sie jedes OpenAPI-Schema in einen produktionsreifen MCP-Server.

PyPI Python License

Swarms GitHub Swarms website Discord Twitter


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-scribe

Aus 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 8000

Diesen 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 $refs werden vorab abgerufen und aufgelöst.

Werkzeugerzeugung ohne Code

Ein MCP-Werkzeug pro Operation, ausgegeben als JSON Schema 2020-12 mit der vollständigen style/explode-Matrix, $defs für rekursive Modelle und automatischer Body-Aufbereitung für präzise Werkzeugaufrufe.

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 Retry-After, ein Schutzschalter pro Host, ein Token-Bucket, ein Nebenläufigkeitslimit und ein Wanduhr-Budget pro Werkzeugaufruf.

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 operationId; --read-only beschränkt einen Server mit einem einzigen Flag auf GET/HEAD/OPTIONS.

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 /health-Probe und zustandslosen Sitzungen für gemeinsam genutzte, horizontal skalierte Bereitstellungen.

Hygiene für Geheimnisse

.env-Dateien, MCP_SCRIBE_*-Umgebungsvariablen und ${VAR}-Interpolation in der Konfiguration. Geheimnisse werden im Speicher als SecretStr gehalten und in der Ausgabe geschwärzt.

Betriebliche Werkzeuge

inspect zur Validierung einer Einrichtung ohne Start, call --dry-run zur Anzeige der exakten ausgehenden Anfrage, strukturierte JSON-Protokollierung und Neuladen der Spezifikation im laufenden Betrieb.

Bereitstellbare Artefakte

generate erzeugt ein eigenständiges Projekt mit Dockerfile, fixierten Abhängigkeiten, Konfiguration und einer eingebetteten Spezifikation für den Offline-Start.


Dokumentation

Dokument

Inhalt

docs/DOCS.md

Vollständige Benutzeranleitung – mentales Modell, Transporte, Anmeldedaten, Mehrmandantenfähigkeit, Filterung, Schema-Gestaltung, Zuverlässigkeit, Fehlersuche, Bereitstellung und Problemlösung.

docs/REFERENCE.md

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.

CLAUDE.md

Anleitung für Mitwirkende und Agenten – Befehle, modulare Architektur, tragende Invarianten, Konventionen und Stolperfallen.

MCP_SCRIBE_SKILL.md

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}
}
A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

View all related MCP servers

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.

View all MCP Connectors

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/The-Swarm-Corporation/mcp-scribe'

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