OpenAPI からモデルコンテキストプロトコル (MCP)
OpenAPI-MCP プロキシは OpenAPI 仕様を MCP ツールに変換し、AI エージェントがカスタム ラッパーなしで外部 API にアクセスできるようにします。

AIエージェントと外部API間のギャップを埋める
OpenAPI to Model Context Protocol(MCP)プロキシサーバーは、OpenAPI仕様を標準化されたMCPツール、リソース、プロンプトに動的に変換することで、AIエージェントと外部API間のギャップを埋めます。これにより、カスタムAPIラッパーが不要になり、統合が簡素化されます。
役に立つと思ったら、GitHub で ⭐ を付けてください。
Related MCP server: MCP Command Proxy
主な特徴
FastMCP トランスポート:
stdio用に最適化されており、一般的な LLM オーケストレーターですぐに使用できます。OpenAPI 統合: OpenAPI 操作を解析し、呼び出し可能なツールとして登録します。
リソース登録: OpenAPI コンポーネント スキーマを、定義された URI を持つリソース オブジェクトに自動的に変換します。
プロンプト生成: API 操作に基づいてコンテキスト プロンプトを生成し、LLM が API を使用するようガイドします。
**OAuth2 サポート:**クライアント資格情報フローを介してマシン認証を処理します。
**JSON-RPC 2.0 サポート:**完全準拠のリクエスト/レスポンス構造。
自動メタデータ: OpenAPI 仕様からツール名、概要、スキーマを取得します。
サニタイズされたツール名: MCP の名前制約との互換性を確保します。
**柔軟なパラメータ解析:**クエリ文字列 (先頭に「?」が付く) と複数の JSON バリエーション (ドットと数値を含むキーを含む) をサポートします。
**強化されたパラメータ処理:**パラメータを正しいデータ型に自動的に変換します。
**拡張ツール メタデータ:**詳細なパラメーター情報と応答スキーマが含まれます。
クイックスタート
インストール
LLMオーケストレータの構成
Claude Desktop 、 Cursor 、 Windsurfの場合は、以下のスニペットを使用し、それに応じてパスを調整します。
この構成を次のファイルに適用します。
カーソル:
~/.cursor/mcp.jsonウィンドサーフィン:
~/.codeium/windsurf/mcp_config.jsonClaude デスクトップ:
~/Library/Application Support/Claude/claude_desktop_config.json
full_path_to_openapi_mcp実際のインストール パスに置き換えます。
環境設定
変数 | 説明 | 必須 | デフォルト |
| OpenAPI仕様のURL | はい | - |
| MCPサーバー名 | いいえ |
|
| OAuth クライアント ID | いいえ | - |
| OAuthクライアントシークレット | いいえ | - |
| OAuthトークンエンドポイントURL | いいえ | - |
| OAuthスコープ | いいえ |
|
仕組み
**OpenAPI 仕様を解析します。**必要に応じて、
httpxとPyYAMLを使用して OpenAPI 仕様を読み込みます。操作を登録します。API操作を抽出し、適切な入力および応答スキーマを持つ MCP 互換ツールを生成します。
リソース登録: OpenAPI コンポーネント スキーマを、割り当てられた URI (例:
/resource/{name}) を持つリソース オブジェクトに自動的に変換します。プロンプト生成: API 操作に基づいてコンテキスト プロンプトを作成し、LLM が API の使用状況を理解できるようにします。
**認証:**クライアント資格情報フローによる OAuth2 認証をサポートします。
**パラメータ処理:**パラメータを必要なデータ型に変換し、柔軟なクエリ文字列と JSON 形式をサポートします。
**JSON-RPC 2.0 準拠:**ツールの相互作用のための標準通信プロトコルを保証します。
リソースとプロンプト
ツールに加えて、プロキシ サーバーは次のものを自動的に登録するようになりました。
リソース: OpenAPI コンポーネント スキーマから派生したリソース オブジェクトは、構造化データ処理のために定義された URI (例:
/resource/{name}) に登録されます。プロンプト: API 操作に基づいてコンテキスト プロンプトが生成され、LLM に使用ガイドが提供され、利用可能なエンドポイントの理解が向上します。
この拡張メタデータは、包括的な API コンテキストを提供することで統合を改善します。

貢献
このリポジトリをフォークします。
新しいブランチを作成します。
変更内容を明確に説明したプル リクエストを送信します。
ライセンス
役に立つと思ったら、GitHub で ⭐ を付けてください。