covdbg
OfficialThis server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
covdbg-mcp
MCP server for covdbg: C++ code coverage on Windows for AI agents. Run tests, find uncovered code, and add targeted tests. No rebuild required.
covdbg measures coverage of the Windows binaries you already build, using their PDB debug information: x64, ARM64 and 32-bit x86. It works like a debugger: it starts your executable, reads the PDB, and places lightweight probes while the program runs. The MCP server is built into the covdbg executable (since v1.3.0) and is started with covdbg mcp.
This repository holds the MCP registry metadata (server.json, glama.json) and the MCP Bundle manifest (manifest.json) for covdbg. The server itself ships with covdbg.
What an agent can do
Run coverage on a test executable without rebuilding it.
Rank files by uncovered lines.
Read the uncovered code with surrounding context.
Add a focused test, re-run it, and confirm the gap is closed.
Query coverage databases (
.covdb) with read-only SQL, and merge them, also across checkouts and builds.
Related MCP server: cdbmcp
Requirements
Windows x64, or Windows on ARM (ARM64)
covdbg 1.3.0 or newer. This README describes covdbg 1.5.1.
An executable with PDB debug symbols (MSVC or any PDB-producing toolchain). The x64 covdbg measures x64 and 32-bit x86 programs; the ARM64 covdbg measures ARM64 programs (covdbg 1.5 and newer).
A one-time
covdbg login(covdbg 1.4 and newer sign in to one team, and runs need a seat in that team), orCOVDBG_PROJECT_TOKENfor CI. A public repository in GitHub Actions needs neither (covdbg 1.5 and newer, see Licensing in CI).A
.covdbg.yamlnext to the target executable, or aconfig_pathpassed torun(see the configuration reference)
Install covdbg
Installer (recommended): installer.msi, or installer-arm64.msi for Windows on ARM. It installs to
%LocalAppData%\Programs\Liasoft\covdbgand adds that directory to your userPATH.Portable: portable.zip, or portable-arm64.zip for Windows on ARM. Extract it anywhere and add the directory to your
PATHyourself. Keep the agent DLLs next tocovdbg.exe: covdbg looks for them only there.
There is no separate 32-bit covdbg. The x64 build ships libcovdbg32.dll, a 32-bit build of its agent, and measures 32-bit programs with the same covdbg.exe.
Then open a new terminal and sign in:
covdbg --version
covdbg loginSign-in is team-scoped: in the browser you choose one team (your personal team, or a team you own or hold a seat in), and the agent's runs are licensed for that team. Use covdbg login --team <slug> to choose it up front, and covdbg whoami to see which team is active.
Licensing in CI
In CI, set COVDBG_PROJECT_TOKEN in the server's environment; the run is licensed for the token's team.
A public repository in GitHub Actions needs no project token (covdbg 1.5 and newer). Grant the job permissions: id-token: write: without COVDBG_PROJECT_TOKEN and without a stored sign-in, covdbg presents the token GitHub issues to the job, which names the repository it runs in. GitHub issues no such token to a pull request from a fork. A private repository still needs a project token, and a project token that is set takes precedence.
Client setup
The server uses stdio transport. Start it from your project directory, or pass --workspace <dir>.
Option | Environment variable | Default | Purpose |
| working directory | The project directory; the default root for | |
|
| 5000 | How long one |
Claude Code
From the project directory:
claude mcp add covdbg -- covdbg mcpOr add a project .mcp.json:
{
"mcpServers": {
"covdbg": {
"command": "covdbg",
"args": ["mcp"]
}
}
}VS Code
.vscode/mcp.json:
{
"servers": {
"covdbg": {
"type": "stdio",
"command": "covdbg",
"args": ["mcp", "--workspace", "${workspaceFolder}"]
}
}
}Cursor
.cursor/mcp.json:
{
"mcpServers": {
"covdbg": {
"command": "covdbg",
"args": ["mcp"]
}
}
}Claude Desktop (MCP Bundle)
Download
covdbg.mcpbfrom the latest release.Open it with Claude Desktop, or drag it into Settings → Extensions.
Set the following:
covdbg executable: the path to
covdbg.exe. The default is the MSI install location.Workspace: your project directory.
Project token: optional. Leave it empty if you have run
covdbg login; runs are then licensed for the team you signed in to (seecovdbg whoami).
The bundle does not contain covdbg itself. It launches your installed covdbg.exe, so covdbg updates take effect without a new bundle.
Tools
Tool | Purpose | Main inputs |
| Workflow and configuration guidance. Call it before the first run. | optional |
| Find executables and coverage databases | optional |
| Start a coverage run; returns a run session right away |
|
| Wait briefly or collect the completed result |
|
| End a run: covdbg, the target and every process they started |
|
| Open an existing database read-only |
|
| Rank files by uncovered lines |
|
| Read uncovered source segments with context |
|
| Run one read-only SQL statement, within a time limit |
|
| Combine databases, also from different checkouts and builds |
|
| Release a run or coverage session |
|
Limits and behavior
Run session IDs start with
run-; coverage session IDs start withcovdb-.At most 8 runs in flight and 32 open coverage sessions. A run counts while its covdbg process is alive; once
wait_runhas seen it finish, it no longer takes a slot.wait_runblocks for at most 30 seconds. If it reportsstillRunning, call it again.Run outcomes are
success,nothing_measured,license_failure, orerror.nothing_measured(no_functions_to_trackbefore covdbg 1.5.1) means the target ran to its end, but no function passed the coverage filter, so the database covdbg wrote is empty;outputLinessay why, after "nothing was measured". Before covdbg 1.5.1, the target did not run at all.covdbg's exit code does not carry the target's exit code, so check test results separately. From covdbg 1.5.1, covdbg says in
outputLines, below the program's output, how the program exited.cancel_run, andcloseon a run that is still going, end the run's whole process tree at once: covdbg, the target and every process either of them started (covdbg 1.5.1 and newer; before, a process they started kept running untilclose). A run that cannot be set up that way is not started, andrunsays why.A
.covdbg.yamlthat covdbg refuses, such as a value of the wrong shape (include: "src/**"where a list belongs) or an unknowntype:, ends the run with outcomeerror, andoutputLinesname the key with its line and column. A key covdbg does not know is a warning inoutputLines, and the run goes on (covdbg 1.5.1 and newer).follow_childrenmeasures the processes the target starts. A launcher without debug information of its own, such asctest.exeorcmd.exe, runs unmeasured and covdbg measures its children, sorunwith targetctest.exe,target_arguments--test-dir buildandfollow_childrenmeasures the test binaries CTest runs. Every process of one binary adds its hits to one database (covdbg 1.5 and newer).querystops a statement still running at the time limit, 5000 ms unless--query-timeoutsays otherwise, and answers with an error; the session stays open. It also bounds a statement's size: at most 100 KiB of SQL, expressions nested 250 deep, 100SELECTs in one compound,LIKE/GLOBpatterns of 1000 bytes, and 16 MiB for any one string or blob (covdbg 1.5 and newer).mergematches source files recorded in different checkouts by their path relative to each run'ssource_root, and keeps different builds at one module path, such as the x64 and ARM64 builds of a test, side by side (covdbg 1.5 and newer).remappedModulesandremappedFilessay how many it matched that way.covdbg 1.5.1 writes coverage databases with schema 9 and refuses
.covdbfiles written by covdbg 1.5.0 or earlier, and covdbg 1.5.0 refuses those of 1.5.1.open_coveragenames both versions. Record that coverage again, with the same covdbg everywhere databases are merged or opened.
Upgrading while the server runs
From covdbg 1.5.0, the installer can upgrade or uninstall covdbg while a client holds covdbg mcp open, without a reboot. The running server keeps answering from the old version, and the runs it starts use the newly installed covdbg.exe. Reconnect the server to get the new version of the server itself: in Claude Code, /mcp → covdbg → Reconnect.
Environment variables
Variable | Purpose |
| Project token for CI or headless use. Local use relies on |
| Fixed default output location. Avoid reusing one location across a suite, since later runs overwrite earlier results. |
| Time limit for one |
Documentation
Publishing (maintainers)
Keep version in manifest.json and server.json, and the release tag in the server.json package URL, in sync.
Build the bundle.
.mcpbignorelimits it tomanifest.json,icon.pngandLICENSE:npx @anthropic-ai/mcpb validate manifest.json npx @anthropic-ai/mcpb pack . covdbg.mcpbCreate the GitHub release
v<version>and uploadcovdbg.mcpbas an asset.Put the bundle's hash into
fileSha256inserver.json:(Get-FileHash covdbg.mcpb -Algorithm SHA256).Hash.ToLower()Publish to the MCP registry. The
com.covdbg/*namespace uses DNS authentication oncovdbg.com:mcp-publisher login dns --domain covdbg.com --private-key <key> mcp-publisher publishGlama picks up
glama.jsonfrom the repository.
License
The metadata in this repository is licensed under the Apache License 2.0. covdbg itself is licensed separately, with Free, Team, and Enterprise plans. See covdbg.com and the Licensing FAQ.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Code intelligence platform for AI agents. 20 tools for architecture, security & impact analysis.
QA platform for agents: coverage signals, in-repo test plans, verified tests and release governance.
Codebase intelligence for AI agents — dead code, blast radius, ownership.
Read-only AI coding tools for change verification, release readiness, capacity, and guidance.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to analyze Windows crash dumps by providing structured data on exceptions, threads, modules, and source context, with safe patch, build, and test execution.5MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI clients to inspect live memory of a running C++ process on Windows using cdb.exe, providing tools to evaluate expressions, retrieve map entries, and enumerate containers without modifying target code.-
- AlicenseNot gradedqualityBmaintenanceEnables AI coding agents to test C++ code by running static analysis, sanitizers (ASan, TSan, LSan, UBSan), and performance profiling through eight MCP tools.MIT
- AlicenseBqualityBmaintenanceEnables AI coding agents to access Windows-first code intelligence, repository understanding, change-impact analysis, and safe workspace management through a unified high-level MCP gateway.111MIT