Citeguard

io.github.Franksterino由 GitHub 账号 Franksterino 发布v0.1.2更新于 Oct 24, 2026

Verify citations in AI text: fetches each cited source, returns verdicts with evidence quotes.

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

概览

AI 生成的概览

抓取 AI 文本中引用的每个来源,逐条给出论断判定并附原文证据引文,还可为整篇文档计算引用完整性评分。

可以做什么
  • 校验论断与来源配对,逐条返回判定结果、证据引文和置信度
  • 审计 markdown 或纯文本文档中的全部引用,并给出 0 到 100 的引用完整性评分
  • 仅检查引用链接是否存活,标出失效链接、跳转到首页的链接以及 archive.org 存档情况,无需 LLM
  • 从行内链接、引用式链接、脚注、裸 DOI 和裸网址中提取论断与来源配对
适用场景
适合审阅 AI 起草的报告、文章或研究笔记:这些文本的引用链接往往真实可打开,却未必支持文中的说法。它用于加快对已有引用的人工核查,既不负责寻找更好的来源,也不判断论断本身是否真实。
运行要求
可作为远程 streamable HTTP 端点使用,也可作为本地 npm 包运行(npx citeguard-mcp,需要 Node.js)。完整校验需要判定用 LLM:设置 CITEGUARD_JUDGE_KEY,可选 CITEGUARD_JUDGE_PRESET(qwen、openai、anthropic)或自定义 OpenAI 兼容端点。仅查链接无需密钥。抓取来源需要网络访问。
安装前请注意
判定用 API 密钥通过 CITEGUARD_JUDGE_KEY 传入,并用于调用第三方 LLM 服务,因此来源正文和论断会发送给该服务商。服务器会抓取被引用的网址,若使用托管端点,这些网址也会暴露给该端点。supported 判定只表示所引来源如此表述,并不代表论断为真。托管端点按 IP 限流。

安装

在 SourceWeft 中

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

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

交给智能体安装

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

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

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

其他 MCP 客户端

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

{
  "mcpServers": {
    "citeguard": {
      "type": "http",
      "url": "https://citeguard.boundy.workers.dev/mcp"
    }
  }
}

README

CiteGuard

Per-claim citation verification for AI-generated text. CiteGuard fetches every cited source and tells you whether it actually supports the claim — with a quoted evidence span, so you can verify the verdict yourself in seconds.

Built for the age of vibe citing: AI-drafted reports full of citations that resolve to real URLs but don't say what the text claims they say.

What it does

Give CiteGuard a document (markdown or plain text) or explicit claim+URL pairs. For each claim it:

  1. Fetches the cited source — with timeout handling, redirect tracking, a 5 MB cap, and an automatic archive.org fallback for dead links.
  2. Checks source liveness — dead URLs, DOI redirects, and "soft 404s" (redirects that land on a homepage) are flagged explicitly.
  3. Extracts the real content — boilerplate-stripped article text via Readability; PDFs supported.
  4. Judges entailment — an LLM reads only the fetched source text (never its own world knowledge) and returns one of six verdicts.
VerdictMeaning
supportedSource clearly states or directly entails the claim
partially_supportedPart of the claim is there, but a material element differs or is absent
contradictedSource states the opposite
unsupportedSource is real but does not contain the claim
uncertainSource text too fragmentary/ambiguous to decide
could_not_fetchSource unreachable and no archive snapshot — never guessed

Every verdict ships with a verbatim evidence quote, a confidence score, and full source status. Document audits also return a citation integrity score (0–100).

CiteGuard never overclaims: if it can't fetch a source, it says so instead of judging blind, and borderline cases land in uncertain — the goal is to make human verification 10× faster, not to replace it.

Quick start (MCP)

Add to Claude Code / Claude Desktop / any MCP client:

json
{  "mcpServers": {    "citeguard": {      "command": "npx",      "args": ["-y", "citeguard-mcp"],      "env": {        "CITEGUARD_JUDGE_PRESET": "qwen",        "CITEGUARD_JUDGE_KEY": "sk-..."      }    }  }}

Tools exposed: verify_claims, check_document, check_links (liveness-only, needs no LLM key).

Quick start (CLI)

bash
npm install -g citeguard
citeguard extract report.md   # show extracted claim/source pairs (no network)citeguard links report.md     # dead-link check (no LLM needed)citeguard check report.md     # full audit (needs judge configured)

Judge configuration

CiteGuard is model-agnostic — anything with an OpenAI-compatible chat endpoint works:

bash
# Preset providersexport CITEGUARD_JUDGE_PRESET=qwen        # or: openai, anthropicexport CITEGUARD_JUDGE_KEY=sk-...
# Or any OpenAI-compatible endpointexport CITEGUARD_JUDGE_URL=https://your-endpoint/v1export CITEGUARD_JUDGE_MODEL=your-modelexport CITEGUARD_JUDGE_KEY=sk-...

Hosted API

A free hosted endpoint (50 requests/day/IP) runs on Cloudflare Workers:

bash
curl -X POST https://citeguard.YOUR-SUBDOMAIN.workers.dev/api/verify \  -H "content-type: application/json" \  -d '{"claims":[{"text":"The Eiffel Tower is 330 m tall.","source":"https://en.wikipedia.org/wiki/Eiffel_Tower"}]}'

Remote MCP endpoint: POST /mcp (streamable HTTP, stateless).

What CiteGuard is not

  • Not an AI-text detector. It doesn't care who wrote the text — it checks whether cited sources support claims.
  • Not a truth oracle. A supported verdict means the cited source says this, not this is true. Garbage source in, garbage support out.
  • Not a search engine. It verifies the citations you have; it doesn't find better ones (yet).

Extraction formats

Markdown inline links, reference-style links, footnotes, bare DOIs (resolved via doi.org), bare URLs. APA-style parsing and PDF input documents are on the roadmap.

Development

bash
git clone https://github.com/Franksterino/citeguardcd citeguardnpm installnpm run typechecknpx tsx src/cli.ts extract test/fixtures/sample.md

License

MIT

来源:README.md,提交 e3414fa

工具

3

verify_claims

Verify claim+source pairs: fetches each cited URL and returns a per-claim verdict (supported / partially_supported / contradicted / unsupported / uncertain / could_not_fetch) with a quoted evidence span from the source.

输入参数claims必填

check_document

Audit every citation in a markdown/plain-text document: extracts claim+source pairs (markdown links, footnotes, DOIs, bare URLs), verifies each against the fetched source, and returns a report with a citation integrity score (0-100).

输入参数document必填

版本历史

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

评分

已满足适用检查项的 100%

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

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