Blank white background with no objects or features visible.

Wir stellen Ihnen den vollständigen Gartner Hype Cycle für KI-Governance 2026 kostenlos zur Verfügung. Hier Exemplar sichern →

Konvertierung einer OpenAPI-Spezifikation in einen MCP-Server: Architektur und Grenzfälle

von Boyu Wang

Published: October 6, 2026

Anthropic hat das Model Context Protocol im November 2024 eingeführt. Innerhalb eines Jahres haben fast alle Anbieter von API-Tools und mehrere unabhängige Generatoren Wege entwickelt, um eine OpenAPI-Spezifikation mechanisch in einen funktionierenden MCP-Server zu konvertieren. Die grundlegende Abbildung ist meist sauber: Der Pfad wird zum Tool-Namen, die Parameter zum Eingabe-Schema und die Erfolgsantwort zum Ausgabe-Schema. Die interessanten Aspekte liegen dort, wo die Abbildung verlustbehaftet ist – bei Paginierung, Multipart-Uploads, Webhooks und Streaming-Antworten – sowie bei den operativen Komponenten, die darüber entscheiden, ob der generierte Server tatsächlich nutzbar ist: Authentifizierungsinjektion, Schema-Validierung und die Qualität der Beschreibungen. Dieser Beitrag erläutert den vollständigen Algorithmus und die spezifischen Muster, die sich nicht direkt übertragen lassen.

Key Takeaways
  • OpenAPI-to-MCP conversion is a known multi-vendor pattern (TrueFoundry, Speakeasy, Stainless, FastMCP, and several open-source generators). The high-level mapping is broadly similar across all of them; the interesting differences sit in naming conventions, schema flattening, pagination defaults, and how each handles the lossy cases.
  • Tool naming uses operationId where present, otherwise method + path with non-alphanumerics replaced by underscores (GET /users/{user_id}/repos → get_users_user_id_repos). Names should be snake_case and stable across regenerations — operationIds are almost always better than synthesized names.
  • Path parameters become required tool arguments; query parameters become optional with OpenAPI defaults preserved; application/json request bodies become structured object arguments. multipart/form-data and binary uploads are partial-support at best.
  • Only the success response schema (2xx) maps to the MCP outputSchema. Error responses are returned to the agent as tool errors, not as alternative output shapes — usually the right thing, occasionally not.
  • Pagination is the canonical lossy case. Three real options: expose paging arguments and let the agent paginate; fetch-all-pages inside the generated server; expose a separate next-page tool. Each has different cost, latency, and agent-complexity tradeoffs.
  • Auth injection happens at the gateway, not in generated code. The generated MCP server has no credentials of its own — it receives an HTTP client from the gateway runtime with the right token already attached for the calling user.
  • TrueFoundry's MCP Gateway includes an OpenAPI-to-MCP generator that runs as part of the gateway control plane. The auth, RBAC, schema validation, and audit logging are gateway primitives the generated server inherits by sitting behind the gateway — the same primitives that apply to any other MCP server registered with it.

Dienstag bei Northwind. Priya, Integrationsleiterin im Team für die Logistikplattform, erhält ein Ticket: „Mache den shipment-tracking-svc für den Routing-Optimierungs-Agenten aufrufbar.“ Der Dienst verfügt über 47 REST-Endpunkte, eine gepflegte OpenAPI 3.1-Spezifikation, OAuth2-Authentifizierung, cursorbasierte Paginierung, zwei Webhook-Endpunkte und einen Streaming-Endpunkt für Live-LKW-Telemetrie. Die MCP-Toolbox des Agenten umfasst derzeit 12 Tools aus drei anderen Diensten, die jeweils in etwa einer Woche von Hand programmiert wurden. 47 Endpunkte in diesem Tempo zu bearbeiten, würde fast ein Viertel der gesamten Entwicklungszeit in Anspruch nehmen.

Die OpenAPI-Spezifikation beschreibt den Dienst bereits in maschinenlesbarer Form – Pfade, Parameter, Schemata, Antwortstrukturen und sogar die OAuth2-Scopes pro Operation. Die manuelle Arbeit, die sie bisher geleistet hat, fügt keine Informationen hinzu, die nicht bereits in der Spezifikation enthalten wären. Die Arbeit bestand hauptsächlich aus der Übersetzung von einer Schema-Sprache in eine andere, mit einer kleinen Anzahl klar definierter Grenzfälle. Diese Arbeit gehört in einen Build-Schritt, nicht in ein Viertel der Entwicklungszeit.

Dieser Beitrag beschreibt den Konvertierungsalgorithmus – was sich sauber abbilden lässt, was nicht, und die operativen Komponenten (Authentifizierung, Validierung, Beschreibungsqualität), die den generierten Server tatsächlich einsatzbereit machen.

1. Der Konvertierungsalgorithmus: Vom OpenAPI-Pfad zum MCP-Tool

