OpenAPI → MCP Server について
OpenAPI → MCP Server は、OpenAPI 仕様から Node.js/TypeScript の MCP サーバーを診断、生成、実行、テストする Python 製コマンドラインツールです。生成設定や実行制御、サーバーの検証を行う開発者向けです。
主な機能
- 01stdio と streamable HTTP のサーバー生成
- 02仕様の診断と MCP サーフェスの比較
- 03mcpgen.yaml による生成方針の設定
- 04対応する認証方式の環境変数へのマッピング
- 05実行制限、リトライ、サーキットブレーカーの設定
活用シーン
- 01OpenAPI 仕様から MCP サーバーを生成
- 02仕様の生成上の問題を確認
- 03仕様変更後に MCP サーフェスを比較
- 04生成したサーバーの実行とスモークテスト
MCP 対応
OpenAPI の各操作を MCP ツールとして公開する Node.js/TypeScript の MCP サーバーを生成します。生成サーバーは stdio または streamable HTTP に対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
OpenAPI → MCP サーバー
OpenAPI 仕様から Node.js/TypeScript の MCP サーバーを診断、差分比較、生成、実行、テストするスタンドアロン CLI です。
インストール
PyPI から openapi-to-mcp-cli をインストールします。Python 3.14 以降が必要です。
生成されたサーバーのビルドと実行には、Node.js 22 以降と npm も必要です。
uv tool install openapi-to-mcp-cli
openapi-to-mcp --help
インストール後もコマンドは openapi-to-mcp のままです。1 回限りの使用には、次のようにします。
uvx --from openapi-to-mcp-cli openapi-to-mcp --help
アップグレード、タグ付き Git インストール、リリース成果物については、インストールガイドを参照してください。
クイックスタート
再利用可能なプロジェクトを生成します。
openapi-to-mcp generate \
--openapi-json ./openapi.yaml \
--output-dir ./generated-server
仕様から直接実行します。
openapi-to-mcp run \
--openapi-json https://petstore3.swagger.io/api/v3/openapi.json \
--target-api-base-url https://petstore3.swagger.io/api/v3
実行中のサーバーのスモークテストを行います。
openapi-to-mcp test-server \
--transport streamable-http \
--host 127.0.0.1 \
--port 8080 \
--mcp-endpoint /mcp \
--list-tools
ドキュメント
製品の公開ドキュメントは GitHub Pages で公開されています。
- ドキュメントのトップページ:nihal1294.github.io/openapi-to-mcp
現在の機能
stdioおよびstreamable-httpの生成ターゲットdoctorによる仕様の準備状況の診断diffによる MCP サーフェスの比較mcpgen.yamlによる再現可能な生成ポリシーsrc/custom/tools.tsによる再生成に安全なカスタムツール- 仕様のメタデータから生成される、より詳細なツールの説明と入力例
- 先頭にタグを付けた、グループ化されたツール名のオプション
- streamable-http の呼び出し元向けに、リクエスト単位で指定するツール許可リストのオプション
- リクエストとレスポンスのペイロードを対象とする、機密情報をマスキングした監査ログのオプション
- 安全な上流呼び出し向けの、オプションの再試行予算とサーキットブレーカー
- 明示的なランタイム制御を基盤とする、レビュー可能なパフォーマンスプリセット
generation_report.jsonを使った、デフォルトでの厳格モードapiKey、bearer、OAuth2、OpenID Connect 用の、生成された認証環境変数マッピング- 同時実行数、キューイング、タイムアウト、上限付きキャッシュ、レート制限、再試行、サーキットブレーカーを制御する、生成されたランタイム制御
- ローカルのモック API に対する、生成サーバーの E2E テスト
generate、run、test-serverを対象とする CLI の E2E テストmasterにおける、バージョン対応の PyPI および GitHub Releases 自動化
Swagger 2 のサポート
Swagger 2 のレスポンスのみのオペレーションとベース URL フィールドに対応しています。Swagger 2 の body または form パラメーター、トップレベルのパラメーター型、セキュリティ定義、またはサポートされていないプロトコルのオーバーライドを使用するオペレーションは、生成前に OpenAPI 3 に変換してください。openapi-to-mcp doctor を実行すると、該当するオペレーションとフィールドを特定できます。
開発
リポジトリ内のワークフローについては、リポジトリのドキュメントを直接参照してください。
- ソースとローカルのワークフロー:ローカルワークフロー
- 貢献ガイド:貢献方法
ライセンス
Apache License 2.0。LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。