openapi2mcp について
openapi2mcpは、開発者向けのコマンドラインツールで、OpenAPI 3.x仕様からFastMCPサーバーコードを生成します。生成ファイルの基本チェックや、llms.txtの出力にも対応しています。
主な機能
- 01JSONまたはYAML仕様からFastMCPサーバーコードを生成
- 02stdioまたはgoogle_pubsubのトランスポートを選択
- 03リソースのマウントパスを設定
- 04llms.txtファイルを生成
- 05生成コードの構文とMCPパターンを確認
活用シーン
- 01既存のAPI仕様からMCPサーバーを作成
- 02利用前に生成したサーバーコードを検査
MCP 対応
OpenAPI仕様からMCPサーバーコードを生成します。生成されたサーバーは、仕様に記載されたAPIをMCPクライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
openapi2mcp
OpenAPI 3.x 仕様を FastMCP サーバーに変換するツールです。
インストール
poetry install
使用方法/コマンド
openapi2mcp は、OpenAPI 仕様から MCP サーバーのコードを生成、管理するためのコマンドラインインターフェースを提供します。
generate
OpenAPI 仕様ファイルから MCP サーバーの Python コードを生成します。
構文:
openapi2mcp generate [OPTIONS]
オプション:
-i, --input-file PATH:OpenAPI 仕様ファイル(JSON または YAML)へのパスです。(必須)-o, --output-file PATH:生成された MCP サーバーの出力 Python ファイルへのパスです。(必須)-t, --transport [stdio|google_pubsub]:MCP サーバーのトランスポート方式です。(デフォルト:stdio)--llms-txt-file PATH:llms.txtファイルを生成するための任意のパスです。このファイルには、生成されたツールとリソースの LLM 向け説明が記載されます。指定しない場合、llms.txtは出力サーバーファイルと同じディレクトリに作成されます。--mount TEXT:リソースの任意のマウントパスです(例:/myapi/v1)。(デフォルト:"")
例:
openapi2mcp generate --input-file examples/example_openapi.yaml --output-file generated_server.py --transport stdio --mount "/api"
このコマンドは examples/example_openapi.yaml を解析し、stdio トランスポートを使用する generated_server.py という名前の MCP サーバーファイルを生成して、リソースのマウントパスを /api に設定します。また、generated_server.py と同じディレクトリに llms.txt ファイルを生成します。
check
生成された MCP サーバーの Python ファイルについて、構文や主要な MCP パターンの有無など、基本的なコードの妥当性を確認します。
構文:
openapi2mcp check --server-file PATH
オプション:
--server-file PATH:確認する、生成済み MCP サーバーの Python ファイルへのパスです。(必須)
例:
openapi2mcp check --server-file generated_server.py
version
openapi2mcp ツールのバージョンを表示します。
構文:
openapi2mcp version
例:
openapi2mcp version
例
実装例を参照してください:
プロジェクト構成
openapi2mcp/parser.py:OpenAPI 仕様パーサーopenapi2mcp/generator.py:FastMCP サーバーコードジェネレーターopenapi2mcp/cli.py:コマンドラインインターフェース
ライセンス
MIT - LICENSE を参照
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。