SkillTide Submit
Official description7 sourcesMCP servers8d ago
wedo911/citeguard

wedo911/citeguard

Check citations against Crossref for retracti
View on GitHub ↗Direct link · no redirect page
Config template (adjust for your client)
claude mcp add citeguard -- npx -y citeguard
A pasteable skeleton generated from the repository name. Check the project README for the exact package and arguments.
Star count
1 ★ · wedo911/citeguard · read from the repository page · (checked 2026-10-16 20:00:20)
Source
collected from the punkpeye/awesome-mcp-servers list · type: MCP server
Harvest history
first seen 2026-10-09 · last seen 2026-10-16 · seen 32× · listed by 7 sources
Score
score 703 · 1 ★ · 7 sources · mcp
FAQ (answers come from our records)
How do I install it?
We did not find an install command for this repository (our install coverage is only about 4%). Check its README or releases page.
Who is it for?
We filed it under these tags: MCP 服务. The tags come from the entry itself, not a taxonomy we imposed.
Who maintains it?
repository wedo911/citeguard;first catalogued 2026-10-09;last seen 2026-10-16。There is no official certification or quality rating here — we record sources and dates only.
Third-party quality signals

citeguard

以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →

Retracted papers get cited for years after retraction. Andrew Wakefield's
fraudulent 1998 paper linking the MMR vaccine to autism — retracted in
2010 — has been cited well over a thousand times *since* its retraction,
by researchers who had no easy way to know. A 2026 JMIR study found that
freely available AI tools "cannot reliably flag retracted literature,"
right as AI-assisted research and writing has exploded. citeguard closes
that gap: check a citation against Crossref
— free, no API key — before it goes in a paper, a summary, or a review.
Three surfaces, one verified detection algorithm:
| Surface | For | Location |
|---|---|---|
| **Python library + CLI** | academic writers, scripts | src/citeguard/ |
| **MCP server** | AI agents doing research/writing | mcp-server/ |
| **GitHub Action** | CI on a lab's or journal's repo | action.yml |
Why this is built the way it is
The detection logic isn't guessed at from documentation — it was built by
querying Crossref's real API for known cases and reading the actual
response shapes, then writing tests against the saved real responses
(committed in tests/fixtures/, shared by both the Python and TypeScript
implementations). Two real papers anchor the ground truth:
- **Wakefield et al., 1998, *The Lancet*11096-0)**
(the MMR-autism paper): the publisher's own Crossref metadata has *no*
structured retraction data — an update-to check alone would silently
miss it. What actually carries the signal is a separate updated-by
field, where Crossref has backfilled the retraction (and an earlier
2004 correction) from the **Retraction Watch database** itself. Missing
this field would have meant missing the single most famous retracted
paper in medicine.
- **Mehra et al., 2020, *The Lancet*31180-6)**
(the Surgisphere-linked COVID/hydroxychloroquine paper): here the
*publisher* did attach structured data directly, via update-to. A
different field, a different provenance, same underlying fact.
- **Watson & Crick, 1953, *Nature***
serves as the clean control in every test suite — a definitely-real,
definitely-not-retracted paper that must never be flagged.
So the checker looks at three independent signals, in order: update-to
(publisher-asserted), updated-by (often Retraction-Watch-sourced,
catching what publishers miss), and a title-prefix fallback
("RETRACTED:", "WITHDRAWN:", etc.) for older or unlinked cases with no
structured metadata on either field. Each signal is mapped to the right
severity — an "Expression of Concern:" title is not the same thing as a
retraction, and earlier versions of this code collapsing that distinction
was itself a bug caught by testing against real titles, not just
synthetic ones. See src/citeguard/analyze.py
for the fully-commented implementation.
Quick start
**CLI:**
The distribution is named citeguard-cli on PyPI because the plain
citeguard name there belongs to an unrelated project. The command and the
import are still citeguard.
**MCP server** (add to your client's config, e.g. .mcp.json):
Published on npm as citeguard-mcp-server — nothing to clone or build. To run it from a local checkout instead, point command at node and args at mcp-server/dist/index.js.
Source
awesome · https://github.com/wedo911/citeguard
Browse by field
MCP servers
Traction
1 ★
added
yesterday

More in MCP servers

All 5,525 in MCP servers →

Filed under

Every tag opens the full list for that filter. Counts are the live catalogue figures.

Browse all fields →

← Back to index