
Runs quality gates on your codebase through MCP, exposing 26 tools that let AI agents check for hardcoded secrets, structural issues, and AI-specific drift like hallucinated imports. Gates fire automatically when agents write code and return Fix Packets with exact line numbers and remediation steps agents can consume directly. The Brain learns your codebase patterns over time, promoting recurring violations to hard rules. Works with TypeScript, JavaScript, Python, Go, Ruby, and more through AST analysis. Includes a live dashboard in Claude Desktop and VS Code that shows real-time pass/fail scores as agents iterate. Add it with npx and point your MCP config at @rigour-labs/mcp to get instant governance without leaving the agent loop.
Public tool metadata for what this MCP can expose to an agent.
rigour_checkRun quality gate checks on the project. Matches the CLI 'check' command.1 paramsRun quality gate checks on the project. Matches the CLI 'check' command.
cwdstringrigour_explainExplain the last quality gate failures with actionable bullets. Matches the CLI 'explain' command.1 paramsExplain the last quality gate failures with actionable bullets. Matches the CLI 'explain' command.
cwdstringrigour_statusQuick PASS/FAIL check with JSON-friendly output for polling current project state.1 paramsQuick PASS/FAIL check with JSON-friendly output for polling current project state.
cwdstringrigour_get_fix_packetRetrieves a prioritized 'Fix Packet' (v2 schema) containing detailed machine-readable diagnostic data.1 paramsRetrieves a prioritized 'Fix Packet' (v2 schema) containing detailed machine-readable diagnostic data.
cwdstringrigour_record_failureRecord an operation failure to track retry loops and prompt for documentation consult.3 paramsRecord an operation failure to track retry loops and prompt for documentation consult.
categorystringcwdstringerrorMessagestringrigour_clear_failureClear failure history for a category after a successful operation or manual fix.2 paramsClear failure history for a category after a successful operation or manual fix.
categorystringcwdstringrigour_rememberStore a persistent instruction or context that the AI should remember across sessions. Use this to persist user preferences, project conventions, or critical instructions that the agent should always follow.3 paramsStore a persistent instruction or context that the AI should remember across sessions. Use this to persist user preferences, project conventions, or critical instructions that the agent should always follow.
cwdstringkeystringvaluestringrigour_recallRetrieve stored instructions or context. Call this at the start of each session to restore memory. Returns all stored memories if no key specified.2 paramsRetrieve stored instructions or context. Call this at the start of each session to restore memory. Returns all stored memories if no key specified.
cwdstringkeystringrigour_forgetRemove a stored memory by key.2 paramsRemove a stored memory by key.
cwdstringkeystringYour AI agent just tried to commit an AWS secret. Rigour blocked it in <100ms.
Agent Transaction Firewall (v6): treat the agent as an untrusted proposer. Rigour decides—deterministically—what it may write, run, call, and ship. No AI judge on the allow/deny path.
npx rigour-scan
Works on any repo. No init, no config, no setup. Instant results in your terminal:
HARDCODED SECRET DETECTED
AWS_SECRET_ACCESS_KEY found in src/config.ts:23
+ 22 more violations across 847 files (2.1s)
Score ████░░░░░░░░░░░░░░░░ 34/100
AI Health ███░░░░░░░░░░░░░░░░░░ 28/100
Gates: ✅ file-size ❌ security ❌ ast ✅ deps
Brain: learned 12 patterns · trend: improving ↑
{ "mcpServers": { "rigour": { "command": "npx", "args": ["-y", "@rigour-labs/mcp@latest"] } } }
| IDE / Agent | MCP Tools | Live Dashboard | Real-Time Feed |
|---|---|---|---|
| Claude Desktop | ✅ | ✅ MCP App | ✅ Logging |
| VS Code Copilot | ✅ | ✅ MCP App | ✅ Logging |
| ChatGPT | ✅ | ✅ MCP App | ✅ Logging |
| Goose | ✅ | ✅ MCP App | ✅ Logging |
| Claude Code | ✅ | — | ✅ Logging |
| Cursor | ✅ | — | ✅ Logging |
| Cline | ✅ | — | ✅ Logging |
| Windsurf | ✅ | — | ✅ Logging |
| Codex | ✅ | — | ✅ Logging |
Then install hooks so writes are checked in real time:
npx @rigour-labs/cli hooks init --tool cursor # or claude, cline, windsurf
# or via MCP: rigour_hooks_init
Short answer: quality gates + DLP + mediated rigour_run paths run when MCP/hooks are installed. It does not yet sit in front of every third-party MCP tool (GitHub/Slack/etc.)—that gateway is designed but not the default proxy.
| Surface | Automatic once installed? | What you get |
|---|---|---|
MCP server (@rigour-labs/mcp) | Yes for Rigour tools the agent calls | rigour_check, Fix Packets, memory DLP, agent register, Studio events |
rigour_run / rigour_run_supervised | Yes when those tools are used | Typed argv allowlist (no free-form shell: true), fail-closed human arbitration (timeout = deny), one-time Studio token |
| IDE hooks (Cursor/Claude/Cline/Windsurf) | Yes after hooks init | Per-write checks (secrets, imports, size, protected paths). If agents are registered, set RIGOUR_AGENT_ID so scope binds to the writer (fail-closed; no union-allow) |
rigour_agent_register | Yes when called | Rejects **/* / sensitive globs unless operator scopes or RIGOUR_ALLOW_AGENT_SCOPE_AUTHORITY=1 |
| CLI firewall | On demand / CI | firewall adversarial, firewall transact, firewall admit |
| Third-party MCP proxy | Not yet | Capability broker + McpGateway interfaces exist; Rigour is not yet a MITM for all MCP servers |
Agent proposes action
↓
Hooks / MCP mediation (when on the path)
↓
Deterministic deny/allow + rule id
↓
Studio evidence · CI attestation (admit)
npx @rigour-labs/cli firewall status
npx @rigour-labs/cli firewall adversarial # deterministic corpus — unexpected allows fail CI
npx @rigour-labs/cli firewall transact --agent <id> --scope 'packages/foo/**'
npx @rigour-labs/cli firewall admit # CI: valid attestation + PASS + bound git tree
npx @rigour-labs/cli studio # Firewall tab: decisions, attestation, mediation health
Guarantees (on mediated paths): fail-closed arbitration · typed commands · per-agent scope · signed attestation bound to commit/tree · adversarial replay as regression fuel—not an AI red-team product.
See ADR 001.
In supported editors, a real-time dashboard appears automatically as your agent works:
┌─ Rigour Governance ──────────────────────────┐
│ Score: 94/100 ✅ PASS │
│ │
│ 14:32:01 rigour_check → FAIL (34/100) │
│ 14:32:03 fix_packet → 8 fixes │
│ 14:32:15 rigour_check → 71/100 (+37) │
│ 14:32:22 rigour_check → ✅ PASS 94/100 │
│ │
│ Brain: 47 patterns · trend: improving ↑ │
└───────────────────────────────────────────────┘
No extra commands. The dashboard appears when the agent calls Rigour tools. Watch your agent self-heal in real time. Open Firewall in Studio for allow/deny decisions and mediation status (partial until the MCP gateway is fully wired).
| Category | Gates |
|---|---|
| Security | Hardcoded secrets (29+ patterns), SQL injection, XSS, CSRF, prototype pollution, Shannon entropy |
| Structural | File size, cyclomatic complexity, method count, parameter count, nesting depth, TODO/FIXME |
| AI Drift | Hallucinated imports, phantom APIs, context drift, retry loop detection |
| Governance | Agent team isolation, checkpoint supervision, memory DLP |
| Firewall | Out-of-scope writes, undeclared MCP tools, disallowed shell, fail-closed timeouts |
AST-based. Not heuristics. TypeScript, JavaScript, Python, Go, Ruby, C#, Java, Kotlin, Rust.
Agent writes code → Hooks / gates fire → FAIL? → Fix Packet (JSON)
↓
Agent reads exact instructions
↓
Agent fixes → PASS ✓
Mediated run (rigour_run) → typed allowlist → human arbitration (fail-closed)
↓
execute or deny + evidence
Voluntary rigour_check is a quality workflow, not the security boundary. Hard guarantees require installed hooks/MCP mediation and (for CI) firewall admit.
Every scan reinforces patterns. Patterns decay when absent. At strength: 0.9, they promote to hard rules. Your project's own immune system — trained locally, zero telemetry.
First week: catches 12 violations
First month: catches 8 violations ← learning your patterns
Third month: catches 3 violations ← your agents have adapted
| Rigour | ESLint | “AI security agents” | |
|---|---|---|---|
| Runs locally, zero telemetry | ✅ | ✅ | often ❌ |
| Learns YOUR codebase (Brain) | ✅ | ❌ | ❌ |
| Agent self-healing (Fix Packets) | ✅ | ❌ | ❌ |
| Deterministic execution firewall | ✅ | ❌ | usually LLM judge |
| Works offline (GGUF sidecar) | ✅ | ✅ | ❌ |
| AI-native drift detection | ✅ | ❌ | ❌ |
| MCP-native | ✅ | ❌ | varies |
npx rigour-scan # zero-config scan
npx @rigour-labs/cli init # add gates to your project
npx @rigour-labs/cli hooks init --tool cursor
npx @rigour-labs/cli check # run gates
npx @rigour-labs/cli check --deep # + local AI analysis
npx @rigour-labs/cli check --deep --provider claude -k sk-ant-xxx # cloud AI
npx @rigour-labs/cli studio # monitoring + Firewall tab
npx @rigour-labs/cli firewall adversarial
npx @rigour-labs/cli firewall admit
| Package | Purpose |
|---|---|
@rigour-labs/core | Gate engine, AST, Fix Packets, Brain, firewall kernel |
@rigour-labs/cli | init, check, scan, run, studio, firewall |
@rigour-labs/mcp | MCP server — governance tools for agent integration |
rigour-scan | Zero-config shortcut: npx rigour-scan |
Stack: TypeScript strict, web-tree-sitter, Zod, Vitest.
Full docs | Technical Spec | Philosophy | Firewall ADR
MIT © Rigour Labs — Built by Ashutosh
If Rigour caught something real in your codebase — tell us.