Citation Verification

io.github.guptaprakhariitr由 GitHub 账号 guptaprakhariitr 发布v0.1.1更新于 Nov 1, 2026

Real-time fact-check, citation verification, and source-freshness for AI agents.

已验证Streamable HTTP可网页运行网页搜索与抓取知识与记忆

概览

AI 生成的概览

托管型 MCP 服务器,为 AI 代理核查事实主张、验证引用链接与 DOI,并报告来源的新鲜度。

可以做什么
  • 对照 Wikipedia、Wikidata 与 Crossref 核查事实主张,返回判定结果、置信度分数与来源摘录
  • 验证引用的 URL 或 DOI 是否可访问、是否与所引主张相符、是否已被撤稿,每次最多 25 条
  • 检查来源 URL 是否仍在线、最后修改时间与最新 Wayback 快照,并给出近期是否变更的标记
适用场景
适合在助手即将陈述某项事实前做核查,确认模型生成的文内引用真实且切题,或在维护 RAG 语料时标记可能已变更的来源。
运行要求
远程 streamable HTTP 端点,无需本地运行时;README 另提供 npx 启动器与 mcp-remote 桥接方式。匿名使用可享每 IP 每月 100 次的免费额度;付费档需以 Authorization Bearer 头传入 API 密钥。对 Wikipedia、Wikidata、Crossref 与 Wayback Machine 的访问由服务端完成。
安装前请注意
付费档通过 Dodo Payments 计费(Solo、Team、Pro 订阅),配置密钥即意味着周期性扣费。API 密钥仅在结账后显示一次,需妥善保存,可在账户页轮换或导出。服务会保存邮箱、密钥、调用计数与订阅元数据,工具参数除短时缓存外不会被记录。判定结果源自上游数据,不宜单独作为权威结论。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Citation Verification,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.guptaprakhariitr%2Fverification-mcp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "citation-verification": {
      "type": "http",
      "url": "https://verification-mcp.atlasword.workers.dev/mcp"
    }
  }
}

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:

bash
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:

bash
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

ToolArgumentsDescription
fact_checkclaim, max_sources?Verify a factual claim against Wikipedia + Wikidata + Crossref. Returns verdict + supporting passages.
cite_checkurls[], claim?Verify cited URLs resolve, match the cited claim, and aren't retracted.
source_freshnessurlCheck 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:

bash
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:

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):

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

RouteDescription
POST /mcpMCP JSON-RPC 2.0 tool surface (the main API). Bearer auth required for paid tiers.
GET /healthLiveness probe — {ok: true, ts}. Used by mcp-hub cron.
GET /HTML landing page (OG + favicon + JSON-LD).
`GET /upgrade?tier=soloteam
GET /welcome?key=...Post-checkout landing showing the freshly-minted API key.
GET /accountBearer-auth. Returns {apiKey, tier, owner, status, portal_url}.
POST /account/rotateBearer-auth. Mints a fresh key + retires the old one.
GET /account/exportBearer-auth. GDPR data export — JSON of account, usage counters, Dodo details.
GET /account/teamBearer-auth (Team+). List team-member sub-keys.
POST /account/team/inviteBearer-auth (Team+). Issue a new team-member sub-key.
POST /account/team/revokeBearer-auth (Team+). Revoke a team-member sub-key.
GET /team/accept?key=...Team-member onboarding landing for the sub-key URL.
POST /webhooks/dodoStandard-Webhooks signed. Dodo subscription + payment lifecycle.
GET /favicon.icoInline SVG.

Pricing

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

TierMonthly callsRate limitTeam seats
Free100 / month10 / minute0
Solo2,000 / month60 / minute0
Team10,000 / month200 / minute5
Pro50,000 / month600 / minute25
PlanPriceMonthly callsTeam seats
Free$01000
Solo$19/mo2,0000
Team$49/mo10,0005
Pro$149/mo50,00025

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

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

Install via npm (one-liner)

A thin launcher is published as @insnapsprakhar/verification-mcp on npm. No manual URL to copy/paste:

bash
npx -y @insnapsprakhar/verification-mcp

Or wire it into your MCP client:

jsonc
{  "mcpServers": {    "verification": {      "command": "npx",      "args": ["-y", "@insnapsprakhar/verification-mcp"]    }  }}

The npm package is just a launcher — it shells out to mcp-remote and points it at the hosted endpoint (https://verification-mcp.atlasword.workers.dev/mcp).

来源:README.md,提交 b10f2a5

工具

3

fact_check

Verify a factual claim against authoritative sources (Wikipedia, Wikidata, Crossref academic citations). Returns a verdict ('supported' / 'contradicted' / 'mixed' / 'unverified'), a 0–1 confidence score, and the list of sources with excerpts. Use this when an agent is about to assert a fact it isn't 100% sure of, or when post-processing LLM output to flag possibly-hallucinated claims.

输入参数claim必填

cite_check

Verify that one or more cited URLs (a) resolve, (b) match the cited claim text, and (c) aren't retracted. Useful when an LLM produced inline citations and you want to confirm they're real and on-point. Pass DOIs directly (e.g. '10.1038/nature12373') or full URLs. Up to 25 per call.

输入参数citations必填

source_freshness

Check whether a source URL is still live and how recently it was modified. Returns the HTTP last-modified header (if present), the most recent Wayback Machine snapshot, and a 'changed_recently' flag (last 90 days). Use this for RAG hygiene — flagging citations that point to pages that may have changed since the agent's training data.

输入参数url必填

版本历史

1
  1. v0.1.1最新Sep 16, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。