# digline

Lets a coding agent inspect stored digline runs, measure a new one and explain the result. Promoting a baseline is not among its tools.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 9
- Author: digline
- License: Apache-2.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/digline/digline/tree/HEAD/packages/digline-mcp
- Updated: 2026-10-24
- HTML: https://affpapa.org/en/nevibecode/mcp/digline

## What it 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.

## Requirements
- Needs: Python and uv (commands run via uvx)

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add digline-mcp -- uvx digline-mcp
```
uvx runs the command named after the package; if the README names another one, use uvx --from digline-mcp <command>

### Codex

**Platform CLI**
```bash
codex mcp add digline-mcp -- uvx digline-mcp
```
uvx runs the command named after the package; if the README names another one, use uvx --from digline-mcp <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "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>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "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>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add digline-mcp uvx digline-mcp
```
uvx runs the command named after the package; if the README names another one, use uvx --from digline-mcp <command>

## When to use it
- 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
- List the stored runs of `suite.py` and mark the baseline
- Compare the latest run against the baseline — did it get worse?
- Run `suite.py`; I acknowledge 100 calls to the target

## Similar
- [Front-End Checklist](https://affpapa.org/en/nevibecode/mcp/front-end-checklist.md) — MCP server · ★ 74559
- [Keploy](https://affpapa.org/en/nevibecode/mcp/keploy.md) — MCP server · ★ 18727
- [SeleniumBase MCP](https://affpapa.org/en/nevibecode/mcp/seleniumbase-mcp.md) — MCP server · ★ 13169
- [mobile-mcp](https://affpapa.org/en/nevibecode/mcp/mobile-mcp.md) — MCP server · ★ 9946
- [e2e](https://affpapa.org/en/nevibecode/mcp/e2e.md) — MCP server · ★ 11912
- [mockserver](https://affpapa.org/en/nevibecode/mcp/mockserver.md) — MCP server · ★ 4996

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
