
Connects Claude to a live fact-checking API that returns structured verdicts (CURRENT, OUTDATED, DISPUTED, UNVERIFIABLE) with confidence scores and supporting sources. Exposes four tools: verity_verify for single claims, verity_deep_check for thorough multi-angle verification, verity_batch for up to 10 claims at once, and verity_agent for natural language queries. Each call costs between 0.10 and 0.75 USDC on Base. Maintains persistent memory across sessions if you pass a consistent caller_id, so it remembers what you've already checked. Useful when you need to validate information against current web sources or catch outdated claims in documentation and content.
Public tool metadata for what this MCP can expose to an agent.
verity_verifyVerify a claim, URL, or statement against live web sources. Returns CURRENT/OUTDATED/DISPUTED/UNVERIFIABLE verdict, confidence 0–100, sources, and what has changed. 0.10 USDC per call.2 paramsVerify a claim, URL, or statement against live web sources. Returns CURRENT/OUTDATED/DISPUTED/UNVERIFIABLE verdict, confidence 0–100, sources, and what has changed. 0.10 USDC per call.
caller_idstringclaimstringverity_deep_checkThorough multi-angle verification with advanced search depth. Cross-references 5+ angles and authoritative sources. Higher confidence result for high-stakes fact-checks. 0.50 USDC per call.2 paramsThorough multi-angle verification with advanced search depth. Cross-references 5+ angles and authoritative sources. Higher confidence result for high-stakes fact-checks. 0.50 USDC per call.
caller_idstringclaimstringverity_batchVerify up to 10 claims in one call. Returns an array of verdicts. Use for content audits and fact-check pipelines. 0.75 USDC for the batch.2 paramsVerify up to 10 claims in one call. Returns an array of verdicts. Use for content audits and fact-check pipelines. 0.75 USDC for the batch.
caller_idstringclaimsarrayverity_agentNatural language fact-checking. Ask anything: 'Is this still true?', 'When was this last updated?', 'Check this URL'. VERITY selects the right strategy automatically. 0.10 USDC per call.2 paramsNatural language fact-checking. Ask anything: 'Is this still true?', 'When was this last updated?', 'Check this URL'. VERITY selects the right strategy automatically. 0.10 USDC per call.
caller_idstringquerystringReal-time fact-checking and data freshness agent. Verifies claims, URLs, and content against live web sources. Returns structured verdicts with confidence scores, what has changed, and supporting sources.
| Verdict | Meaning |
|---|---|
CURRENT | Claim is accurate and up to date |
OUTDATED | Claim was true but has since been superseded |
DISPUTED | Sources disagree — no clear consensus |
UNVERIFIABLE | No usable sources found |
{
"mcpServers": {
"verity": {
"command": "npx",
"args": ["verity-mcp"],
"env": {
"VERITY_PRIVATE_KEY": "0x..."
}
}
}
}
Get USDC on Base at coinbase.com/wallet.
| Tool | Description | Price |
|---|---|---|
verity_verify | Verify a claim or URL against live sources | 0.10 USDC |
verity_deep_check | Multi-angle thorough verification | 0.50 USDC |
verity_batch | Verify up to 10 claims at once | 0.75 USDC |
verity_agent | Natural language fact-checking | 0.10 USDC |
check_credits | Remaining balance for a PayGated pg_ key | free |
POST https://verity.basechainlabs.com/api/verify
Authorization: x402 (USDC on Base)
{
"claim": "Is GPT-4 still the most capable OpenAI model?",
"caller_id": "my-agent-id"
}
Response:
{
"verdict": "OUTDATED",
"confidence": 91,
"summary": "GPT-4 has been superseded by GPT-4o and o3.",
"what_changed": "OpenAI released GPT-4o (May 2024) and o3 (late 2024).",
"sources": [{ "url": "...", "title": "...", "published_date": "2025-01", "supports": "CONTRADICTS" }],
"checked_at": "2026-05-11T09:00:00Z",
"recommendation": "Update any content referencing GPT-4 as the most capable model."
}
Pass a consistent caller_id on every call. VERITY remembers topics you've checked, domains you monitor, and previous results — no re-sending context.
GET https://verity.basechainlabs.com/api/agent?agent-card=true
Built by BaseChain Labs
| Thing | Where |
|---|---|
| The agent's brain | src/agent.ts (system prompt, orchestration), src/tools.ts (fact-checking: Tavily search + Claude verdicts) |
| API endpoints | one file per route under api/: agent (paid A2A entry), verify, deep-check, batch-verify, mcp, checkout, stripe-webhook, recover-key, plus the cron-check-deps and daily-summary crons |
| Payment gate | api/_x402-gate.ts: unpaid POSTs get HTTP 402 with the price and the Bazaar listing; GET returns the agent card |
| Public page | public/index.html (plain HTML). Agent card: public/.well-known/agent.json |
| Marketplace seller | seller-v2.mjs + Dockerfile + railway.json, the Virtuals ACP seller on Railway. Its keyring lives on a Railway volume; keyring.json and keyring.key are runtime files and gitignored |
| Secrets | hosting environment variables only. Never in a file, never in a commit |
There is no test suite and no CI on this repo. A push to main is the deploy.
npx tsc --noEmit -p .main. Vercel builds and deploys production from the GitHub integration.curl -s https://verity.basechainlabs.com/.well-known/agent.json | head -c 300Because there are no tests, prove a change on the live endpoint with a read-only call before calling it done. Never make a paid call (x402 or Stripe) just to test.
public/index.html, the 402 body in api/_x402-gate.ts, the Virtuals ACP offerings, and the npm package README.VERITY_PRIVATE_KEY*secretBase wallet private key (0x...) — used to sign x402 payments in USDC on Base. Per-call: 0.10 USDC (verify), 0.50 USDC (deep-check), 0.75 USDC (batch).