mcpField
M
MCP Server from OpenAPI

MCP Server from OpenAPI

ローカル
github.com/rajeshm7910開発ツール073 週間前に更新

MCP Server from OpenAPI について

OpenAPI 仕様から MCP サーバーを構築する Python 実装です。SSE とストリーミングに対応し、MCP クライアントと ADK エージェントの例を備えています。

主な機能

  1. 01OpenAPI 仕様からエンドポイントを生成
  2. 02SSE とストリーミングに対応
  3. 03MCP と ADK のクライアント例
  4. 04環境変数による設定

活用シーン

  1. 01OpenAPI 定義の API を MCP クライアントに公開
  2. 02SSE またはストリーミングで API 呼び出しをテスト
  3. 03ADK エージェントを生成したエンドポイントに接続

MCP 対応

OpenAPI 仕様から MCP サーバーを生成し、API 操作を MCP クライアントに公開します。SSE とストリーミングのサーバーおよびクライアント実装が含まれます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

OpenAPI からの MCP サーバー

OpenAPI 仕様から MCP サーバーを実装し、SSE(Server-Sent Events)とストリーミングレスポンスの両方をサポートします。

前提条件

  • Python 3.x
  • pip(Python パッケージマネージャー)
  • Anthropic API キー(MCP クライアント用)
  • Google API キー(ADK エージェント用)

インストール

  1. 仮想環境を作成して有効化します:
python3 -m venv venv
source venv/bin/activate
  1. 依存関係をインストールします:
pip install -r requirements.txt

サーバーのセットアップ

サーバーは次の 2 つのモードで実行できます。

SSE モード
python server/mcp_server_sse.py --spec server/httpbin_openapi.yaml --name httpbin --base-url https://httpbin.org
ストリーミングモード
python server/mcp_server_stream.py --spec server/httpbin_openapi.yaml --name httpbin --base-url https://httpbin.org

クライアントのセットアップ

MCP クライアント
  1. プロジェクトのルートに .env ファイルを作成し、Anthropic API キーを追加します:
ANTHROPIC_API_KEY=your_api_key_here
  1. 使用するクライアントを実行します:
    • SSE クライアントの場合:
    python client/sse_client.py
    
    • ストリーミングクライアントの場合:
    python client/stream_client.py
    

MCP クライアントまたはストリーミングクライアントでの使用例:

MCP Client Started!
Type your queries or 'quit' to exit.

Query: Get Headers

I'll help you get the headers using the api_call function.
[Calling tool api_call with args {'kwargs': '{"action": "get_headers"}'}]
Here are the headers from the response:

```json
{
    "Accept": "*/*",
    "Accept-Encoding": "gzip, deflate",
    "Content-Type": "application/json",
    "Host": "httpbin.org",
    "User-Agent": "python-httpx/0.28.1",
    "X-Amzn-Trace-Id": "Root=1-683fecc4-674af7e9323b027c4b9bc740"
}
ADK エージェント
前提条件
  1. ADK をインストールします:
pip install google-adk
セットアップ手順
  1. 重要:ストリーミングモードの回避策

    • 最新の mcp_session_manager.py を Google ADK リポジトリからダウンロードします
    • ADK のインストール先にある既存のファイルを置き換えます:
      # 典型的なパス(必要に応じて Python のバージョンを調整してください)
      cp mcp_session_manager.py venv/lib/python3.13/site-packages/google/adk/tools/mcp_tool/
      
  2. Clients ディレクトリに移動します:

cd client
  1. 環境を設定します:

    • httpb_sse_agent ディレクトリと httpbin_stream_agent ディレクトリの両方にある .env ファイルに、次の内容を追加します:
    GOOGLE_GENAI_USE_VERTEXAI="False"
    GOOGLE_API_KEY="your_google_api_key_here"
    
  2. ADK のウェブインターフェースを起動します:

adk web

機能

  • OpenAPI 仕様に基づくエンドポイントの生成
  • SSE とストリーミングレスポンスの両方をサポート
  • 複数のクライアント実装(MCP および ADK)
  • 環境変数による簡単な設定

トラブルシューティング

ADK のストリーミングモードの問題

ストリーミングモードで ADK エージェントに問題が発生した場合:

  1. mcp_session_manager.py ファイルを置き換えたことを確認します
  2. .env ファイルに Google API キーが正しく設定されていることを確認します
  3. 最新バージョンの ADK を使用していることを確認します

ライセンス

このプロジェクトは Apache 2.0 ライセンスの下でライセンスされています。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。