> ## Documentation Index
> Fetch the complete documentation index at: https://mcpverified.com/llms.txt
> Use this file to discover all available pages before exploring further.

# OpenAPI → MCP ジェネレーター

> 既存の OpenAPI 仕様から MCP サーバーを自動生成するツール

# &#x20;既存の API を MCP サーバーに変換する

多くのチームは **OpenAPI 3.0+** で定義された REST API をすでに運用しています。サーバーフレームワークで一から書き直す代わりに、上流 API へリクエストをプロキシしつつ AI アシスタントとは **Model Context Protocol** (MCP) で通信できる、薄い MCP ラッパーを自動生成できます。

これらのジェネレーターは **既存サービス** を対象としており、[フレームワーク比較](https://mcpverified.com/server-frameworks/ja/comparison.md) は **新規にサーバーを構築** するケースにフォーカスしています。

&#x20;すでに OpenAPI 仕様を持っていて、最小限の工数で MCP 対応したい場合にこれらのツールを使いましょう。

## &#x20;利用可能なジェネレーター

## &#x20;クイックスタート（stdio の例）

```bash theme={null}
# グローバルインストール
npm i -g openapi-mcp-generator

# OpenAPI ファイルから stdio モードの MCP サーバーを生成
openapi-mcp-generator \
  --input ./petstore.json \
  --output ./petstore-mcp

cd petstore-mcp && npm install && npm start
```

CLI は次の処理を行います:

1. OpenAPI ドキュメントを解析
2. `@modelcontextprotocol/sdk` を用いた型安全な TypeScript プロジェクトを生成
3. 検証用に Zod スキーマを生成
4. `stdio` エントリポイント（オプションで `web` / `streamable-http`）を作成
5. 簡易 HTML クライアントを同梱

## &#x20;自動生成サーバーを選ぶべきケース

* 既存の **レガシー REST API** をすばやく AI と連携させたい
* **バックエンドチーム** が MCP の詳細を学習する時間を取りたくない
* **プロトタイピング** で複数マイクロサービスを短時間で公開したい
* **一貫性** — OpenAPI と MCP の定義を常に同期させたい

> [!WARNING]
>
> 生成されたコードはあくまで出発点です。実運用前に認証、ログ、エラーハンドリングなどを強化してください。

## &#x20;主な機能

| 機能 | openapi-mcp-generator |
| - | - |
| **OpenAPI 3.0+ 対応** | ✓ |
| **トランスポート** (`stdio`, `web` + SSE, `streamable-http`) | ✓ |
| **認証方式** (API キー, Bearer, Basic, OAuth2) | ✓ |
| **ランタイム検証 (Zod)** | ✓ |
| **型安全な TypeScript 出力** | ✓ |
| **テスト用 HTML クライアント** | ✓ |

## &#x20;制限と注意点

&#x20;**MCP は単なる REST プロキシではありません。** OpenAPI のすべてのエンドポイントを機械的にツール化すると、LLM の性能をむしろ悪化させることがあります。

LLM の専門家（例: [David Cramer](https://x.com/zeeg/status/1913289979368796671)）は、*OpenAPI-as-MCP* 的な安易な変換には次の問題があると指摘しています:

* **ツール過多:** エンドポイントが数十〜数百あると、類似した名前のツールを LLM が誤選択しがちです。
* **パラメータ過多:** REST エンドポイントは任意パラメータが多く、UI コンテキスト無しでモデルが入力値を決定しなければなりません。
* **コンテキスト容量:** 一部モデルはツール説明を \~1kB に制限しており、詳細なドキュメントは切り捨てられます。
* **レスポンスの冗長さ:** UUID やネストが深い JSON はモデルには解釈しづらい。
* **抽象度のミスマッチ:** 優れた MCP ツールは「#sales へメッセージを送る」など *意図に近い* 操作単位で設計されるべきです。

> [!TIP]
>
> 生成コードを **雛形** として活用し、不要なエンドポイントを削除したり、複雑な操作を LLM 向けに高レベルなツールへラップし直すことを推奨します。

## &#x20;参考リンク

* GitHub: [harsha-iiiv/openapi-mcp-generator](https://github.com/harsha-iiiv/openapi-mcp-generator)
* NPM: [`openapi-mcp-generator`](https://www.npmjs.com/package/openapi-mcp-generator)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.