@rog0x/mcp-testing-tools について
@rog0x/mcp-testing-tools は、AI エージェント向けのテスト・品質保証用 MCP サーバーです。Jest または Vitest のテストコード、モックデータ、API レスポンスを生成し、カバレッジ分析やアサーション生成も行います。
主な機能
- 01関数シグネチャからテスト生成
- 02複数タイプのモックデータ生成
- 03スキーマから API レスポンス生成
- 04未テスト関数の検出と提案の優先順位付け
- 05値の比較とアサーションコード生成
活用シーン
- 01関数に境界値・エラーのテストを追加
- 02テスト用のモックレコードや API データを準備
- 03テストを優先する関数を特定
- 04期待値と実際の値からアサーションを作成
MCP 対応
テスト生成、モックデータ、API モック、カバレッジ分析、アサーション生成のツールを AI エージェントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
5掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| framework | enum | いいえ | 生成対象のテストフレームワーク(デフォルト:vitest)jest | vitest |
| signature | string | はい | テストを生成する関数シグネチャ。例:"export async function fetchUser(id: number): Promise<User>" |
| module_path | string | いいえ | テスト対象モジュールのインポートパス(デフォルト:"./module") |
詳細
@rog0x/mcp-testing-tools
Model Context Protocol (MCP) を通じて提供される、AI エージェント向けのテストおよび品質保証ツールです。
ツール
generate_tests
関数シグネチャからテストケースを生成します。すぐに実行できる Jest または Vitest のコードとして、次の4種類のテストを生成します。
- 正常系 -- 有効な入力、期待される出力
- エッジケース -- 空文字列、ゼロ値、null パラメーター
- エラーケース -- 引数の不足、型の誤り
- 境界値 -- 極端な数値、大きな配列、NaN
パラメーター:
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
signature | string | はい | 関数シグネチャ。例:async function fetchUser(id: number): Promise<User> |
framework | string | いいえ | jest または vitest(デフォルト:vitest) |
module_path | string | いいえ | テスト対象のモジュールのインポートパス(デフォルト:./module) |
generate_mock_data
テスト用の現実的なモックデータを生成します。対応する型:
name、email、address、date、uuid、phone、company、credit_card、ip
パラメーター:
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
type | string | はい | 生成するデータの型 |
count | number | いいえ | 項目数(デフォルト:10、最大:1000) |
locale | string | いいえ | en または es(デフォルト:en) |
types | string[] | いいえ | 複数のフィールド型を含む混合レコードを生成 |
generate_api_mock
スキーマ定義からモック API レスポンスを生成します。フィールド名と型から値を推測し、REST エンドポイント用の現実的な JSON ペイロードを作成します。
パラメーター:
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
endpoint | string | はい | API エンドポイントのパス |
method | string | いいえ | HTTP メソッド(デフォルト:GET) |
fields | object[] | はい | name、type、任意の items、fields、nullable、enum を含むフィールドスキーマ |
count | number | いいえ | レコード数(デフォルト:1、最大:100) |
status_code | number | いいえ | HTTP ステータスコード(デフォルト:200) |
wrap_in_envelope | boolean | いいえ | { success, data, meta } でラップするかどうか(デフォルト:true) |
analyze_test_coverage
ソースコードとテストコードを分析して、テストされていない関数を見つけます。次の項目に基づいて提案の優先順位を付けます。
- エクスポート状態(パブリック API の範囲)
- 循環的複雑度の推定値
- パラメーター数
- 非同期関数(エラーパスが多いため)
パラメーター:
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
source_code | string | はい | 分析するソースコード |
test_code | string | はい | 既存のテストコード |
source_file_name | string | いいえ | ファイル名ラベル(デフォルト:source.ts) |
generate_assertions
期待値と実際の値を比較して、詳細なアサーションコードを生成します。ディープ差分を実行し、説明コメント付きのフィールドごとのアサーションを生成します。
パラメーター:
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
expected | string | はい | JSON 文字列形式の期待値 |
actual | string | はい | JSON 文字列形式の実際の値 |
label | string | いいえ | 比較の説明 |
framework | string | いいえ | jest、vitest、または chai(デフォルト:jest) |
deep | boolean | いいえ | オブジェクト/配列の深い等価性を比較(デフォルト:true) |
セットアップ
npm install
npm run build
Claude Desktop での使用方法
claude_desktop_config.json に追加します。
{
"mcpServers": {
"testing-tools": {
"command": "node",
"args": ["path/to/mcp-testing-tools/dist/index.js"]
}
}
}
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。