Die Konvertierung durchläuft das OpenAPI-Dokument und erstellt ein MCP-Tool pro (Pfad, Methode)-Paar. Für jedes Paar werden vier Dinge berechnet: der Tool-Name, die Beschreibung, das Eingabe-Schema und (sofern die Ziel-MCP-Revision dies unterstützt) das Ausgabe-Schema.

Tool-Name. Bevorzugen Sie die operationId, falls der Autor der Spezifikation eine angegeben hat – operationIds sind idiomatische Bezeichner, die meist bereits auf gute Lesbarkeit hin gewählt wurden. Falls sie fehlt, synthetisieren Sie diese aus Methode und Pfad: Setzen Sie die Methode in Kleinbuchstaben, hängen Sie den Pfad an, ersetzen Sie nicht-alphanumerische Zeichen durch Unterstriche und fassen Sie doppelte Unterstriche zusammen. GET /users/{user_id}/repos wird zu get_users_user_id_repos. Die synthetisierte Form ist syntaktisch korrekt, aber wortreich; operationIds sind vorzuziehen, sofern sie existieren.

Tool-Beschreibung. Bevorzugen Sie summary, dann description und schließlich einen generierten Stub aus Methode + Pfad. Abschnitt 6 behandelt, warum dieses scheinbar unbedeutende Feld wichtiger ist, als man vermuten würde.

Eingabe-Schema. Eine Zusammenführung von Pfadparametern, Abfrageparametern und dem Schema des Request-Bodys zu einem einzigen JSON-Schema-Objekt, mit den korrekten Markierungen für erforderliche/optionale Felder. Details finden Sie in Abschnitt 2.

Ausgabe-Schema. Das Schema, das an die erste 2xx-Antwort für application/json angehängt ist. Andere Content-Typen und Nicht-2xx-Antworten werden nicht abgebildet. Details finden Sie in Abschnitt 3.

YAML – OpenAPI-Pfadelement (Auszug aus shipment-tracking-svc)

paths:
  /users/{user_id}/repos:
    get:
      operationId: listUserRepos
      summary: List a user's repositories
      description: Returns repositories accessible to the
        authenticated user, owned by user_id, paginated by cursor.
      parameters:
        - name: user_id
          in: path
          required: true
          schema: { type: string }
        - name: per_page
          in: query
          schema: { type: integer, default: 30, maximum: 100 }
        - name: cursor
          in: query
          schema: { type: string, nullable: true }
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RepoListPage'
        '401': { $ref: '#/components/responses/Unauthorized' }
        '404': { $ref: '#/components/responses/NotFound' }
      security:
        - oauth2: [repo:read]

JSON – generiertes MCP-Tool

{
  "name": "list_user_repos",
  "description": "List a user's repositories. Returns repositories accessible to the authenticated user, owned by user_id, paginated by cursor.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "user_id":  { "type": "string" },
      "per_page": { "type": "integer", "default": 30, "maximum": 100 },
      "cursor":   { "type": "string", "nullable": true }
    },
    "required": ["user_id"]
  },
  "outputSchema": { "$ref": "#/$defs/RepoListPage" }
}

‍

Try now.

One gateway for all your models, MCP servers, and agents.
No credit card needed.

Melde dich an
Inhaltsverzeichniss

Steuern, implementieren und verfolgen Sie KI in Ihrer eigenen Infrastruktur

Buchen Sie eine 30-minütige Fahrt mit unserem KI-Experte

Eine Demo buchen

Der schnellste Weg, deine KI zu entwickeln, zu steuern und zu skalieren

Demo buchen
Summarize with
ChatGPT logo by OpenAI
Perplexity AI logo
Blurry red snowflake on white background, symmetrical frosty design with soft edges and abstract shape.

Entdecke mehr

Keine Artikel gefunden.
October 14, 2026
|
Lesedauer: 5 Minuten

How to Use OpenRouter in Claude Code: Setup Guide

Keine Artikel gefunden.
October 14, 2026
|
Lesedauer: 5 Minuten

Claude Code Router vs AI Gateway: When a Local Router Stops Being Enough

Keine Artikel gefunden.
LLM Gateway Evaluation
October 13, 2026
|
Lesedauer: 5 Minuten

Wie sollten Unternehmen LLM Gateway for Scale bewerten?

Keine Artikel gefunden.
Best Fine Tuning Tools for Model Training
October 13, 2026
|
Lesedauer: 5 Minuten

Die 6 besten Tools zur Feinabstimmung für das Modelltraining im Jahr 2026

Technik und Produkt
Keine Artikel gefunden.

Aktuelle Blogs

Black left pointing arrow symbol on white background, directional indicator.
Black left pointing arrow symbol on white background, directional indicator.
Machen Sie eine kurze Produkttour
Produkttour starten
Produkttour