coverage-orchestrator-mcp
# coverage-orchestrator-mcp
A TypeScript MCP server that drives test coverage toward target thresholds by coordinating workspace test execution with `code-tree-mcp` uncovered-symbol analysis.
## What It Does
- ensures workspace coverage tooling exists
- runs tests with coverage and collects failures
- imports LCOV into `code-tree-mcp`
- fetches uncovered symbols from `code-tree-mcp`
- ranks the next highest-impact coverage actions
- iterates until thresholds are met or a stop condition is reached
## Requirements
- Node.js 20+
- a reachable `code-tree-mcp` binary, typically via `npx code-tree-mcp`
- a target workspace with a Node-based test runner
## Install
```bash
npm install
npm run build
```
## Run
One-command server startup after build:
```bash
npx coverage-orchestrator-mcp
```
Run the fixture workflow and call the orchestrator from `npx`:
```bash
npx coverage-orchestrator-mcp implementTestCoverage
```
Optional target percentage:
```bash
npx coverage-orchestrator-mcp implementTestCoverage 90
```
If the percentage is omitted, this command targets 100% (highest possible target).
During local development:
```bash
npm run dev
```
## Setup
Print VS Code MCP configuration:
```bash
npx coverage-orchestrator-mcp setup --print-config
```
Write `.vscode/mcp.json` in the current working directory:
```bash
npx coverage-orchestrator-mcp setup --client vscode
```
If the current directory is not the workspace you want to update, pass `--project-root`.
## Workspace
This repository tree includes a multi-root workspace file at `../new mc.code-workspace` that opens both:
- `code-tree-mcp`
- `coverage-orchestrator-mcp`
## Tool Workflow Example
1. Call `ensure_coverage_setup` for the target workspace.
2. Call `run_tests_with_coverage`.
3. Call `fetch_uncovered_code`.
4. Call `verify_coverage_target`.
5. Call `improve_test_coverage_orchestrator` for iterative orchestration.
## Troubleshooting
- If `setup` cannot write `.vscode/mcp.json`, rerun with `--print-config` and copy the JSON manually.
- If `code-tree-mcp` is not on your path, configure the orchestrator process with `CODE_TREE_MCP_COMMAND` and `CODE_TREE_MCP_ARGS`.
- If coverage artifacts are missing, confirm the target workspace can run `npm run test:coverage` and produces both `coverage/coverage-summary.json` and `coverage/lcov.info`.
## Validation
- `npm test` runs unit coverage helpers, CLI, server routing, and orchestrator-loop tests.
- `npm run test:integration` rebuilds the sibling `code-tree-mcp` package, launches it over stdio, and verifies uncovered-symbol fetching against a real MCP server.
TDQS
Scored across 5 tools
Each tool has a clear, distinct purpose: setup, fetching uncovered code, running tests, verifying targets, and orchestrating improvements. No two tools serve overlapping functions.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., ensure_coverage_setup, fetch_uncovered_code, verify_coverage_target), making them predictable and easy to differentiate.
Five tools is appropriate for a coverage orchestration server, covering the essential workflow without unnecessary complexity. The scope is well-defined.
The tool set covers the full lifecycle: setup, running tests, fetching uncovered code, verification against thresholds, and orchestration of iterative improvements. No obvious gaps for the intended purpose.