Odel
verity mcp

verity mcp

Local
@meloliva14PythonUpdated 1mo ago

Fail-closed verify-before-you-act gate for AI agents. Signed receipts. Pay-per-call via x402.

mcp-name: io.github.meloliva14/verity-mcp

Verity MCP — verify before you act

The official Model Context Protocol server for VerityLayer: independent, fail-closed trust checks any MCP-capable agent can discover and call. Fact-check a claim, screen for prompt-injection, catch PII, and gate irreversible actions — each check returns a calibrated verdict and abstains rather than guess. Payment is pay-per-call via x402 (USDC on Base mainnet). Verity holds no private key and never charges silently.

Name note: this is VerityLayer's official server — PyPI package verity-mcp, npm package @veritylayer/mcp. The npm package named verity-mcp is an unrelated third-party project.

Tools & pricing (every docstring states its price up front)

ToolPriceGrounded?What it's for
quick_verify$0.02no (Haiku)Cheap reality-check on a claim — the loopable default. Run everywhere, escalate the load-bearing ones.
grounded_verify$0.25yes (Sonnet, live web citations)The default product — web-grounded with cited evidence, for facts that matter before you act on them.
pro_verify$0.35yes (Opus, premium synthesis)The deepest tier — high-stakes claims where the grounded answer isn't confident enough to act on.
verify_receiptfreeStatelessly verify a signed Ed25519 verdict receipt — the audit trail / second opinion, no payment.
detect_injection$0.02Screen untrusted text / tool output for prompt-injection before acting on it.
moderate_content$0.02Is this safe to publish? (allow / review / block priced identically — no block-to-bill.)
redact_pii$0.02Does this leak PII or secrets? Returns findings + a redacted version.
guard_action$0.02The money-line gate: allow / review / block right before an irreversible action.

Quickstart

With uv (recommended — Claude Desktop / any MCP client):

{
  "mcpServers": {
    "verity": {
      "command": "uvx",
      "args": ["verity-mcp"]
    }
  }
}

Or with pip:

pip install verity-mcp
verity-mcp        # stdio MCP server

That gets you the tools and the free verify_receipt. To get paid verdicts, read the next section — it's the part most people trip on.

How payment works

Verity's endpoints answer HTTP 402 (Payment Required) until the disclosed USDC micro-payment is settled. There are two ways to do that.

Wallet mode — get real verdicts (recommended)

{
  "mcpServers": {
    "verity": {
      "command": "uvx",
      "args": ["--from", "verity-mcp[x402]", "verity-mcp"],
      "env": { "VERITY_WALLET_KEY": "0x…" }
    }
  }
}

Point VERITY_WALLET_KEY at a funded Base-mainnet wallet and this server settles each call itself — the paid tools return real verdicts. Your key never leaves the process: it signs an EIP-3009 authorization locally for the exact amount each challenge discloses, and Verity only ever receives the signature. Nothing is charged silently; every price is disclosed up front.

Use a dedicated, low-balance wallet. This key can spend. Fund it with a few dollars of USDC on Base — calls cost $0.02–$0.35.

Keyless — the default

With no key set, this server holds nothing and pays nothing: a 402 is surfaced transparently (price restated, challenge attached) for an x402-capable caller to settle.

Be aware of the honest caveat: no shipping MCP client — Claude Desktop, Claude Code, Cursor, Windsurf — settles x402 today. So in keyless mode the paid tools will return payment_required and no verdict, forever. That's not a bug and it isn't hidden: the response says NO VERDICT WAS PRODUCED. Do not proceed as if this returned allow. If you want verdicts from an ordinary MCP client, use wallet mode.

verify_receipt is a free route, never 402s, and needs no wallet — you can check our signatures before you ever pay us.

Signed receipts — don't take Verity's word for it

Every paid verdict ships with an Ed25519-signed receipt: self-contained cryptographic proof of exactly what Verity said about exactly what claim, verifiable forever. Check any receipt free with the verify_receipt tool, offline against the public key at /.well-known/verity-pubkey.json, or live: curl https://api.veritylayer.dev/receipt/selftest.

Configuration (all optional)

Env varDefaultPurpose
VERITY_WALLET_KEY(unset — keyless)Optional. Private key of a funded Base wallet. Set it (with the [x402] extra) and this server settles its own payments, so paid tools return real verdicts. Never leaves the process; never logged.
VERITY_ENGINE_URLhttps://api.veritylayer.devFlagship claim-verification engine
VERITY_SUITE_URLhttps://suite.veritylayer.devTrust-check suite (injection/moderation/PII/guardrail)
VERITY_TIMEOUT90HTTP timeout (seconds)
VERITY_PRICE_QUICK$0.02Disclosed price echo for quick_verify
VERITY_PRICE_GROUNDED$0.25Disclosed price echo for grounded_verify
VERITY_PRICE_PRO$0.35Disclosed price echo for pro_verify
VERITY_PRICE_SUITE$0.02Disclosed price echo for the suite checks

Referral tag (reserved)

Every tool accepts an optional affiliate_id, forwarded as an X-Verity-Ref header. It never changes price, gating, or the verdict — it only tags who routed the call, and it is reserved for a future referral program: no split is paid today, and none will be until public terms are published at veritylayer.dev.

Links

Independent · fail-closed · keyless · pay-per-call. The only trust form an autonomous agent can pick up mid-task with no human and no account.