🤖 OpenAPI MCP Server について
OpenAPI MCP Serverは、OpenAPI仕様からMCPサーバーを生成し、対応するREST APIへリクエストを中継するコマンドラインツールです。既存のOpenAPIサービスをMCPクライアントから利用可能にしたい開発者向けで、現在は初期開発段階です。
主な機能
- 01OpenAPI仕様からのMCPサーバー生成
- 02REST APIへのリクエスト中継
- 03MCPとRESTの形式変換
- 04仕様ファイル、接続先、ポートの設定
活用シーン
- 01既存のOpenAPIサービスのMCPクライアント公開
- 02MCPクライアント経由でのREST API呼び出し
- 03指定したAPI用のMCPサーバー起動
MCP 対応
OpenAPI仕様からMCPサーバーを生成し、MCPクライアントからのリクエストを接続先のREST APIへ転送します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
🤖 OpenAPI MCP サーバー
あらゆる OpenAPI サービスを Model Context Protocol(MCP)サーバーに変換するコマンドラインツールです。MCP 仕様に対応した AI エージェントやツールとシームレスに連携できます。
メモ
このツールは現在、開発の初期段階です。 ロードマップはこちらです。
Model Context Protocol(MCP)とは?
Model Context Protocol(MCP)は、AI エージェントが外部のツールやサービスを利用するための標準化されたプロトコルです。統一されたインターフェースを通じて、AI モデルがさまざまな機能を見つけ、理解し、利用するための一貫した方法を提供します。これにより、複数のサービスと連携する AI 搭載アプリケーションを簡単に構築できます。
OpenAPI とは?
OpenAPI(旧称 Swagger)は、RESTful Web サービスを記述、生成、利用、可視化するための、機械可読なインターフェースファイルの仕様です。ソースコードや追加のドキュメントにアクセスしなくても、人間とコンピューターの両方がサービスの機能を見つけ、理解できるようにします。
このプロジェクトについて
このミドルウェアは、OpenAPI サービスと MCP クライアントの間をつなぎます。次のことを行います。
- OpenAPI 仕様ファイルを入力として受け取ります
- MCP に準拠したサーバーを自動生成します
- 受信したリクエストを実際の OpenAPI サービスにプロキシします
- MCP と REST の規約を相互に変換します
これにより、OpenAPI 仕様を持つ既存の REST API を、元のサービスに変更を加えることなく、MCP を理解する AI エージェントからすぐに利用できるようになります。
インストール
npm install -g openapi-mcp-proxy
使い方
npx openapi-mcp-proxy --spec ./path/to/openapi.yml --target http://your-api.com --port 3000
オプション
-s, --spec <path>(必須):OpenAPI 仕様ファイルへのパス(環境変数:OMP_OPENAPI_SPEC_FILE)-t, --target <url>(任意):API サービスのターゲット URL(デフォルト:"http://localhost:8080"、環境変数:`OMP_TARGET_BASE_URL`)-p, --port <number>(任意):MCP サーバーを実行するポート(デフォルト:"3000"、環境変数:PORT)-V, --version:バージョン番号を表示します-h, --help:コマンドのヘルプを表示します
例
Petstore API 用の MCP サーバーを起動します
npx openapi-mcp-proxy --spec resources/petstore.openapi.yml --target https://petstore.swagger.io/v2
テスト
MCP Inspector
MCP サーバーをテストするには、Model Context Protocol を使用できます。
- MCP Inspector をインストールします。
npx @modelcontextprotocol/inspector
- MCP サーバーを起動します
- Inspector の UI に移動し、
/mcpで終わる正しいサーバーパスを入力します。例:http://localhost:3000/mcp - これで MCP サーバーを操作できます。MCP Inspector には、リクエストとレスポンスの詳細情報が表示されます。
VS Code を使う場合
VS Code に組み込まれたエージェントモードを使うと、より簡単に利用できます。
- VS Code を開き、エージェントモードを有効にします。
Cmd/Ctrl + Shift + Pを押します- 「Toggle GitHub Copilot Agent Mode」と入力します
- 「Enable」を選択します
- MCP サーバーを追加します。
Cmd/Ctrl + Shift + Pを押します- 「MCP: add Server」と入力します
http://localhost:3000/mcpのように、/mcpで終わるMCP サーバーの URL を入力します
- GitHub Copilot Chat に新しいツールが認識されます。
- VS Code のエージェントインターフェースから MCP サーバーを操作できます。「現在利用可能なペットは何匹ですか?」と尋ねてみてください。
VS Code で MCP サーバーを使用する方法について詳しくは、こちらをご覧ください。
コントリビューション
コントリビューションを歓迎します。お気軽にプルリクエストを送信してください。 ロードマップはこちらです。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。