Enforces pre-execution verification for AI agents to validate decisions before payments, trades, or irreversible actions.
Also known as ThoughtProof/thoughtproof-mcp, thoughtproof-mcp
- Stars
- 1
- Tools
- 8
- Downloads, 30 days
- —
- Latest version
- 0.3.2
- Last commit
- Nov 13, 2026
- License
- MIT
What is ThoughtProof MCP?
ThoughtProof enforces pre-execution verification for AI agents to validate decisions before payments, trades, or irreversible actions. It exposes 8 tools, such as mandate, proposed_action, reasoning.
Summary generated from the project's README
About ThoughtProof MCP server
ThoughtProof provides a security layer for AI agents by enforcing pre-execution verification for high-stakes decisions. This local stdio MCP server is designed for desktop and CLI hosts like Claude Desktop, Cursor, Windsurf, and Cline. It functions as a gatekeeper that validates proposed actions before they are finalized, ensuring that agents do not perform irreversible operations without proper authorization.
The server uses the verify_decision tool to route requests to either DQL for financial transactions like spending or checkouts, or Sentinel for irreversible actions such as deleting data or deploying code. It operates on a fail-closed principle where the execute flag only returns true upon a native ALLOW verdict. Users must configure the server with a DQL_API_KEY and may optionally provide a SENTINEL_API_KEY for specific routing modes. This setup allows developers to add a layer of trust to autonomous agents by requiring a verified signature before any sensitive command is processed.
What you can do with it
- 1Validate financial transactionsAn AI agent can use the DQL routing to verify if a proposed purchase or payment aligns with a user's budget.
- 2Prevent irreversible system changesDevelopers can protect production environments by routing deployment or deletion commands through the Sentinel path.
- 3Assess agent trustworthinessA developer can look up the composite trust score of a specific agent on the ERC-8004 registry.
Written from the project's README. Every use case is checked against a quote from it.
How to install ThoughtProof MCP
Formats verified 10 Nov 2026Install ThoughtProof MCP in Claude Code
$ claude mcp add --env DQL_API_KEY=<YOUR_DQL_API_KEY> --env SENTINEL_API_KEY=<YOUR_SENTINEL_API_KEY> --env THOUGHTPROOF_API_KEY=<YOUR_THOUGHTPROOF_API_KEY> thoughtproof-mcp -- npx -y thoughtproof-mcpInstall ThoughtProof MCP in Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"thoughtproof-mcp": {
"command": "npx",
"args": [
"-y",
"thoughtproof-mcp"
],
"env": {
"DQL_API_KEY": "<YOUR_DQL_API_KEY>",
"SENTINEL_API_KEY": "<YOUR_SENTINEL_API_KEY>",
"THOUGHTPROOF_API_KEY": "<YOUR_THOUGHTPROOF_API_KEY>"
}
}
}
}Install ThoughtProof MCP in VS Code
.vscode/mcp.json
{
"servers": {
"thoughtproof-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"thoughtproof-mcp"
],
"env": {
"DQL_API_KEY": "<YOUR_DQL_API_KEY>",
"SENTINEL_API_KEY": "<YOUR_SENTINEL_API_KEY>",
"THOUGHTPROOF_API_KEY": "<YOUR_THOUGHTPROOF_API_KEY>"
}
}
}
}Install ThoughtProof MCP in Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"thoughtproof-mcp": {
"command": "npx",
"args": [
"-y",
"thoughtproof-mcp"
],
"env": {
"DQL_API_KEY": "<YOUR_DQL_API_KEY>",
"SENTINEL_API_KEY": "<YOUR_SENTINEL_API_KEY>",
"THOUGHTPROOF_API_KEY": "<YOUR_THOUGHTPROOF_API_KEY>"
}
}
}
}Install ThoughtProof MCP in Codex
~/.codex/config.toml
[mcp_servers.thoughtproof-mcp] command = "npx" args = ["-y", "thoughtproof-mcp"] [mcp_servers.thoughtproof-mcp.env] DQL_API_KEY = "<YOUR_DQL_API_KEY>" SENTINEL_API_KEY = "<YOUR_SENTINEL_API_KEY>" THOUGHTPROOF_API_KEY = "<YOUR_THOUGHTPROOF_API_KEY>"
Install ThoughtProof MCP in Gemini CLI
~/.gemini/settings.json
{
"mcpServers": {
"thoughtproof-mcp": {
"command": "npx",
"args": [
"-y",
"thoughtproof-mcp"
],
"env": {
"DQL_API_KEY": "<YOUR_DQL_API_KEY>",
"SENTINEL_API_KEY": "<YOUR_SENTINEL_API_KEY>",
"THOUGHTPROOF_API_KEY": "<YOUR_THOUGHTPROOF_API_KEY>"
}
}
}
}ThoughtProof MCP tools 8
Detected from the READMEmandateproposed_actionreasoningcontextmodeclaimdomainspeed
| mandate | — | |
| proposed_action | — | |
| reasoning | — | |
| context | — | |
| mode | — | |
| claim | — | |
| domain | — | |
| speed | — |
Configuration
DQL_API_KEYSecretRequired for DQL-backed verify_decision calls. Sentinel and RV paths use their respective keys.
SENTINEL_API_KEYSecretOptional; needed when mode=sentinel or auto-route picks Sentinel.
THOUGHTPROOF_API_KEYSecretOptional operator key for verify_claim / verify_trade / Sentinel fallback.
| Name | Description | |
|---|---|---|
| DQL_API_KEY | Required for DQL-backed verify_decision calls. Sentinel and RV paths use their respective keys. | Secret |
| SENTINEL_API_KEY | Optional; needed when mode=sentinel or auto-route picks Sentinel. | Secret |
| THOUGHTPROOF_API_KEY | Optional operator key for verify_claim / verify_trade / Sentinel fallback. | Secret |
Automated checks
Ran Nov 12, 2026Full report →Passed our automated checks. That is not a security audit: read the code and give the server the narrowest access it needs. How checks work
- Source repository linked and reachablePass
- Open source license (OSI)Pass
- Commit or release in the last yearPass
- Package name not close to a popular packagePass
- Remote endpoint uses HTTPSNot checked
- Destructive tools are labelledPass
- No hidden instructions to the modelPass
- No critical advisory in the package or its dependenciesPass
README
View on GitHubthoughtproof-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.
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 |
|---|---|---|---|
mandate |
string | (required) | User's stated goal / instruction |
proposed_action |
string | (required) | What the agent is about to do |
reasoning |
string | (required) | The agent's own plan / reasoning |
context |
string | (optional) | Extra evidence |
mode |
dql / sentinel / auto |
auto |
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 |
|---|---|---|---|
claim |
string | (required) | The text to verify |
stakeLevel |
low / medium / high / critical |
medium |
Risk level — higher stakes trigger deeper verification |
domain |
financial / medical / legal / code / general |
general |
Domain context for specialized verification |
speed |
fast / standard / deep |
standard |
Verification depth |
check_agent_score
Look up an agent's composite trust score on the ERC-8004 registry.
| Parameter | Type | Description |
|---|---|---|
agentId |
string | Agent ID to look up |
domain |
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 |
|---|---|---|
DQL_API_KEY |
(none) | DQL key (dqlk_…) for the default verify_decision path. Alias: THOUGHTPROOF_DQL_KEY |
SENTINEL_API_KEY |
(none) | Optional. Required only when mode=sentinel or auto-route picks Sentinel. Fallback: THOUGHTPROOF_API_KEY as X-Sentinel-Key |
DQL_SANDBOX |
(off) | Set to 1 to send sandbox: true on DQL calls (local/dev only) |
THOUGHTPROOF_API_KEY |
(none) | Operator key for verify_claim / verify_trade / Sentinel fallback |
THOUGHTPROOF_BASE_URL |
https://api.thoughtproof.ai |
RV API base URL (verify_claim) |
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 Inspector
For 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
ThoughtProof MCP questions
How do I add ThoughtProof MCP to Claude Code?
Run claude mcp add --env DQL_API_KEY=<YOUR_DQL_API_KEY> --env SENTINEL_API_KEY=<YOUR_SENTINEL_API_KEY> --env THOUGHTPROOF_API_KEY=<YOUR_THOUGHTPROOF_API_KEY> thoughtproof-mcp -- npx -y thoughtproof-mcp in your terminal. Add --scope user to make it available in every project.
How do I add ThoughtProof MCP to Cursor?
Open ~/.cursor/mcp.json and add the server under mcpServers, using the Cursor config shown in the install section above.
What tools does ThoughtProof MCP provide?
It exposes 8 tools, including mandate, proposed_action, reasoning, context, mode.
What is the main purpose of the verify_decision tool?
It acts as a pre-execution gate that routes proposed actions to DQL or Sentinel to return an execute flag, ensuring execution only happens on an ALLOW verdict.
Does this server work with Claude Desktop or Cursor?
Yes, it is a local stdio MCP server designed for desktop and CLI hosts including Claude Desktop, Cursor, Windsurf, and Cline.