mcpField
M
mcp-python-sdk-inmemory-server-tests

mcp-python-sdk-inmemory-server-tests

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

mcp-python-sdk-inmemory-server-tests について

このリポジトリは、信頼性の高いMCPツールを開発するためのサンプルコードとテストを提供します。インメモリのクライアントセッションを使い、単独の関数テストで見落としやすい非同期の問題を検出する方法を示します。

主な機能

  1. 01MCPツール開発用サンプルコード
  2. 02インメモリのクライアントセッションによるテスト
  3. 03非同期テストの落とし穴の例示

活用シーン

  1. 01個々の関数を超えたMCPツールのテスト
  2. 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 .

コメント

MCP は初めてですか?

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

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