🏓 MCP Ping-Pong Server with FastAPI について
リモート MCP 呼び出しを実演する、教育用途の FastAPI プロジェクトです。MCP のコマンド処理やセッション管理を学ぶ開発者向けで、HTTP API と SSE に対応しています。
主な機能
- 01FastAPI と FastMCP のバックエンド
- 02HTTP API と SSE の通信
- 03ping、pong、count コマンド
- 04スレッドセーフなセッション管理
- 05プロンプト取得エンドポイント
活用シーン
- 01HTTP 経由での MCP コマンドのテスト
- 02SSE による MCP 通信の試行
- 03リモート MCP セッション管理の学習
MCP 対応
MCP サーバーを実行し、API エンドポイントまたは SSE を介したリモート呼び出しを実演します。ping、pong、count コマンドとプロンプト取得機能を提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
🏓 Remote Call による MCP Ping-Pong サーバー
FastAPI を介した MCP(Model Context Protocol)呼び出しを実演する、実験的かつ教育目的の Ping-Pong サーバーです。
機能
- ✅ API エンドポイントまたは SSE を介したリモート MCP 呼び出しに対応する FastAPI/FastMCP バックエンド
- 🔄 コマンド処理のための MCP 統合
- 🔐 スレッドセーフなセッション管理
クイックスタート
インストール
依存関係をインストールするには、次を実行します。
poetry install
1. API 経由で MCP ツールを呼び出す
サーバーを起動する
次のコマンドで FastAPI サーバーを起動します。
python mcp-api-server.py
サーバーは http://localhost:8080 で起動します。
UI
ブラウザーで mcp-api-client.html を開くと、UI を操作できます。
API エンドポイント
GET /ping-pong?prompt_name=<prompt_name>:指定したプロンプトを取得します。POST /ping-pong:MCP ツールのコマンド(ping、pong、count)を呼び出します。
2. SSE トランスポート経由で MCP ツールを呼び出す
次の例では、MCP サーバーとの通信に Server-Sent Events(SSE)を使用します。
SSE サーバーを起動する
python mcp-sse-server.py
SSE クライアントを起動する
python mcp-sse-client.py
出力例
Type a command (e.g., 'ping', 'pong', 'count') or 'exit' to quit:
>>> ping
Sending command: ping
Result: pong
>>> pong
Sending command: pong
Result: ping
>>> count
Sending command: count
Result: 2
参考資料
📄 ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。