MCP Test Client について
MCP Test Client は、開発時に使用するミドルウェアで、Claude に対しては MCP サーバー、テスト対象サーバーに対しては MCP クライアントとして動作します。アプリケーションを再起動せずに、MCP サーバーのデプロイ、ツール呼び出し、テストを行えます。
主な機能
- 01テスト環境への MCP サーバーのデプロイ
- 02カスタム引数による個別ツールの呼び出し
- 03自動テストスイートの実行
- 04デプロイ済みサーバーのログ表示
- 05対話型コマンラインテストインターフェース
活用シーン
- 01開発中の MCP サーバーを Claude にテストさせる
- 02Claude に登録する前のツール動作の検証
- 03ツール呼び出しとログ確認によるサーバーのデバッグ
MCP 対応
本プロジェクトは MCP サーバーと MCP クライアントの両方の役割を担い、Claude にテスト用ツールを公開するとともに、テスト対象の MCP サーバーに接続して管理します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP Test Client
開発中に MCP サーバーをテストするための MCP ミドルウェアです。Claude に対するサーバーと、テスト対象のサーバーに対するクライアントの両方として機能します。
アーキテクチャ
MCP Test Client は次の 2 つの役割を担います。
- テスト用ツールを公開する、Claude に登録されたサーバー
- 他の MCP サーバーに接続してテストするクライアント
┌─────────────┐ ┌───────────────────┐ ┌────────────────┐
│ │ Tools │ │ Client │ │
│ Claude │─────────>│ MCP Test Client │─────────>│ Server Under │
│ │ │ │ │ Test │
└─────────────┘ └───────────────────┘ └────────────────┘
このアーキテクチャにより、MCP サーバーを Claude に直接登録せずにテストできます。
機能
- MCP サーバーをテスト環境にデプロイする
- カスタム引数を指定して個々のツールを呼び出す
- テストスイートを自動実行する
- サーバーログを表示する
- Claude に正式登録する前にサーバーをテストする
実装
MCP Test Client は次の機能で実装されています。
- プロセス管理:MCP サーバープロセスを起動して管理します
- MCP SDK クライアント:公式の MCP SDK を使用してサーバーと通信します
- カスタムトランスポート:stdio 通信用のカスタムトランスポートを実装します
- テスト実行:テストを実行し、応答を検証します
- CLI インターフェース:対話型のテストインターフェースを提供します
現在の実装は設計計画のフェーズ 1 であり、今後フェーズ 2 および 3 での機能強化が予定されています。
インストール
# Install dependencies
npm install
# Build the TypeScript project
npm run build
使用方法
MCP サーバーとして
MCP Test Client は claude-mcp-local スクリプトを通じて Claude に登録されます。次のツールを使用できます。
- サーバーをデプロイする:
mcp__mcp-test__mcp_test_deploy_server({
name: "my-server",
source_path: "/path/to/server",
env_vars: {
"API_KEY": "${API_KEY}"
}
})
- デプロイ済みサーバー上のツールを呼び出す:
mcp__mcp-test__mcp_test_call_tool({
server_name: "my-server",
tool_name: "tool_name",
arguments: {
// Tool-specific arguments
}
})
- サーバーに対してテストを実行する:
mcp__mcp-test__mcp_test_run_tests({
server_name: "my-server"
})
- サーバーログを表示する:
mcp__mcp-test__mcp_test_get_logs({
server_name: "my-server",
lines: 100
})
- デプロイ済みサーバーを一覧表示する:
mcp__mcp-test__mcp_test_list_servers({})
- サーバーを停止する:
mcp__mcp-test__mcp_test_stop_server({
server_name: "my-server"
})
CLI ツールとして
テスト用の CLI インターフェースを起動します。
# Use npm script
npm run test
# Or run directly
node dist/test-runner.js
MCP サーバーのデプロイ、テスト、管理を行うための対話型メニューが表示されます。
開発ワークフロー
MCP Test Client は次のワークフローに対応しています。
- playground ディレクトリで MCP サーバーを開発する
- MCP Test Client を使ってテスト環境にデプロイする
- 機能をテストし、個々のツールを呼び出して問題をデバッグする
- サーバーが正しく動作するまで修正と反復を行う
- 準備ができたらサーバーを mcp-servers/ に移行する
- claude-mcp-local を通じて Claude に登録する
今後の機能強化
次の機能強化が予定されています。
- フェーズ 2:Docker ベースのコンテナ管理、包括的なテストスイート
- フェーズ 3:移行ツール、より高度なテスト検証
設計ドキュメントの全文については、notes/mcp_test_client_design.md を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。