mcp-python-sdk-inmemory-server-tests について
このリポジトリは、信頼性の高いMCPツールを開発するためのサンプルコードとテストを提供します。インメモリのクライアントセッションを使い、単独の関数テストで見落としやすい非同期の問題を検出する方法を示します。
主な機能
- 01MCPツール開発用サンプルコード
- 02インメモリのクライアントセッションによるテスト
- 03非同期テストの落とし穴の例示
活用シーン
- 01個々の関数を超えたMCPツールのテスト
- 02ツールの動作における非同期問題の検出
MCP 対応
インメモリのクライアントセッションとMCP Inspectorを使ったMCPサーバーのテスト方法を示します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
インストール方法は未掲載です
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ツール一覧はまだ取得されていません
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
mcp-python-sdk-inmemory-server-tests
このリポジトリでは、堅牢な MCP ツールを開発するためのサンプルコードとテストを提供しています。
ツール内の asyncio.run のような非同期処理に関する落とし穴は、個々の関数に対するユニットテストでは見逃されることがあると示しています。
インメモリクライアントセッションを使用した、より信頼性の高いテスト方法を紹介しています。
コマンド
セットアップ:
curl https://get.volta.sh | bash
volta install node
npm install
curl -LsSf https://astral.sh/uv/install.sh | sh
uv sync --frozen
テストの実行:
uv run pytest tests/.
MCP Inspector を使用して mcpserver.py をテストおよびデバッグします:
uv run mcp dev mcpserver.py
コードベースをフォーマットします:
uv run ruff format .
uv run ruff check --select I --fix .
コメント
Markdown 対応
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。