mcp-jest について
mcp-jest は MCP サーバーを自動テストするコマンドラインツール兼 JavaScript ライブラリで、サーバー開発者や統合・CI を担うチーム向けです。複数のトランスポートに対応し、プロトコル検証、自動検出、スナップショットテストを備えています。
主な機能
- 01ツール、リソース、プロンプトをテスト
- 02stdio、HTTP、SSE に対応
- 03MCP プロトコル準拠を検証
- 04サーバー機能を自動検出
- 05スナップショットテストと HTML レポート
活用シーン
- 01デプロイ前に MCP サーバー機能をテスト
- 02CI/CD パイプラインに MCP テストを追加
- 03バージョン間でサーバー出力を比較
MCP 対応
MCP サーバーに接続し、ツール、リソース、プロンプト、プロトコル準拠を検証します。stdio、HTTP Streaming、SSE に対応しています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
mcp-jest
Model Context Protocol(MCP)サーバー向けの自動テストです。 Jest のような構文で AI エージェントのツールをテストし、プロトコルへの準拠を検証して、CI/CD に統合できます。
- 🧪 ツール、リソース、プロンプトをテスト — MCP サーバーの機能を自動で検証します
- 📦 設定不要 — あらゆる MCP サーバー(stdio、HTTP、SSE)ですぐに使えます
- ✅ プロトコル検証 — 詳細なスコアリングで MCP への準拠を確認します
- 🚀 CI/CD に対応 — GitHub Actions、Jenkins、CircleCI と統合できます
- 📸 スナップショットテスト — 出力を記録し、時間の経過に伴う変化を比較できます
インストール
npm install mcp-jest # Project dependency
npm install -g mcp-jest # Or globally for CLI
使い方
MCP サーバーを 30 秒でテストできます。
mcp-jest node ./server.js --tools search,email
または、JavaScript API を使用します。
import { mcpTest } from 'mcp-jest';
const results = await mcpTest(
{ command: 'node', args: ['./server.js'] },
{ tools: ['search', 'email'] }
);
console.log(`${results.passed}/${results.total} tests passed`);
MCP とは?
Model Context Protocol(MCP) は Anthropic によるオープン標準で、AI アシスタント(Claude、ChatGPT、Gemini)が外部ツール、データベース、API に接続できるようにします。MCP-Jest はそれらの接続をテストします。
MCP-Jest を使う理由
MCP サーバーを構築しました。しかし、それが正しく動作するかどうすれば分かるでしょうか?
- 手動テストは時間がかかり、ミスが発生しやすい
- 気付かれない障害が AI のワークフローを妨げる
- MCP には標準の CI/CD 統合がない
- 本番環境での障害のデバッグは困難
MCP-Jest は 自動化された再現可能なテストで、これらの問題を解決します。
機能
コアテスト機能
- 自動テスト - テストを一度書けば、どこでも実行できます
- 包括的なカバレッジ - 接続、ツール、リソース、プロンプトをテストします
- 柔軟な期待値 - シンプルな文字列やカスタム検証関数を使用できます
- CI/CD に対応 - GitHub Actions、Jenkins、CircleCI などで動作します
高度な機能
- スナップショットテスト - MCP の出力を記録し、時間の経過に伴う変化を比較できます
- テストの絞り込み -
--filterと--skipで特定のテストを実行できます - ウォッチモード - ファイルの変更時にテストを自動で再実行します
- HTML レポート - 見やすく共有可能なテストレポートを生成します
トランスポートのサポート
- stdio - ローカルサーバーのデフォルトトランスポート
- HTTP ストリーミング - リモート HTTP サーバーをテストします
- SSE - Server-Sent Events をサポートします
開発者向けツール
- 自動検出 - すべての機能を自動で検出し、テストを生成します
- プロトコルバリデーター - 詳細なスコアリングで MCP への準拠を確認します
- GitHub Action - CI/CD にネイティブ統合します
CLI クイックリファレンス
| コマンド | 説明 |
|---|---|
mcp-jest node ./server.js --tools search | 特定のツールをテストします |
mcp-jest --config test.json | 設定ファイルを使用します |
mcp-jest discover node ./server.js | 機能を自動検出します |
mcp-jest validate node ./server.js | プロトコルへの準拠を確認します |
mcp-jest watch node ./server.js --tools search | ウォッチモード |
よく使うオプション
| オプション | 説明 |
|---|---|
-t, --tools <tools> | テストするツールをカンマ区切りで指定します |
-c, --config <file> | 設定ファイルのパス |
--timeout <ms> | テストのタイムアウト(デフォルト:30000) |
-u, --update-snapshots | スナップショットファイルを更新します |
--reporter html | HTML レポートを生成します |
すべてのオプションについては、CLI リファレンスをご覧ください。
例:CI/CD との統合
# .github/workflows/test.yml
- name: Test MCP Server
run: |
npm install -g mcp-jest
mcp-jest node ./dist/server.js --tools "search,analyze"
例:設定ファイル
{
"server": {
"command": "node",
"args": ["./server.js"]
},
"tests": {
"tools": {
"search": {
"args": { "query": "test" },
"expect": "content.length > 0"
}
},
"timeout": 30000
}
}
ドキュメント
| ガイド | 説明 |
|---|---|
| はじめに | 手順に沿ったセットアップガイド |
| CLI リファレンス | CLI の完全なドキュメント |
| API リファレンス | ライブラリ API のドキュメント |
| 例 | 実際の使用例 |
| アーキテクチャ | MCP-Jest の仕組み |
| トラブルシューティング | よくある問題と解決方法 |
機能ガイド
要件
- Node.js 18+
- Model Context Protocolを実装するMCP サーバー
コントリビューション
コントリビューションを歓迎します!ガイドラインについてはCONTRIBUTING.mdをご覧ください。
git clone https://github.com/josharsh/mcp-jest.git
cd mcp-jest
npm install
npm run dev
npm test
セキュリティ
セキュリティポリシーと脆弱性の報告については、SECURITY.mdをご覧ください。
ユースケース
MCP-Jest は次の用途に最適です。
- MCP サーバー開発者 - デプロイ前にツール、リソース、プロンプトをテストできます
- AI アプリケーションチーム - MCP の統合が正しく動作することを確認できます
- DevOps/SRE - MCP サーバーのテストを CI/CD パイプラインに追加できます
- オープンソースの MCP プロジェクト - コミュニティからのコントリビューションを確実にテストできます
他のツールとの比較
| 機能 | MCP-Jest | 手動テスト | 汎用テストフレームワーク |
|---|---|---|---|
| MCP プロトコルのサポート | ネイティブ | 手動 | カスタム設定が必要 |
| 自動検出 | はい | いいえ | いいえ |
| スナップショットテスト | はい | いいえ | ツールによって異なります |
| プロトコル検証 | はい | いいえ | いいえ |
| CI/CD 統合 | 組み込み | 手動 | ツールによって異なります |
サポート
- GitHub Issues - バグ報告や機能リクエスト
- GitHub Discussions - 質問やアイデア
- Model Context Protocol - MCP の公式ドキュメント
関連技術
- Model Context Protocol (MCP) - プロトコル標準
- @modelcontextprotocol/sdk - MCP 公式 SDK
- Claude - MCP をサポートする Anthropic の AI アシスタント
- Jest - JavaScript テストフレームワーク(MCP-Jest の着想元)
ライセンス
MIT ライセンス - 商用およびオープンソースのプロジェクトで自由にご利用いただけます。
プロジェクトのステータス
MCP エコシステムのために開発 | ドキュメント | 使用例 | コントリビューション
キーワード:mcp testing, model context protocol testing, mcp server testing, ai agent testing, llm testing, claude mcp, chatgpt mcp, mcp tools testing, mcp validator, anthropic mcp, test mcp server, mcp ci cd, automated mcp testing
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。