About Test Intel
Test Intel is an MCP server that analyzes JavaScript and TypeScript coverage artifacts and source files to prioritize testing work. It runs locally, supports common coverage formats, and includes a report command and GitHub Action.
Key features
- 01Analyze uncovered files, functions, lines, and branches
- 02Find functions without matching test files
- 03Score function complexity
- 04Suggest test-case categories
- 05Read lcov, Istanbul JSON, and Cobertura
- 06Provide CLI reports and a GitHub Action
Use cases
- 01Prioritizing gaps from a coverage report
- 02Finding complex uncovered functions to test
- 03Reviewing potential test cases for a function
- 04Adding coverage analysis to CI summaries
MCP support
Exposes tools for coverage analysis, untested-function detection, complexity scoring, and test suggestions to MCP clients. It reads local files and restricts access to the server's starting directory.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
4Saved tool list · updated 3w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| format | enum | No | Coverage format. Auto-detected from file extension if omitted.lcov | istanbul | cobertura |
| coverage_path | string | Yes | Path to the coverage file (lcov.info, coverage-summary.json, coverage.xml, etc.) |
Details
From the project README
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

Start in one minute
Add one local server entry to any stdio-compatible MCP client:
{
"mcpServers": {
"test-intel": {
"command": "npx",
"args": ["-y", "@barissozudogru/test-intel-mcp"]
}
}
}
Then ask the client to inspect an existing coverage file:
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:
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
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
| Tool | What it answers |
|---|---|
analyze_test_coverage | Which files, functions, lines, and branches remain uncovered? |
find_untested_functions | Which source functions have no corresponding test file? |
get_function_complexity | Which functions deserve testing attention first? |
suggest_test_cases | Which happy path, boundary, error, async, and type cases should be reviewed? |
Supported coverage formats:
| Format | Common producers |
|---|---|
| lcov | Jest, Vitest, nyc, Istanbul |
| Istanbul JSON | Jest, nyc, Istanbul |
| Cobertura XML | Jest, 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:
npx -y -p @barissozudogru/test-intel-mcp test-intel-report coverage/lcov.info
An explicit format can be supplied when the filename is ambiguous:
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:
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:
{
"mcpServers": {
"test-intel": {
"command": "npx",
"args": ["-y", "@barissozudogru/test-intel-mcp"]
}
}
}
VS Code with Copilot
Create .vscode/mcp.json:
{
"servers": {
"test-intel": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@barissozudogru/test-intel-mcp"]
}
}
}
Streamable HTTP
Start the local endpoint:
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
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
npm install
npm test
npm run build
node 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
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.