Verity

io.github.Clawdio777Published by GitHub account Clawdio777v1.0.2Updated Oct 25, 2026

Real-time fact-checking MCP. Verifies claims against live sources with structured verdicts.

VerifiedSTDIODesktop onlyWeb Search & ScrapingFinance

Overview

AI-generated overview

Verity is a local MCP server that fact-checks claims and URLs against live web sources, returning structured verdicts with confidence scores and sources.

What you can do
Verify a single claim or URL against live sources and get a structured verdict (current, outdated, disputed, unverifiable) with confidence and supporting sources. Run a deeper multi-angle check on a claim. Batch-verify up to ten claims in one call. Ask for a fact-check in natural language. Check the remaining balance of a prepaid key. Reuse a caller ID so earlier checks and monitored topics are remembered.
When to use it
Useful when an assistant needs to confirm whether a statement or link is still accurate before relying on it, or when checking several claims at once and wanting dated sources and a clear verdict rather than a plain search.
Requirements
Runs locally via npx (Node.js). Requires a Base wallet private key in the VERITY_PRIVATE_KEY environment variable to sign payments, and USDC on Base to pay per call. Network access to the Verity API is needed.
Before you install
The server asks for a Base wallet private key, which controls funds; use a dedicated low-balance wallet. Every verification call spends USDC (0.10, 0.50 or 0.75 per call), so costs add up. Claims, URLs and a caller ID are sent to a third-party API, and the caller ID links your checks over time.

Installation

In SourceWeft

  1. Open Verity in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

VERITY — Real-Time Fact-Checking Agent

Real-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.

Verdicts

VerdictMeaning
CURRENTClaim is accurate and up to date
OUTDATEDClaim was true but has since been superseded
DISPUTEDSources disagree — no clear consensus
UNVERIFIABLENo usable sources found

MCP Setup (Claude Desktop / Cursor)

json
{  "mcpServers": {    "verity": {      "command": "npx",      "args": ["verity-mcp"],      "env": {        "VERITY_PRIVATE_KEY": "0x..."      }    }  }}

Get USDC on Base at coinbase.com/wallet.

Tools

ToolDescriptionPrice
verity_verifyVerify a claim or URL against live sources0.10 USDC
verity_deep_checkMulti-angle thorough verification0.50 USDC
verity_batchVerify up to 10 claims at once0.75 USDC
verity_agentNatural language fact-checking0.10 USDC
check_creditsRemaining balance for a PayGated pg_ keyfree

API

POST https://verity.basechainlabs.com/api/verifyAuthorization: x402 (USDC on Base)
json
{  "claim": "Is GPT-4 still the most capable OpenAI model?",  "caller_id": "my-agent-id"}

Response:

json
{  "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."}

Persistent Memory

Pass a consistent caller_id on every call. VERITY remembers topics you've checked, domains you monitor, and previous results — no re-sending context.

A2A Agent Card

GET https://verity.basechainlabs.com/api/agent?agent-card=true

Built by BaseChain Labs


Making changes (maintainer guide)

Where things live

ThingWhere
The agent's brainsrc/agent.ts (system prompt, orchestration), src/tools.ts (fact-checking: Tavily search + Claude verdicts)
API endpointsone 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 gateapi/_x402-gate.ts: unpaid POSTs get HTTP 402 with the price and the Bazaar listing; GET returns the agent card
Public pagepublic/index.html (plain HTML). Agent card: public/.well-known/agent.json
Marketplace sellerseller-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
Secretshosting environment variables only. Never in a file, never in a commit

How a change goes live

There is no test suite and no CI on this repo. A push to main is the deploy.

  1. Edit, then type-check: npx tsc --noEmit -p .
  2. Commit and push to main. Vercel builds and deploys production from the GitHub integration.
  3. Confirm the newest production deployment carries your commit SHA and the endpoint answers: curl -s https://verity.basechainlabs.com/.well-known/agent.json | head -c 300
  4. A push also redeploys the Railway seller. Confirm its log shows it connected afterwards.

Because 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.

Things that bite

  • Prices live in four places that must stay in sync: public/index.html, the 402 body in api/_x402-gate.ts, the Virtuals ACP offerings, and the npm package README.
  • Agentic.market's "Validate endpoint" tool: use POST. GET returns the agent card (200) by design and the validator then says "no x402 setup".
  • Tavily is the search backend. If verifications start failing, check the Tavily credit first.
  • Removing the Railway volume wipes the seller's keyring on the next redeploy and takes it offline.

Source: README.md at commit 301f9b7

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.0.2LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts