Skip to main content
Glama
markgregg

coverage-orchestrator-mcp

by markgregg
README.md
# 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

B3.1/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clear, distinct purpose: setup, fetching uncovered code, running tests, verifying targets, and orchestrating improvements. No two tools serve overlapping functions.

Naming Consistency5/5

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.

Tool Count5/5

Five tools is appropriate for a coverage orchestration server, covering the essential workflow without unnecessary complexity. The scope is well-defined.

Completeness5/5

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.

Maintenance

ActivityStale
ResponsivenessNo issues