OpenAPI to Model Context Protocol (MCP)

by gujord
Verified

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Uses Swagger/OpenAPI specifications to dynamically generate MCP tools, enabling AI agents to interact with any API that provides an OpenAPI specification

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 バリエーション (ドットと数値を含むキーを含む) をサポートします。
  • **強化されたパラメータ処理:**パラメータを正しいデータ型に自動的に変換します。
  • **拡張ツール メタデータ:**詳細なパラメーター情報と応答スキーマが含まれます。

クイックスタート

インストール

git clone https://github.com/gujord/OpenAPI-MCP.git cd OpenAPI-MCP pip install -r requirements.txt

LLMオーケストレータの構成

Claude DesktopCursorWindsurfの場合は、以下のスニペットを使用し、それに応じてパスを調整します。

{ "mcpServers": { "petstore3": { "command": "full_path_to_openapi_mcp/venv/bin/python", "args": ["full_path_to_openapi_mcp/src/server.py"], "env": { "SERVER_NAME": "petstore3", "OPENAPI_URL": "https://petstore3.swagger.io/api/v3/openapi.json" }, "transport": "stdio" } } }

この構成を次のファイルに適用します。

  • カーソル: ~/.cursor/mcp.json
  • ウィンドサーフィン: ~/.codeium/windsurf/mcp_config.json
  • Claude デスクトップ: ~/Library/Application Support/Claude/claude_desktop_config.json

full_path_to_openapi_mcp実際のインストール パスに置き換えます。

環境設定

変数説明必須デフォルト
OPENAPI_URLOpenAPI仕様のURLはい-
SERVER_NAMEMCPサーバー名いいえopenapi_proxy_server
OAUTH_CLIENT_IDOAuth クライアント IDいいえ-
OAUTH_CLIENT_SECRETOAuthクライアントシークレットいいえ-
OAUTH_TOKEN_URLOAuthトークンエンドポイントURLいいえ-
OAUTH_SCOPEOAuthスコープいいえapi

仕組み

  1. **OpenAPI 仕様を解析します。**必要に応じて、 httpxPyYAMLを使用して OpenAPI 仕様を読み込みます。
  2. 操作を登録します。API操作を抽出し、適切な入力および応答スキーマを持つ MCP 互換ツールを生成します。
  3. リソース登録: OpenAPI コンポーネント スキーマを、割り当てられた URI (例: /resource/{name} ) を持つリソース オブジェクトに自動的に変換します。
  4. プロンプト生成: API 操作に基づいてコンテキスト プロンプトを作成し、LLM が API の使用状況を理解できるようにします。
  5. **認証:**クライアント資格情報フローによる OAuth2 認証をサポートします。
  6. **パラメータ処理:**パラメータを必要なデータ型に変換し、柔軟なクエリ文字列と JSON 形式をサポートします。
  7. **JSON-RPC 2.0 準拠:**ツールの相互作用のための標準通信プロトコルを保証します。

リソースとプロンプト

ツールに加えて、プロキシ サーバーは次のものを自動的に登録するようになりました。

  • リソース: OpenAPI コンポーネント スキーマから派生したリソース オブジェクトは、構造化データ処理のために定義された URI (例: /resource/{name} ) に登録されます。
  • プロンプト: API 操作に基づいてコンテキスト プロンプトが生成され、LLM に使用ガイドが提供され、利用可能なエンドポイントの理解が向上します。

この拡張メタデータは、包括的な API コンテキストを提供することで統合を改善します。

貢献

  • このリポジトリをフォークします。
  • 新しいブランチを作成します。
  • 変更内容を明確に説明したプル リクエストを送信します。

ライセンス

MITライセンス

役に立つと思ったら、GitHub で ⭐ を付けてください。

-
security - not tested
A
license - permissive license
-
quality - not tested

OpenAPI 仕様を標準化された MCP ツールに動的に変換することで AI エージェントと外部 API を橋渡しし、カスタム統合コードなしでシームレスな相互作用を可能にするプロキシ サーバーです。

  1. Bridge the gap between AI agents and external APIs
    1. Key Features
      1. Quick Start
        1. Installation
      2. LLM Orchestrator Configuration
        1. Environment Configuration
      3. How It Works
        1. Resources & Prompts
          1. Contributing
            1. License
              ID: ldb71anrbp