Citation Guard

Citation Guard

Verifies citations in reference lists by checking DOIs against public registries to catch AI-hallucinated or mismatched citations.

Category
Visit Server

README

Citation Guard ๐Ÿ›ก๏ธ

Catches AI-hallucinated citations. Paste a reference list โ†’ every DOI is verified against live public registries. Free, open-source, zero extra credits.

One MCP server for Claude & ChatGPT.

Why this exists

AI models fabricate citations that look perfect โ€” real-sounding authors, real journals, plausible DOIs. People have been sanctioned in court and had papers retracted over them. Citation Guard is the check.

Unlike the rest of this plugin family (which inject reasoning protocols), this one returns facts, not opinions โ€” retrieved from doi.org, OpenAlex and Crossref. You can verify every verdict yourself.

The key insight

"The DOI resolves" is NOT proof the citation is real. A fabricated citation can carry a real DOI that points to a different paper.

So it verifies in two stages:

  1. doi.org/doiRA โ€” does this DOI exist at any registration agency? (catches invented DOIs)
  2. OpenAlex / Crossref โ€” fetch the paper the DOI actually points to, then check whether the cited text matches that paper's real title. This is what catches the sneaky ones.

Verdicts

Meaning
โœ… VERIFIED DOI exists and the cited text matches the real paper
โŒ FABRICATED DOI resolves nowhere โ€” treat as invented
โš ๏ธ MISMATCH DOI is real but belongs to a different paper โ€” the classic hallucination signature
๐Ÿšซ RETRACTED The paper exists but has been retracted
โ” UNRESOLVED Registered, but no metadata retrievable โ€” check by hand
โž– NO_DOI Nothing to verify against โ€” not a pass

Plus duplicate detection (same DOI cited twice).

Real example

1. โœ… VERIFIED โ€” 10.1038/nature14539     โ†’ "Deep learning" โ€” Yann LeCun (2015)
2. โŒ FABRICATED โ€” 10.1234/jsi.2023.99999 โ†’ does not exist at any registration agency
3. โš ๏ธ MISMATCH โ€” 10.1038/nature14539     โ†’ cited as "Blockchain Approaches to Feline Psychology",
                                            actually "Deep learning" โ€” Yann LeCun (2015)
4. ๐Ÿšซ RETRACTED โ€” 10.1016/S0140-6736(97)11096-0 โ†’ Wakefield et al. 1998

Tools

  • verify_citations โ€” check a whole reference list (up to 15 per call)
  • check_doi โ€” resolve a single DOI: what paper is it really?

Use it

Citation Guard: check these references
[paste your bibliography, one per line]

Limits (honest ones)

  • 15 references per call โ€” Cloudflare's free tier allows 50 subrequests and 6 concurrent connections per request; each reference costs up to 3 lookups. Batch larger lists.
  • No DOI = not checkable. Many valid works (arXiv preprints, books, NeurIPS papers) have no DOI. NO_DOI means "unknown", never "fake".
  • A โœ… means the DOI matches the cited title โ€” it doesn't mean the paper supports the claim it's cited for.

Deploy your own (free)

npm install
npx wrangler deploy      # prints your live URL

Your connector URL is that address + /mcp.

Optional: set a CONTACT_EMAIL var to unlock Crossref's faster "polite pool" (10/s vs 5/s):

npx wrangler secret put CONTACT_EMAIL

It works fine without it. (It's an env var rather than hardcoded so nobody's email ends up in a public repo.)

Connect it

  • Claude (any plan): Settings โ†’ Connectors โ†’ Add custom connector โ†’ paste the /mcp URL
  • ChatGPT (Plus+, desktop web): Settings โ†’ Connectors โ†’ Advanced โ†’ Developer mode โ†’ add the /mcp URL, Auth None

Data sources

doi.org (registration agency lookup) ยท OpenAlex (metadata + retraction flags) ยท Crossref (metadata fallback). All free, all public.

License

MIT ยฉ 2026 Pranay Mahendrakar โ€” free to use, modify, and share.

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
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

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
Qdrant Server

Qdrant Server

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

Official
Featured