Independent fail-closed 'verify before you act' trust gate for AI agents — MCP server. Tiered, disclosed, pay-per-call via x402 (USDC on Base): quick_verify $0.02, grounded_verify $0.25 (live web citations), pro_verify $0.35, free verify_receipt (checks Ed25519-signed verdict receipts), plus prompt-injection, moderation, PII, and pre-action guardrail checks at $0.02. Keyless.
Project description
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 namedverity-mcpis an unrelated third-party project.
Tools & pricing (every docstring states its price up front)
| Tool | Price | Grounded? | What it's for |
|---|---|---|---|
quick_verify |
$0.02 | no (Haiku) | Cheap reality-check on a claim — the loopable default. Run everywhere, escalate the load-bearing ones. |
grounded_verify |
$0.25 | yes (Sonnet, live web citations) | The default product — web-grounded with cited evidence, for facts that matter before you act on them. |
pro_verify |
$0.35 | yes (Opus, premium synthesis) | The deepest tier — high-stakes claims where the grounded answer isn't confident enough to act on. |
verify_receipt |
free | — | Statelessly verify a signed Ed25519 verdict receipt — the audit trail / second opinion, no payment. |
detect_injection |
$0.02 | — | Screen untrusted text / tool output for prompt-injection before acting on it. |
moderate_content |
$0.02 | — | Is this safe to publish? (allow / review / block priced identically — no block-to-bill.) |
redact_pii |
$0.02 | — | Does this leak PII or secrets? Returns findings + a redacted version. |
guard_action |
$0.02 | — | The 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 var | Default | Purpose |
|---|---|---|
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_URL |
https://api.veritylayer.dev |
Flagship claim-verification engine |
VERITY_SUITE_URL |
https://suite.veritylayer.dev |
Trust-check suite (injection/moderation/PII/guardrail) |
VERITY_TIMEOUT |
90 |
HTTP timeout (seconds) |
VERITY_PRICE_QUICK |
$0.02 |
Disclosed price echo for quick_verify |
VERITY_PRICE_GROUNDED |
$0.25 |
Disclosed price echo for grounded_verify |
VERITY_PRICE_PRO |
$0.35 |
Disclosed price echo for pro_verify |
VERITY_PRICE_SUITE |
$0.02 |
Disclosed 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
- Website: https://veritylayer.dev · Manifesto: https://veritylayer.dev/manifesto/
- Live API + discovery: https://api.veritylayer.dev/llms.txt ·
/.well-known/x402.json - npm client:
@veritylayer/mcp - Contact: veritylayer@gmail.com
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.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file verity_mcp-0.4.2.tar.gz.
File metadata
- Download URL: verity_mcp-0.4.2.tar.gz
- Upload date:
- Size: 12.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7879338178066824ee21891082d5e61c437462b5f2dc134aadcc320e33730765
|
|
| MD5 |
28b40ff9face9d6c931484f4e36e2af6
|
|
| BLAKE2b-256 |
164eee99640431a28cc98cf58254c53fc9730b4c7f72f694d654a7b1173123cb
|
File details
Details for the file verity_mcp-0.4.2-py3-none-any.whl.
File metadata
- Download URL: verity_mcp-0.4.2-py3-none-any.whl
- Upload date:
- Size: 11.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
106731f17a6a28d92dcd7b9b6f64b3fab56c1498c4b6aa9e24af6c65849baefa
|
|
| MD5 |
9a560ff268b558dd9cf6420e96fe0e87
|
|
| BLAKE2b-256 |
2f10b6d0cb30ddfbe4da6b8ca12c9ca9411b9d7fd225136a6b8ee28997696ba4
|