CiteGuard
MCP serverDev toolsciteguard helps you confirm the citations in AI-written text actually hold up. It fetches each cited source and returns a verdict with evidence quotes. That way you know a draft's claims are backed before you publish or share it.
Use CiteGuard in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add CiteGuard and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use CiteGuard to verify claims
No key or account is asked for. Not verified by us yet: Ahel has not run a call through it.
Details
Available today. Use it from your connected AI after setup.
No key or account is asked for. Not verified by us yet: Ahel has not run a call through it.
Add citeguard, then give your AI a text with citations to check. You will get back a verdict and an evidence quote for each cited source.
What your AI can do with it
- Verify that citations in AI text are supported
- Fetch each cited source to check what it actually says
- Get a verdict for every citation
- See the evidence quotes behind each verdict
- Spot citations that do not hold up
Install CiteGuard
The server’s own address, for the clients that take one directly. Or connect Ahel once and every client you use reads it from one address, with the account kept on Ahel rather than in each client’s config.
Claude Code
claude mcp add --transport http --scope user citeguard 'https://citeguard.boundy.workers.dev/mcp'Run it once in your project, then open /mcp to approve any sign-in the server asks for.
Claude Desktop
https://citeguard.boundy.workers.dev/mcpAdd a custom connector in Settings, paste this address, and approve the sign-in.
Cursor
cursor://anysphere.cursor-deeplink/mcp/install?name=citeguard&config=eyJ1cmwiOiJodHRwczovL2NpdGVndWFyZC5ib3VuZHkud29ya2Vycy5kZXYvbWNwIn0=Open the link and Cursor adds the server at that address.
ChatGPT
https://citeguard.boundy.workers.dev/mcpIn Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.
Codex
codex mcp add citeguard --url 'https://citeguard.boundy.workers.dev/mcp'Run it once, then sign in with codex mcp login citeguard if the server asks for an account.
From the project's README
As published by franksterino/citeguard in README.md.
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:
- Fetches the cited source — with timeout handling, redirect tracking, a 5 MB cap, and an automatic archive.org fallback for dead links.
- Checks source liveness — dead URLs, DOI redirects, and "soft 404s" (redirects that land on a homepage) are flagged explicitly.
- Extracts the real content — boilerplate-stripped article text via Readability; PDFs supported.
- Judges entailment — an LLM reads only the fetched source text (never its own world knowledge) and returns one of six verdicts.
| Verdict | Meaning |
|---|---|
supported | Source clearly states or directly entails the claim |
partially_supported | Part of the claim is there, but a material element differs or is absent |
contradicted | Source states the opposite |
unsupported | Source is real but does not contain the claim |
uncertain | Source text too fragmentary/ambiguous to decide |
could_not_fetch | Source 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:
{
"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)
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:
# Preset providers
export CITEGUARD_JUDGE_PRESET=qwen # or: openai, anthropic
export CITEGUARD_JUDGE_KEY=sk-...
# Or any OpenAI-compatible endpoint
export CITEGUARD_JUDGE_URL=https://your-endpoint/v1
export CITEGUARD_JUDGE_MODEL=your-model
export CITEGUARD_JUDGE_KEY=sk-...
Hosted API
A free hosted endpoint (50 requests/day/IP) runs on Cloudflare Workers:
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
supportedverdict 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
git clone https://github.com/Franksterino/citeguard
cd citeguard
npm install
npm run typecheck
npx tsx src/cli.ts extract test/fixtures/sample.md
License
MIT
Tools it offers (3)
What this server listed when Ahel dialed its public endpoint in Oct 2026, with no key and no account of yours. The names are the server’s own.
verify_claimscheck_documentcheck_links
Signals
- Last commit
- Aug 2026
- Weekly downloads
- 62
Advanced
- Delivery
- citeguard MCP server → your Ahel connector (mcp.ahel.ai) → your AI.
- Item type
- mcp-server
- Key
io-github-franksterino-citeguard- Source
- github.com/franksterino/citeguard
- Hosted endpoint
https://citeguard.boundy.workers.dev/mcp
github.com/franksterino/citeguard