mcpField
M
MCP FastAPI Server

MCP FastAPI Server

github.com/karthikv2kフレームワーク・SDK485 週間前に更新

MCP FastAPI Server について

MCP FastAPI Serverは、MCPサーバーと通信する非同期FastAPIサービスです。HTTPエンドポイントからサーバーやツールを一覧表示し、選択したツールを呼び出せます。

主な機能

  1. 01MCPサーバーの一覧表示
  2. 02サーバーツールの一覧表示
  3. 03MCPツールの呼び出し
  4. 04インタラクティブなAPIドキュメント

活用シーン

  1. 01HTTP経由でMCP操作を公開
  2. 02呼び出し前にツールを確認
  3. 03APIクライアントからMCPツールを実行

MCP 対応

アクセス可能なローカルまたはリモートのMCPサーバーに接続します。APIを通じてサーバーとツールを一覧表示し、選択したサーバーのツールを呼び出します。

詳細

MCP FastAPI サーバー

Model Context Protocol (MCP) サーバーと通信する FastAPI ベースの非同期 API サーバーです。

機能

  • 利用可能な MCP サーバーの一覧表示
  • MCP サーバーから利用可能なツールの一覧表示
  • MCP サーバー上のツール呼び出し

API エンドポイント

  • POST /api/list-mcp-servers: 利用可能なすべての MCP サーバーを一覧表示
  • POST /api/list-tools: MCP サーバーから利用可能なすべてのツールを一覧表示
  • POST /api/invoke-tool: MCP サーバー上のツールを呼び出し

前提条件

  • Python 3.8 以上
  • アクセス可能な MCP サーバー (ローカルまたはリモート)

インストール

  1. このリポジトリをクローンします:

    git clone <repository-url>
    cd mcp-fastapi-server
    
  2. 仮想環境を作成します:

    python -m venv venv
    source venv/bin/activate  # For Windows: venv\Scripts\activate
    
  3. 依存関係をインストールします:

    pip install -r requirements.txt
    
  4. 例から .env ファイルを作成します:

    cp .env.example .env
    

    .env ファイルを編集して MCP サーバーの URL やその他の設定を構成します。

サーバーの実行

以下でサーバーを起動します:

uvicorn app.main:app --reload

これにより http://localhost:8000 でサーバーが起動します。

API 使用例

MCP サーバーの一覧表示
curl -X POST http://localhost:8000/api/list-mcp-servers -H "Content-Type: application/json" -d '{}'
MCP サーバーからのツールの一覧表示
curl -X POST http://localhost:8000/api/list-tools -H "Content-Type: application/json" -d '{"server_url": "http://localhost:5000"}'
ツールの呼び出し
curl -X POST http://localhost:8000/api/invoke-tool -H "Content-Type: application/json" -d '{
  "server_url": "http://localhost:5000",
  "tool_name": "example_tool",
  "params": {
    "parameter1": "value1",
    "parameter2": "value2"
  }
}'

ドキュメント

サーバーが実行されている場合、以下でインタラクティブ API ドキュメントにアクセスできます:

  • Swagger UI: http://localhost:8000/docs
  • ReDoc: http://localhost:8000/redoc

ライセンス

MIT # chat-mcp

コメント

MCP は初めてですか?

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

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