Test Intel

io.github.barissozudogru由 GitHub 帳號 barissozudogru 發布v0.8.1更新於 Oct 24, 2026

Coverage analysis, untested function detection and complexity scoring for TS and JS.

已驗證STDIO僅桌面開發者工具資料與分析

概覽

AI 產生的概覽

分析本機 JavaScript 與 TypeScript 覆蓋率產物,找出未測試函式、評估複雜度並建議測試案例。

可以做什麼
讀取 lcov、Istanbul JSON 與 Cobertura 格式的本機覆蓋率檔案,回報哪些檔案、函式、行與分支尚未被覆蓋。其他工具可找出沒有對應測試檔案的原始碼函式,依圈複雜度、分支與迴圈排序函式,並建議正常路徑、邊界、錯誤、非同步與型別測試案例。另有命令列報告工具與 GitHub Action 可在 CI 產生相同的優先順序。所有分析都在本機執行。
適用情境
適合已產生覆蓋率輸出的 JS 或 TS 專案,協助判斷哪些未覆蓋程式碼應優先補測試。適合在 MCP 用戶端進行本機檢視,以及在 CI 中傳入既有覆蓋率產物。它不能取代原生覆蓋率資料與人工檢視。
執行需求
透過 npx 以本機 stdio 程序執行,需要 Node.js 18 或更新版本。不需要帳號、API 金鑰或託管服務,也未宣告環境變數。檔案存取限於伺服器啟動目錄;選用的 HTTP 模式會監聽 localhost 並讀取 PORT。
安裝前請注意
函式探索、原始碼與測試配對以及複雜度評分皆為啟發式,缺少同名測試檔案並不代表函式在行為上未被測試。分析在本機進行,不需要網路存取,GitHub Action 只分析既有產物,不會上傳原始碼或覆蓋率資料。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Test Intel,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[test-intel-mcp]

[npm version] [npm downloads] [CI] [MCP Registry] [MIT license]

test-intel-mcp

Turn JavaScript and TypeScript coverage artifacts into practical test priorities. The server reads local coverage and source files, identifies gaps, scores function complexity, and suggests focused test cases without sending code to an external service.

Tool page · npm · Listed in the official MCP Registry

[test-intel-mcp analyzing real p-limit coverage]

Start in one minute

Add one local server entry to any stdio-compatible MCP client:

json
{  "mcpServers": {    "test-intel": {      "command": "npx",      "args": ["-y", "@barissozudogru/test-intel-mcp"]    }  }}

Then ask the client to inspect an existing coverage file:

text
Use test-intel to analyze coverage/lcov.info, identify the highest-impact gaps,and suggest tests for the most complex uncovered function.

No account, API key, or hosted service is required. File access is restricted to the directory where the server starts.

Proof on this repository

Running the complexity tool against the real src/paths.ts file produces:

text
Function complexity analysis for: src/paths.tsTotal 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

The same server reads lcov, Istanbul JSON, and Cobertura files to surface uncovered functions, lines, and branches.

A pinned p-limit 7.3.1 case study reproduces coverage from the upstream project's 22 passing tests. test-intel-report reduces its lcov artifact to two uncovered lines and one uncovered branch while preserving the original coverage file for inspection.

If this saves you time, consider starring the repository. It helps other developers find it.

Tools

ToolWhat it answers
analyze_test_coverageWhich files, functions, lines, and branches remain uncovered?
find_untested_functionsWhich source functions have no corresponding test file?
get_function_complexityWhich functions deserve testing attention first?
suggest_test_casesWhich happy path, boundary, error, async, and type cases should be reviewed?

Supported coverage formats:

FormatCommon producers
lcovJest, Vitest, nyc, Istanbul
Istanbul JSONJest, nyc, Istanbul
Cobertura XMLJest, pytest-cov, JaCoCo

Heuristic source-to-test matching and complexity scores are prioritization signals. Native coverage data and human review remain the source of truth.

Coverage report command

The package also includes a non-MCP command for CI and terminal use:

bash
npx -y -p @barissozudogru/test-intel-mcp test-intel-report coverage/lcov.info

An explicit format can be supplied when the filename is ambiguous:

bash
test-intel-report coverage/result.xml cobertura

GitHub Action

Generate coverage with the project's own test runner, then pass the resulting artifact to the action:

yaml
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

The report is written to the workflow summary. The action analyzes an artifact that already exists and does not upload source or coverage data.

Client setup

Claude Desktop, Cursor, Windsurf, Cline, and similar clients

Use the stdio configuration from the quickstart. Config file locations differ by client, but the server entry is the same:

json
{  "mcpServers": {    "test-intel": {      "command": "npx",      "args": ["-y", "@barissozudogru/test-intel-mcp"]    }  }}
VS Code with Copilot

Create .vscode/mcp.json:

json
{  "servers": {    "test-intel": {      "type": "stdio",      "command": "npx",      "args": ["-y", "@barissozudogru/test-intel-mcp"]    }  }}
Streamable HTTP

Start the local endpoint:

bash
npx @barissozudogru/test-intel-mcp --http

The MCP endpoint is http://localhost:3000/mcp and the health endpoint is http://localhost:3000/health. Set PORT to use another port.

Docker
bash
docker build -t test-intel-mcp .docker run -p 3000:3000 -v "$(pwd):/project" -w /project test-intel-mcp

Connect an HTTP client to http://localhost:3000/mcp.

Local development

bash
npm installnpm testnpm run buildnode dist/index.js

Requirements: Node.js 18 or newer.

See CONTRIBUTING.md for the development workflow.

Security and limits

  • Analysis runs locally and does not require network access.
  • Paths outside the server's starting directory are rejected.
  • Function discovery, source-to-test matching, and complexity scoring are heuristic.
  • A missing matching test filename does not prove a function is behaviorally untested.

License

MIT

來源:README.md,提交 4e2364e

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.8.1最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分