thoughtproof-mcp
OfficialThis is a local stdio MCP server for pre-execution verification of AI-agent actions, claims, agent trust scores, and trades.
verify_decision/verify_before_action: fail-closed pre-action gate before payments, transfers, trades, writes, publishes, deletes, deploys, or other irreversible actions; returnsexecute: trueonly onALLOW.Routes internally to DQL for spend/checkout decisions or Sentinel for irreversible exits; supports
autoor explicitmode, optionalquote,context,action_kind,mandate_kind, and repair viain_reply_to.verify_claim: adversarially verify claims or AI-generated reasoning via RV, with configurable stake level, domain, and speed.check_agent_score: look up an agent’s composite trust score on the ERC-8004 registry, optionally filtered by domain.verify_trade: optional pre-execution gate for trading agents using a Sentinel→RV pipeline and stake-level thresholds.Runs locally with Node 18+ via
npx/stdio MCP clients; uses environment keys such asDQL_API_KEY,SENTINEL_API_KEY, andTHOUGHTPROOF_API_KEY.
Allows looking up agent trust scores on the ERC-8004 registry, an Ethereum-based autonomous agent registry.
thoughtproof-mcp
thoughtproof-mcp — local stdio. Hero tool verify_decision (DQL spend / Sentinel irreversible exit). execute is true only on ALLOW. Sentinel ALLOW must match a verified signed export.
MCP server for ThoughtProof — pre-execution decision verification for AI agents.
Hero tool: verify_decision. It routes inside the tool to DQL (spend / checkout) or Sentinel (irreversible exit) and returns a fail-closed execute flag. execute is true only on a native ALLOW.
This package is a local stdio MCP server (Node 18+) for Desktop / CLI hosts such as Cursor, Claude Desktop, Windsurf, and Cline. It is not a remote HTTP MCP server. It is not a Grok Web/Mobile custom connector.
Get keys at https://app.thoughtproof.ai/pricing.
Unpublished work is documented in UNRELEASED.md.
Quick Start
{
"mcpServers": {
"thoughtproof": {
"command": "npx",
"args": ["-y", "thoughtproof-mcp@0.3.2"],
"env": {
"DQL_API_KEY": "<YOUR_DQL_VERIFY_KEY>"
}
}
}
}Install with npx -y thoughtproof-mcp@0.3.2. Works with Claude Desktop, Cursor, Windsurf, Cline, and other local stdio MCP clients.
Related MCP server: SENTINEL
Tools
verify_before_action / verify_decision (hero)
verify_before_action is an alias of verify_decision (identical schema + handler). Soft fail-closed: host must honor execute=false.
Pre-execution gate for a proposed action. Routing is inside the tool — not an agent quiz.
Parameter | Type | Default | Description |
| string | (required) | User's stated goal / instruction |
| string | (required) | What the agent is about to do |
| string | (required) | The agent's own plan / reasoning |
| string | (optional) | Extra evidence |
|
|
| Explicit surface, or auto-route |
Auto-route: spend / checkout / booking / purchase / payment / cart / Stripe / price / budget / cap → DQL. High-blast irreversible exit without that language (publish, delete, deploy, send-to-prod, memory write) → Sentinel. Unsure → DQL. Explicit mode wins. RV / PLV are not on this path.
Camera mandate: do not put the overshoot in proposed_action or reasoning (for example, do not write “price is above the cap”). The verifier has to find the mismatch.
Envelope (always this shape):
{
"verdict": "ALLOW",
"execute": true,
"objections": [],
"receipt_id": "dql_…",
"surface": "dql",
"axes": [],
"recommendation": "execute"
}execute is true only on ALLOW. REVIEW, UNCERTAIN, BLOCK, timeouts, HTTP 402/4xx/5xx, and missing keys return execute: false. Fail-closed is soft at the protocol layer — the tool does not hard-stop the host. Replan is a new call (new receipt).
verify_claim
Verify any claim or AI-generated reasoning via RV (POST /v1/check). Unchanged.
Parameter | Type | Default | Description |
| string | (required) | The text to verify |
|
|
| Risk level — higher stakes trigger deeper verification |
|
|
| Domain context for specialized verification |
|
|
| Verification depth |
check_agent_score
Look up an agent's composite trust score on the ERC-8004 registry.
Parameter | Type | Description |
| string | Agent ID to look up |
| string | Optional domain filter |
verify_trade
Optional pre-execution gate for trading agents (Sentinel → RV). Not the default verify_decision path. See VERIFY_TRADE.md.
Configuration
Environment Variable | Default | Description |
| (none) | DQL key ( |
| (none) | Optional. Required only when |
| (off) | Set to |
| (none) | Operator key for |
|
| RV API base URL ( |
A missing Sentinel key returns execute: false with “Sentinel key not configured” — it does not silently call DQL.
Development
git clone https://github.com/ThoughtProof/thoughtproof-mcp.git
cd thoughtproof-mcp
npm install
npm run build
npm test
npm run dev # Run with tsx (hot reload)
npm run inspect # Test with MCP InspectorFor local MCP clients, point command at node and args at dist/index.js after npm run build.
Security
See SECURITY.md for supported versions, private reporting (security@thoughtproof.ai), and key handling (dqlk_… for MCP hero — never commit real keys).
HOL listing / Guard scanner score is a review baseline only. It is not next-action authorization and not a substitute for fail-closed host behavior (execute: true only on ALLOW).
Related
ThoughtProof — Decision verification for AI agents
pot-cli — CLI for reasoning verification
ERC-8004 — Autonomous Agent Registry
License
MIT — ThoughtProof
Available Tools
5 toolscheck_agent_scoreD
Inputs: agentId (required), domain.
verify_before_actionA
ThoughtProof pre-action verification gate: verify before the agent pays, trades, writes, or deploys. Call this BEFORE any consequential tool (payment, trade, transfer, publish, delete, deploy, irreversible write). Returns { verdict, execute, objections, structured_objections, receipt_id, surface, loop, axes?, recommendation, in_reply_to? }. execute is true ONLY on ALLOW — on any other result do NOT execute (soft fail-closed; host must honor execute=false). If structured_objections have severity blocked_until, repair using repair_hints and call again with in_reply_to set to that objection_id (new receipt; prior ALLOW does not carry). Routes internally to DQL (spend/checkout) or Sentinel (irreversible exit). Camera mandate: you must NOT put the overshoot or constraint violation in proposed_action or reasoning (for example, do not write "price is above the cap"). Put the user goal in mandate, the action you are about to take in proposed_action, and your plan in reasoning — the verifier must find the mismatch. Optional mandate_kind / action_kind declare Sentinel ActionKind (informational | value_transfer | permission | deploy_ship | unknown) — omit rather than guess. Replan = new call = new receipt. Aliases: verify_decision, verify_before_action, verify_before_act.
Inputs: mandate (required), reasoning (required), proposed_action (required), mode, +5 more.
verify_claimD
Inputs: claim (required), speed, domain, stakeLevel.
verify_decisionA
ThoughtProof pre-action verification gate: verify before the agent pays, trades, writes, or deploys. Call this BEFORE any consequential tool (payment, trade, transfer, publish, delete, deploy, irreversible write). Returns { verdict, execute, objections, structured_objections, receipt_id, surface, loop, axes?, recommendation, in_reply_to? }. execute is true ONLY on ALLOW — on any other result do NOT execute (soft fail-closed; host must honor execute=false). If structured_objections have severity blocked_until, repair using repair_hints and call again with in_reply_to set to that objection_id (new receipt; prior ALLOW does not carry). Routes internally to DQL (spend/checkout) or Sentinel (irreversible exit). Camera mandate: you must NOT put the overshoot or constraint violation in proposed_action or reasoning (for example, do not write "price is above the cap"). Put the user goal in mandate, the action you are about to take in proposed_action, and your plan in reasoning — the verifier must find the mismatch. Optional mandate_kind / action_kind declare Sentinel ActionKind (informational | value_transfer | permission | deploy_ship | unknown) — omit rather than guess. Replan = new call = new receipt. Aliases: verify_decision, verify_before_action, verify_before_act.
Inputs: mandate (required), reasoning (required), proposed_action (required), mode, +5 more.
verify_tradeD
Inputs: action (required), thesis (required), reasoning (required), situation, +1 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 5 tools
verify_decision and verify_before_action are exact duplicates of the same tool exposed as separate entries, and verify_claim/verify_trade also overlap with the general verification concept. An agent cannot reliably distinguish which verification tool to call.
Most tools follow a verify_* pattern, but check_agent_score breaks it, and verify_before_action is just an alias of verify_decision rather than a distinct operation. The convention is readable but not cleanly consistent.
Five tools is a reasonable size for a focused verification server, though two are duplicates and three lack descriptions, so the effective distinct surface is smaller than the count suggests.
The core pre-action verification gate is described, but verify_claim, verify_trade, and check_agent_score have no descriptions, making their coverage unknowable. There are also no tools for managing receipts, reviewing prior objections, or repairing blocked decisions beyond the inline repair hints.
Maintenance
Related MCP Connectors
Trust gate for AI agents: multi-model adversarial consensus, signed and verifiable verdicts.
Adversarial verification for AI agents - pay an independent skeptic per verdict in USDC via x402.
Deterministic prompt-injection detection & sanitization for AI agents via x402 on Base.
AI/LLM agent output audit MCP: policy eval, tamper-evident chain, AI safety, x402 USDC on Base.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAdversarial multi-model reasoning verification for AI agents. Claude, Grok, and DeepSeek challenge each decision — returns ALLOW or HOLD with JWKS-signed attestation. x402-gated on Base.1 npmMIT
- FlicenseAqualityCmaintenanceAgent-Level Transaction Safety Oracle. Before an AI agent signs a blockchain transaction, it returns a SAFE/UNSAFE verdict with a SENTINEL Score (AAA-D) and risk flags. Pay-per-call $0.005 USDC via x402 on Base.1-
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to verify proposed actions through federated adversarial consensus among multiple LLMs, providing Ed25519-signed attestations to prevent hallucinations, unverified counterparties, and compliance risks before execution.2MIT
- AlicenseNot gradedqualityBmaintenanceEnables agents to submit claims, plans, or drafts for evaluation by a panel of frontier models from multiple vendors, receiving a structured consensus verdict with dissent, paid per call via x402 using USDC on Base without needing vendor accounts.1Functional Source , Version 1.1, MIT Future