digline — Claude Code MCP server: read and measure eval runs
Lets a coding agent inspect stored digline runs, measure a new one and explain the result. Promoting a baseline is not among its tools.
claude mcp add digline-mcp -- uvx digline-mcpWhat digline does
Eight tools ship with the server. list_runs walks a suite's stored runs from newest to oldest and flags the baseline; get_run and get_baseline hand back verdicts; compare checks a run against the approved reference; diff puts two runs side by side when neither is a reference; explain reads one run back as typed facts plus the exit code; log shows which model answered. There is no promote tool, and that is the point: a baseline is an approved reference, so writing into it has to be a person's decision. An agent could argue with a refusal — it cannot argue with a tool that does not exist.
run will not execute until you pass acknowledge_calls matching the suite's planned calls to the target. Call it without that argument and the server declines, but tells you the number it expects — 20 cases at 5 samples each means 100 calls. Repeat the call with that value and the suite runs.
Install with uv pip install digline-mcp, then start digline-mcp with --root pointing at the repository. One server covers one repository; several projects mean several named servers. The --tenant and --env flags are verified only and override nothing — the suite decides. Worth knowing before you wire it up: every tool loads the suite it names, and a suite.py executes the project's code inside the server's environment. Responses carry a verdict-only projection — name, identity, status, score, threshold, tolerance, measured interval and whatever metadata the suite disclosed.
What it helps with
- see which runs of a suite are stored and which one is the baseline
- check a fresh run against the approved reference for regressions
- compare two runs when neither is a reference
- read a single run back as typed facts with its exit code
- execute a suite after confirming how many target calls it plans
Example prompts for the agent
- List the stored runs of
suite.pyand mark the baseline - Compare the latest run against the baseline — did it get worse?
- Run
suite.py; I acknowledge 100 calls to the target
How to install digline
Platform CLI
claude mcp add digline-mcp -- uvx digline-mcpuvx runs the command named after the package; if the README names another one, use uvx --from digline-mcp <command>
Platform CLI
codex mcp add digline-mcp -- uvx digline-mcpuvx runs the command named after the package; if the README names another one, use uvx --from digline-mcp <command>
Config file
{
"mcpServers": {
"digline-mcp": {
"command": "uvx",
"args": [
"digline-mcp"
]
}
}
}uvx runs the command named after the package; if the README names another one, use uvx --from digline-mcp <command>
Config file
{
"servers": {
"digline-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"digline-mcp"
]
}
}
}uvx runs the command named after the package; if the README names another one, use uvx --from digline-mcp <command>
Platform CLI
gemini mcp add digline-mcp uvx digline-mcpuvx runs the command named after the package; if the README names another one, use uvx --from digline-mcp <command>
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about digline
How do I install digline in Claude Code?
Run claude mcp add digline-mcp -- uvx digline-mcp. The server then shows up in Claude's MCP server list.
What does digline do?
It reads stored runs of a digline eval suite, measures a new run and explains the outcome. It cannot promote a baseline — no such tool exists in it.
Why does run refuse to work without acknowledge_calls?
So an agent cannot spend hundreds of model calls without stating the number first. On refusal the server reports how many target calls the suite plans and waits for a repeat call with that value.