MCP FastAPI Server について
MCP FastAPI Serverは、MCPサーバーと通信する非同期FastAPIサービスです。HTTPエンドポイントからサーバーやツールを一覧表示し、選択したツールを呼び出せます。
主な機能
- 01MCPサーバーの一覧表示
- 02サーバーツールの一覧表示
- 03MCPツールの呼び出し
- 04インタラクティブなAPIドキュメント
活用シーン
- 01HTTP経由でMCP操作を公開
- 02呼び出し前にツールを確認
- 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 サーバー (ローカルまたはリモート)
インストール
-
このリポジトリをクローンします:
git clone <repository-url> cd mcp-fastapi-server -
仮想環境を作成します:
python -m venv venv source venv/bin/activate # For Windows: venv\Scripts\activate -
依存関係をインストールします:
pip install -r requirements.txt -
例から
.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
コメント
Markdown 対応
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。