Test Intel について
Test Intelは、JavaScriptとTypeScriptのカバレッジデータやソースを分析し、テストの優先順位付けを支援するMCPサーバーです。ローカルで動作し、一般的なカバレッジ形式に対応するほか、レポートコマンドとGitHub Actionも提供します。
主な機能
- 01未カバーのファイル、関数、行、分岐の分析
- 02対応するテストファイルがない関数の検出
- 03関数の複雑度評価
- 04テストケースの種類の提案
- 05lcov、Istanbul JSON、Coberturaの読み込み
- 06CLIレポートとGitHub Action
活用シーン
- 01カバレッジレポートから不足箇所の優先順位を決定
- 02複雑で未カバーの関数を見つけてテスト
- 03関数のテストケース候補を確認
- 04CIのサマリーにカバレッジ分析を追加
MCP 対応
カバレッジ分析、未テスト関数の検出、複雑度評価、テスト提案のツールをMCPクライアントに公開します。ローカルファイルを読み込み、アクセス範囲をサーバーの起動ディレクトリ内に制限します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
4掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| format | enum | いいえ | カバレッジ形式。省略した場合は、ファイル拡張子から自動検出されます。lcov | istanbul | cobertura |
| coverage_path | string | はい | カバレッジファイルのパス(lcov.info、coverage-summary.json、coverage.xml など) |
詳細
test-intel-mcp
JavaScript と TypeScript のカバレッジ成果物を、実用的なテストの優先順位に変換します。このサーバーはローカルのカバレッジファイルとソースファイルを読み取り、ギャップを特定し、関数の複雑度をスコア化して、コードを外部サービスに送信することなく、焦点を絞ったテストケースを提案します。
ツールページ · npm · 公式の MCP レジストリに掲載

1 分で開始
stdio 互換の MCP クライアントに、ローカルサーバーのエントリーを 1 つ追加します。
{
"mcpServers": {
"test-intel": {
"command": "npx",
"args": ["-y", "@barissozudogru/test-intel-mcp"]
}
}
}
次に、既存のカバレッジファイルを調べるようクライアントに依頼します。
Use test-intel to analyze coverage/lcov.info, identify the highest-impact gaps,
and suggest tests for the most complex uncovered function.
アカウント、API キー、ホスト型サービスは不要です。ファイルへのアクセスは、サーバーの起動ディレクトリ内に制限されます。
このリポジトリでの実証
複雑度ツールを実際の src/paths.ts ファイルに対して実行すると、次の結果が得られます。
Function complexity analysis for: src/paths.ts
Total functions analyzed: 1
Priority | Function | Line | Cyclomatic | Branches | Loops
---------|-----------------|------|------------|----------|------
low | deriveTestPaths | 11 | 3 | 1 | 1
Summary: 0 critical, 0 high, 0 medium, 1 low priority
同じサーバーで lcov、Istanbul JSON、Cobertura ファイルを読み取り、カバレッジされていない関数、行、分岐を明らかにできます。
固定された p-limit 7.3.1 の事例では、上流プロジェクトの 22 件の合格テストからカバレッジを再現します。test-intel-report は、元のカバレッジファイルを確認用に保持しながら、その lcov 成果物をカバレッジされていない 2 行と 1 つの分岐に絞り込みます。
役に立った場合は、リポジトリにスターを付けることをご検討ください。他の開発者が見つけやすくなります。
ツール
| ツール | わかること |
|---|---|
analyze_test_coverage | カバレッジされていないファイル、関数、行、分岐はどれですか? |
find_untested_functions | 対応するテストファイルがないソース関数はどれですか? |
get_function_complexity | どの関数から優先してテストすべきですか? |
suggest_test_cases | どの正常系、境界値、エラー、非同期、型のケースを確認すべきですか? |
対応しているカバレッジ形式:
| 形式 | 主な生成元 |
|---|---|
| lcov | Jest、Vitest、nyc、Istanbul |
| Istanbul JSON | Jest、nyc、Istanbul |
| Cobertura XML | Jest、pytest-cov、JaCoCo |
ヒューリスティックによるソースとテストの照合、および複雑度スコアは、優先順位を付けるための指標です。信頼できる情報源は、ネイティブのカバレッジデータと人によるレビューです。
カバレッジレポートコマンド
このパッケージには、CI やターミナルで使える MCP 非依存のコマンドも含まれています。
npx -y -p @barissozudogru/test-intel-mcp test-intel-report coverage/lcov.info
ファイル名から形式を特定できない場合は、形式を明示的に指定できます。
test-intel-report coverage/result.xml cobertura
GitHub Action
プロジェクト独自のテストランナーでカバレッジを生成し、できた成果物をアクションに渡します。
name: Test priorities
on: [pull_request]
jobs:
test-intel:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v4
- name: Run tests with coverage
run: npm ci && npm test -- --coverage
- uses: barissozudogru/[email protected]
with:
coverage-path: coverage/lcov.info
レポートはワークフローのサマリーに書き込まれます。このアクションは既存の成果物を分析するものであり、ソースやカバレッジデータをアップロードしません。
クライアントのセットアップ
Claude Desktop、Cursor、Windsurf、Cline、および同様のクライアント
クイックスタートの stdio 設定を使用します。設定ファイルの場所はクライアントによって異なりますが、サーバーのエントリは同じです。
{
"mcpServers": {
"test-intel": {
"command": "npx",
"args": ["-y", "@barissozudogru/test-intel-mcp"]
}
}
}
Copilot を使用する VS Code
.vscode/mcp.json を作成します。
{
"servers": {
"test-intel": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@barissozudogru/test-intel-mcp"]
}
}
}
Streamable HTTP
ローカルエンドポイントを起動します。
npx @barissozudogru/test-intel-mcp --http
MCP エンドポイントは http://localhost:3000/mcp、ヘルスエンドポイントは http://localhost:3000/health です。別のポートを使用するには、PORT を設定します。
Docker
docker build -t test-intel-mcp .
docker run -p 3000:3000 -v "$(pwd):/project" -w /project test-intel-mcp
HTTP クライアントを http://localhost:3000/mcp に接続します。
ローカル開発
npm install
npm test
npm run build
node dist/index.js
要件:Node.js 18 以降。
開発ワークフローについては、CONTRIBUTING.md を参照してください。
セキュリティと制限
- 分析はローカルで実行され、ネットワークアクセスは不要です。
- サーバーの開始ディレクトリ外のパスは拒否されます。
- 関数の検出、ソースとテストの照合、複雑度のスコアリングはヒューリスティックに基づいています。
- 一致するテストファイル名が見つからないことは、関数が動作面でテストされていない証拠にはなりません。
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。