verification-mcp

verification-mcp

Enables AI agents to fact-check claims, verify citations, and check source freshness using Wikipedia, Wikidata, Crossref, and Wayback Machine.

Category
Visit Server

README

Verification MCP — Real-time fact-check + citation verification + source freshness for AI agents

MIT License MCP Cloudflare Workers Live

Fact-check claims against Wikipedia + Wikidata + Crossref. Verify citations. Check source freshness

Hosted MCP server that fact-checks an LLM's claims and citations in real time. Each call fans out to 3-5 upstream authoritative sources: Wikipedia, Wikidata, Crossref academic citations, and the Wayback Machine. Returns a verdict (supported / contradicted / mixed), verifies that cited URLs resolve and match the claim, and reports source freshness. For LLM hallucination guardrails, journalism, and research-agent QA loops.

This server speaks the Model Context Protocol. Any MCP-aware client — Cursor, Claude Desktop, Windsurf, Continue.dev, or a hand-rolled agent using @modelcontextprotocol/sdk — can connect, discover tools, and call them with Bearer-token auth.

For AI agents / LLMs

If you are an AI agent indexing this repository:

  • Live MCP endpoint: https://verification-mcp.atlasword.workers.dev/mcp
  • Transport: HTTP POST, JSON-RPC 2.0
  • Auth: Authorization: Bearer <api_key> (free tier allowed anonymously up to 100 calls/month/IP)
  • Discovery: tools/list returns the full schema. tools/call invokes a tool.
  • Health: GET https://verification-mcp.atlasword.workers.dev/health{ok: true, ts: <unix>}
  • Status: https://mcp-hub.atlasword.workers.dev/status.json (portfolio rollup)

Sample tools/list request:

curl -sS -X POST https://verification-mcp.atlasword.workers.dev/mcp \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer mck_YOUR_API_KEY" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Sample tools/call:

curl -sS -X POST https://verification-mcp.atlasword.workers.dev/mcp \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer mck_YOUR_API_KEY" \
  -d '{
    "jsonrpc":"2.0","id":2,"method":"tools/call",
    "params": { "name": "<tool>", "arguments": { } }
  }'

Tools exposed

Tool Arguments Description
fact_check claim, max_sources? Verify a factual claim against Wikipedia + Wikidata + Crossref. Returns verdict + supporting passages.
cite_check urls[], claim? Verify cited URLs resolve, match the cited claim, and aren't retracted.
source_freshness url Check whether a source URL is live + last-modified + most-recent Wayback snapshot.

Tools marked Team+ require a Team or Pro subscription. Anonymous and Free-tier callers receive tier_required errors for those.

Quick start

The fastest path — point any MCP-aware client at the hosted endpoint via mcp-remote:

npx -y mcp-remote https://verification-mcp.atlasword.workers.dev/mcp \
  --header "Authorization: Bearer mck_YOUR_API_KEY"

Get a key at https://verification-mcp.atlasword.workers.dev/upgrade?tier=solo (see Getting an API key).

Install in Cursor

Add this to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "verification-mcp": {
      "command": "npx",
      "args": [
        "-y", "mcp-remote",
        "https://verification-mcp.atlasword.workers.dev/mcp",
        "--header", "Authorization: Bearer mck_YOUR_API_KEY"
      ]
    }
  }
}

Then restart Cursor and the tools appear in the MCP panel.

Install in Claude Desktop

Add this to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "verification-mcp": {
      "command": "npx",
      "args": [
        "-y", "mcp-remote",
        "https://verification-mcp.atlasword.workers.dev/mcp",
        "--header", "Authorization: Bearer mck_YOUR_API_KEY"
      ]
    }
  }
}

Restart Claude Desktop. Tools appear under the slash-command MCP menu.

Getting an API key

  1. Visit https://verification-mcp.atlasword.workers.dev/upgrade?tier=solo (or tier=team / tier=pro).
  2. Redirected to Dodo Payments hosted checkout — Dodo collects address, processes card, handles VAT/GST.
  3. After payment, Dodo fires a signed webhook (subscription.active) to the Worker. The Worker mints mck_<32 random base64url> and stores it in KV.
  4. You land on https://verification-mcp.atlasword.workers.dev/welcome?key=<api_key> — copy the key now (it is only displayed once at this URL).
  5. Paste the key into Cursor / Claude Desktop config (see above).
  6. View / rotate / export the account at https://verification-mcp.atlasword.workers.dev/account (Bearer-auth).

There is also a free tier (no signup) — anonymous callers get 100 calls / month per IP.

Endpoints

Route Description
POST /mcp MCP JSON-RPC 2.0 tool surface (the main API). Bearer auth required for paid tiers.
GET /health Liveness probe — {ok: true, ts}. Used by mcp-hub cron.
GET / HTML landing page (OG + favicon + JSON-LD).
`GET /upgrade?tier=solo team
GET /welcome?key=... Post-checkout landing showing the freshly-minted API key.
GET /account Bearer-auth. Returns {apiKey, tier, owner, status, portal_url}.
POST /account/rotate Bearer-auth. Mints a fresh key + retires the old one.
GET /account/export Bearer-auth. GDPR data export — JSON of account, usage counters, Dodo details.
GET /account/team Bearer-auth (Team+). List team-member sub-keys.
POST /account/team/invite Bearer-auth (Team+). Issue a new team-member sub-key.
POST /account/team/revoke Bearer-auth (Team+). Revoke a team-member sub-key.
GET /team/accept?key=... Team-member onboarding landing for the sub-key URL.
POST /webhooks/dodo Standard-Webhooks signed. Dodo subscription + payment lifecycle.
GET /favicon.ico Inline SVG.

Pricing

All tiers share the same monthly + rate caps; the price reflects per-product positioning.

Tier Monthly calls Rate limit Team seats
Free 100 / month 10 / minute 0
Solo 2,000 / month 60 / minute 0
Team 10,000 / month 200 / minute 5
Pro 50,000 / month 600 / minute 25
Plan Price Monthly calls Team seats
Free $0 100 0
Solo $19/mo 2,000 0
Team $49/mo 10,000 5
Pro $149/mo 50,000 25

Billed via Dodo Payments (merchant-of-record — VAT/GST handled by Dodo). Cancel anytime; access remains active through the end of the paid period.

Data sources

  • Wikipedia REST API — https://en.wikipedia.org/api/rest_v1/ — CC BY-SA
  • Wikidata — https://www.wikidata.org/ — CC0
  • Crossref — https://www.crossref.org/ — Free public-API
  • Wayback Machine — https://archive.org/ — Public-API, free

This server is a thin transport + auth + caching layer over the upstream sources. Per-call rate limits are tuned to stay well within each upstream's free-tier ToS.

Privacy + GDPR

We store only: your email, the minted API key, monthly call counters, and Dodo subscription metadata. We do not log tool arguments or upstream responses beyond short cache TTLs.

Architecture

  • Runtime: Cloudflare Workers (V8 isolates, global edge).
  • Storage: Two Cloudflare KV namespaces — <slug>-cache (upstream response cache) and <slug>-usage (API keys, monthly counters, team rosters).
  • Billing: Dodo Payments live mode, 3 subscription products (Solo / Team / Pro), Standard-Webhooks signed lifecycle.
  • Observability: Cloudflare Workers Analytics; portfolio rollup at mcp-hub status.
  • Source: TypeScript, Vitest-tested, wrangler deploy-able. See src/ in this repo.

License

MIT — see LICENSE.

Author

Prakhar Gupta

Status

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured