OpenAPI からモデルコンテキストプロトコル (MCP)
OpenAPI-MCP プロキシは OpenAPI 仕様を MCP ツールに変換し、AI エージェントがカスタム ラッパーなしで外部 API にアクセスできるようにします。
AIエージェントと外部API間のギャップを埋める
OpenAPI to Model Context Protocol(MCP)プロキシサーバーは、OpenAPI仕様を標準化されたMCPツール、リソース、プロンプトに動的に変換することで、AIエージェントと外部API間のギャップを埋めます。これにより、カスタムAPIラッパーが不要になり、統合が簡素化されます。
役に立つと思ったら、GitHub で ⭐ を付けてください。
主な特徴
- 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.json
- Claude デスクトップ:
~/Library/Application Support/Claude/claude_desktop_config.json
full_path_to_openapi_mcp
実際のインストール パスに置き換えます。
環境設定
変数 | 説明 | 必須 | デフォルト |
---|---|---|---|
OPENAPI_URL | OpenAPI仕様のURL | はい | - |
SERVER_NAME | MCPサーバー名 | いいえ | openapi_proxy_server |
OAUTH_CLIENT_ID | OAuth クライアント ID | いいえ | - |
OAUTH_CLIENT_SECRET | OAuthクライアントシークレット | いいえ | - |
OAUTH_TOKEN_URL | OAuthトークンエンドポイントURL | いいえ | - |
OAUTH_SCOPE | OAuthスコープ | いいえ | api |
仕組み
- **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 で ⭐ を付けてください。
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
OpenAPI 仕様を標準化された MCP ツールに動的に変換することで AI エージェントと外部 API を橋渡しし、カスタム統合コードなしでシームレスな相互作用を可能にするプロキシ サーバーです。
Related MCP Servers
- AsecurityAlicenseAqualityAn MCP server that generates AI agent tools from Postman collections and requests. This server integrates with the Postman API to convert API endpoints into type-safe code that can be used with various AI frameworks.Last updated -17JavaScriptMIT License
- -securityAlicense-qualityA proxy server that enables AI assistants to run and interact with command-line applications like Expo through the Model Context Protocol (MCP), capturing logs and allowing keypress forwarding.Last updated -126TypeScriptMIT License
- -securityAlicense-qualityA command-line tool that transforms any OpenAPI service into a Model Context Protocol (MCP) server, enabling seamless integration with AI agents and tools that support the MCP specification.Last updated -902TypeScriptMIT License
- -securityFlicense-qualityA dynamic proxy that converts OpenAPI Specification (OAS) endpoints into Message Communication Protocol (MCP) tools, allowing AI agents to use existing REST APIs as if they were native MCP tools without manual implementation.Last updated -14TypeScript