Prerequisites
- API key (
vdk_live_…) from Settings → Agent access - Workspace ID from Settings → General
- Node.js 18+
1. Cursor config
Add to~/.cursor/mcp.json (global) or .cursor/mcp.json (project):
VERDIKT_API_URL to http://127.0.0.1:8787.
Restart Cursor after saving. First run downloads @useverdikt/mcp from npm — no clone or local path required.
Settings → Agent access includes a pre-filled copy of this config with your workspace ID.
2. Optional agent rule
Copy the agent rule into your project (e.g..cursor/rules/verdikt.mdc for Cursor, or AGENTS.md / CLAUDE.md for other agents) so the agent calls release_brief when the gate is blocked — not just check_gate in a loop.
Tools available
Agent loop (read action, not exit code alone)
When
action is not merge and a human (or you) asks why the release is blocked, call release_brief(release_id) once instead of polling check_gate alone. Read gate_action for exact gate semantics and suggested_verb for coarse next steps (merge | poll | escalate).
Use mode: strict when only pure CERTIFIED (no override) should pass.
Typical PR flow
- Agent opens or updates a PR.
- Apply label
verdikt:rc(orcreate_releasewith commit SHA + repo metadata). - Integrations auto-pull; agent
post_signalsonly for metrics CI produces locally. check_gateorcheck_gate_by_sha— readaction.- If not
merge,release_brieffor blockers and next steps — then fix, poll during collecting, orescalate. - GHA gate workflow + branch protection enforce merge even if the agent misbehaves.
Session tracking
MCP sendsX-Verdikt-Agent-Session on every request. Audit events for one agent run share the same session ID in the Verdikt audit trail. release_brief writes a distinct RELEASE_BRIEF_READ audit event (separate from RELEASE_GATE_CHECKED).