digline-mcp
The MCP server for digline: it lets a coding agent read a digline result and measure a new one, and it does not let the agent promote a baseline.
Not because promotion is refused. Because there is no such tool.
The six tools
| tool | what it does |
|---|---|
list_runs |
every stored run of a suite, newest first, with the baseline marked |
get_run |
one stored run — the verdicts, never the payload |
get_baseline |
the approved reference, same shape |
compare |
a run against the baseline: did it get worse? |
diff |
two runs, neither of them a reference: should I switch? |
run |
execute the suite, with the call count acknowledged first |
promote is absent by construction, and so are migrate, view and
report. A baseline is an approved reference, and promote writes into
.digline/<tenant>/baselines/, which is committed — anything landing there
arrives in somebody's diff and must arrive because they put it there. A refusal
would be a conversation an agent could argue with; an absence is not.
The reasoning is ADR 0011, and the
judgement layer it turns into surface is AGENTS.md.
Install and configure
uv pip install digline-mcp
One server serves one repository: the perimeter is the repo, and multi-project is N named servers rather than a registry.
{
"mcpServers": {
"digline-northwind": {
"command": "digline-mcp",
"args": ["--root", "/Users/you/src/northwind"]
}
}
}
--tenant and --env are accepted and verify; they never override. The
suite decides, as it does everywhere else in digline.
What run costs, before it costs it
run takes a mandatory acknowledge_calls that must equal the suite's planned
calls to the target. Called without it, the tool refuses and hands back the
number:
run(suite="suite.py")
→ refused: this suite plans 100 calls to the target.
20 cases × 5 samples = 100 calls to the target; each answer is judged
3 times by llm_rubric.
Call again with acknowledge_calls=100.
run(suite="suite.py", acknowledge_calls=100) → executes
The first call is the probe. An agent cannot spend a hundred model calls without
having stated the number — AGENTS.md §7 as a contract rather than as advice.
What never crosses
An MCP response goes into a model's context, and from there into transcripts and caches nobody controls. So the run tools return a verdict-only projection: the name, the identity, the status, the score, the threshold, the tolerance, the measured interval, and the metadata a suite disclosed.
Never the judge's reason — the judge quotes the output, so the reason is the
output. Never the sentence explaining a suspension, never undisclosed metadata,
never a case's inputs, and never a prompt or its digest unless the suite
declares Disclosure(artifacts=True).
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file digline_mcp-0.1.1.tar.gz.
File metadata
- Download URL: digline_mcp-0.1.1.tar.gz
- Upload date:
- Size: 24.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ca474c90f8f1f1c08438e5d912f5261898771e05e799bdf68cc6165366a5f86e
|
|
| MD5 |
cf10b3682c6fc7b6fb932453a1ea5043
|
|
| BLAKE2b-256 |
05f69c49795dc9dd517d3105b92270bca7b7043b3210732ea7c50f7140d710b1
|
Provenance
The following attestation bundles were made for digline_mcp-0.1.1.tar.gz:
Publisher:
publish.yml on digline/digline
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
digline_mcp-0.1.1.tar.gz -
Subject digest:
ca474c90f8f1f1c08438e5d912f5261898771e05e799bdf68cc6165366a5f86e - Sigstore transparency entry: 2779109231
- Sigstore integration time:
-
Permalink:
digline/digline@5411237f9f64e809f65bfbf164812e54133fcae8 -
Branch / Tag:
refs/tags/v0.7.1 - Owner: https://github.com/digline
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@5411237f9f64e809f65bfbf164812e54133fcae8 -
Trigger Event:
push
-
Statement type:
File details
Details for the file digline_mcp-0.1.1-py3-none-any.whl.
File metadata
- Download URL: digline_mcp-0.1.1-py3-none-any.whl
- Upload date:
- Size: 13.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d4e9401b266b048d9d358c83926b74e9c70f2d55857f5ae4c38a4f0da611ea6d
|
|
| MD5 |
6728eab25622675edd82eab174579f1b
|
|
| BLAKE2b-256 |
3748327113b83bfa0d3e4d3d75ecdda0340b057efa3241ad1b6712e9a7e817a2
|
Provenance
The following attestation bundles were made for digline_mcp-0.1.1-py3-none-any.whl:
Publisher:
publish.yml on digline/digline
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
digline_mcp-0.1.1-py3-none-any.whl -
Subject digest:
d4e9401b266b048d9d358c83926b74e9c70f2d55857f5ae4c38a4f0da611ea6d - Sigstore transparency entry: 2779110424
- Sigstore integration time:
-
Permalink:
digline/digline@5411237f9f64e809f65bfbf164812e54133fcae8 -
Branch / Tag:
refs/tags/v0.7.1 - Owner: https://github.com/digline
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@5411237f9f64e809f65bfbf164812e54133fcae8 -
Trigger Event:
push
-
Statement type: