verdict-qa-mcp
A read-only MCP server and release gate over Verdict's QA state — so anything that speaks MCP can consult your QA memory.
Verdict is a Claude Code QA agent that keeps a baseline and reports what broke since
yesterday: findings with stable IDs and ages, every red test classified, flaky tests
quarantined with an expiry, and a verdict of pass | pass with risks | blocked | fail
that names what was not tested.
This distribution is the part of Verdict that other tools talk to. It reads the same state files the agent writes and never writes to them — an orchestrator gating a merge, a Cursor or Codex session, or a CI step commenting on a PR can all ask what the tester last found. The agent itself is a Claude Code plugin with zero dependencies and works without this package.
Note on the name. The distribution is
verdict-qa-mcp; the console script is stillverdict-mcp, and the import package is stillverdict_mcp.verdict-mcpwas taken on PyPI by an unrelated project.
Install
claude mcp add verdict -- uvx --from verdict-qa-mcp verdict-mcp
Or pip install verdict-qa-mcp / uv pip install verdict-qa-mcp.
MCP tools
Every tool carries a read-only annotation, and the server never writes — the tester's memory is public API; the tester's pen is not.
| Tool | Returns |
|---|---|
get_verdict(project) |
last verdict, release blockers, report path, not-tested list |
get_findings(project, status) |
open (default), all, or NEW / STILL_OPEN / RESOLVED / REGRESSED — REGRESSED ranked first |
get_quarantine(project) |
the flaky ledger, each entry with a computed expired flag |
get_history(project) |
run-over-run trend parsed from the report index |
get_report(project, report?) |
full report content, path-guarded to the QA root — so CI can quote the evidence, not just link it |
get_profile(project) |
isolation rules, risk areas, real test commands, and the lessons ledger when one exists |
get_trends(project) |
trajectory, current pressure (open by severity, age, quarantine size), and hotspots — where this project's defects actually cluster |
list_projects() / get_state(project) |
everything with a baseline / the raw state |
project is a key under the solo root (~/.claude/verdict/, override with VERDICT_HOME)
or a repo path in team mode, which resolves <repo>/.qa/.
Command-line entry points
| Command | Does |
|---|---|
verdict-mcp |
the MCP server above |
verdict-gate |
exit-code release gate for CI — keeps "never ran" distinct from "said no" |
verdict-validate |
checks a state file is well-formed (--at-rest for a committed one) |
verdict-run |
runs a pass through the harness |
verdict-facts / verdict-finalize |
measure-then-judge harness halves |
Documentation
Full documentation, the plugin itself, and the published eval results live on GitHub:
- Repository and plugin install
- Published eval results — including the runs that scored badly
- State schema
- Changelog
MIT licensed.
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 verdict_qa_mcp-0.52.0.tar.gz.
File metadata
- Download URL: verdict_qa_mcp-0.52.0.tar.gz
- Upload date:
- Size: 121.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f8de687552e00459f37bf4ebd2ce82eca4cb2f41b0c3e82f2b8437e5e10bd79f
|
|
| MD5 |
ac218be53e462faad55fb9e0e9018094
|
|
| BLAKE2b-256 |
11af3b572fe76bcdc2098be227fb9a53ac6ff5d22cc3b8cee3a8d3820223efb7
|
Provenance
The following attestation bundles were made for verdict_qa_mcp-0.52.0.tar.gz:
Publisher:
release.yml on ArtJack/verdict
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
verdict_qa_mcp-0.52.0.tar.gz -
Subject digest:
f8de687552e00459f37bf4ebd2ce82eca4cb2f41b0c3e82f2b8437e5e10bd79f - Sigstore transparency entry: 2683746105
- Sigstore integration time:
-
Permalink:
ArtJack/verdict@71d70df609957fb49f15a550a917fc3524c3be3b -
Branch / Tag:
refs/tags/v0.52.0 - Owner: https://github.com/ArtJack
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@71d70df609957fb49f15a550a917fc3524c3be3b -
Trigger Event:
push
-
Statement type:
File details
Details for the file verdict_qa_mcp-0.52.0-py3-none-any.whl.
File metadata
- Download URL: verdict_qa_mcp-0.52.0-py3-none-any.whl
- Upload date:
- Size: 74.0 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 |
f6e8a32cee27dabb0ee3683a6171c42d8534604eafdf04cd9698f60973a7054d
|
|
| MD5 |
56719b3dc16d1230c3c0aa381e72e629
|
|
| BLAKE2b-256 |
f7fe3b4f113390ce9770bbcc971f95cf8e77342b8465edfebe24bd5351f86200
|
Provenance
The following attestation bundles were made for verdict_qa_mcp-0.52.0-py3-none-any.whl:
Publisher:
release.yml on ArtJack/verdict
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
verdict_qa_mcp-0.52.0-py3-none-any.whl -
Subject digest:
f6e8a32cee27dabb0ee3683a6171c42d8534604eafdf04cd9698f60973a7054d - Sigstore transparency entry: 2683746110
- Sigstore integration time:
-
Permalink:
ArtJack/verdict@71d70df609957fb49f15a550a917fc3524c3be3b -
Branch / Tag:
refs/tags/v0.52.0 - Owner: https://github.com/ArtJack
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@71d70df609957fb49f15a550a917fc3524c3be3b -
Trigger Event:
push
-
Statement type: