
CiteGuard
io.github.lonexreb由 GitHub 账号 lonexreb 发布v0.1.2更新于 Oct 27, 2026
Open watchdog for retracted & problematic citations: Retraction Watch, OpenAlex, Crossref.
概览
CiteGuard 借助 Retraction Watch、OpenAlex 与 Crossref 数据,检查参考文献、作者或机构论文是否涉及撤稿、更正或被标记的研究。
- 可以做什么
- 检查参考文献列表:输入 DOI 或 .bib 文件,逐条返回撤稿、更正、关注声明、劫持期刊或正常等状态
- 查询单篇论文的编辑状态,附来源、证据链接、日期与置信度说明,来源冲突时明确提示
- 按 ROR ID 关注某机构,当其论文引用或成为新被标记论文时生成摘要
- 证据不足时返回 UNKNOWN 而非猜测
- 适用场景
- 适合科研诚信专员、期刊编辑、图书馆员、系统综述作者以及投稿前自查参考文献的作者,用于筛查参考文献或机构成果中的撤稿与更正引用。
- 运行要求
- 以 stdio 本地进程运行,来自 PyPI 包 retractguard,需 Python 3.11+ 与 uv,通过 uvx 或 retractguard-mcp 命令启动。实时 OpenAlex 查询与 watch_institution 需要 OPENALEX_API_KEY 中的 OpenAlex API 密钥,礼貌池需在 CITEGUARD_MAILTO 中提供联系邮箱。首次调用会下载约 65 MB 的 Retraction Watch 数据到 CITEGUARD_DATA_DIR(默认 ./data)。
安装
在 SourceWeft 中
- 打开 控制台中的 CiteGuard,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
[CiteGuard — the open watchdog for retracted and problematic citations]
CiteGuard
The free, open, OpenAlex-native watchdog for retracted and problematic citations.
CiteGuard tells you — and keeps telling you — when your references, your authors, or your institution's papers cite research the community has flagged as retracted, corrected, or subject to an expression of concern.
It exists because the existing options each fall short: scite is proprietary and paywalled,
RetractoBot had to license Scopus (no open citation database existed at the time), and
OpenAlex collapses all editorial status into a single is_retracted boolean that can't tell
a retraction from a correction — and has produced false positives in the past.
Now that the Retraction Watch dataset is open (via Crossref) and the OpenAlex citation graph is CC0, CiteGuard can do this fully in the open, for free.
Status: early development. Building the MVP. See
GOAL.mdfor the mission andCLAUDE.mdfor the build guide.
What it does
- Check a reference list. Paste a DOI or upload a
.bibfile → get a per-reference status: retracted, corrected, expression of concern, hijacked-journal, or clean. - Nuanced status, not a boolean. Every flag carries its source (Retraction Watch / OpenAlex / Crossref), an evidence link, a date, and a confidence note. When sources disagree, CiteGuard surfaces the conflict instead of silently guessing.
- Watch an institution. Point it at a ROR ID → get a digest when any of that institution's works cites (or becomes) a newly-flagged paper.
- Use it from an AI agent. An MCP server exposes the same logic as tools
(
check_references,get_editorial_status,watch_institution) for Claude, Cursor, and any MCP-compatible client.
Why it's trustworthy
Integrity tooling can do real harm if it's wrong — a false "retracted" flag damages a real
author. CiteGuard is conservative by design: it corroborates before flagging, prefers
the documented editorial notice, and marks a work UNKNOWN rather than guess. Every core
capability ships with a published eval reporting precision and recall on a gold set.
Who it's for
- Research-integrity officers and journal editors screening submissions
- Academic librarians at OpenAlex-adopting institutions
- Systematic reviewers (one retracted included study can invalidate a review)
- Developers and meta-scientists building on the MCP server
- Authors checking their own bibliography before submission
Architecture
One core, two surfaces.
Repository layout:
Design constraints (important)
- Free-tier-aware. OpenAlex API keys are required (since Feb 13, 2026); the free tier is small and search costs ~10× a record lookup. CiteGuard resolves to IDs first and looks up by ID; bulk work uses the free monthly snapshot, and the live API is reserved for incremental checks.
- Open and reproducible. CC0 ethos, with proper attribution to Retraction Watch and OpenAlex, thorough docs, and a Zenodo DOI.
Getting started (dev)
Requires Python 3.11+ and uv.
Connect it as an MCP server
CiteGuard exposes get_editorial_status, check_references, and watch_institution
to any MCP client. After pip install retractguard (or uv tool install retractguard),
the retractguard-mcp command launches the stdio server.
Claude Desktop — add to claude_desktop_config.json:
Cursor / other clients — point them at the same retractguard-mcp command (stdio
transport). Running from a checkout instead of an install? Use
"command": "uv", "args": ["run", "retractguard-mcp"] with "cwd" set to the repo.
On first call the server downloads the Retraction Watch dump (~65 MB, free) into
CITEGUARD_DATA_DIR (default ./data). Editorial-notice lookups (Retraction Watch,
Crossref) need no key; OpenAlex corroboration and watch_institution do.
The web checker
A thin web UI for people who don't live in an editor — paste DOIs or drop a .bib file,
get a per-reference status table.
Add Accept: application/json to POST /check to get the results as JSON instead of a
table. It reuses the same conservative resolution logic as the MCP server — no separate
code path, no separate trust model.
Roadmap (MVP)
status.py— the normalized editorial-status model (foundation)retractionwatch.py— ingest + normalize the Retraction Watch dumpopenalex.py— keyed, ID-first clientchecker.py— DOI /.bib→ statusesmcp_server.py— expose the three toolsevals/— gold set + precision/recall harness (running from step 2 onward)
Credits & data
- OpenAlex — CC0 scholarly metadata and citation graph.
- Retraction Watch — retraction database, made openly available via Crossref.
- Crossref — DOI infrastructure.
CiteGuard is independent and not affiliated with these projects; it builds on their open data with gratitude.
License
MIT (see LICENSE) — permissive and maximally reusable, in keeping with the
open-science ethos in GOAL.md.
The code is CiteGuard's. The data it builds on is not and carries its own terms:
Retraction Watch (via Crossref) and OpenAlex/Crossref metadata. CiteGuard redistributes
only a tiny evaluation extract (see evals/fixtures/ATTRIBUTION.md); anything at scale
should be fetched from the upstream sources under their licenses.
来源:README.md,提交 0689cfa
工具
0版本历史
1- v0.1.2最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分