关于 CiteGuard
CiteGuard 检查参考文献及机构引用活动,识别已撤稿、已更正或受到其他标记的研究。它面向研究者、编辑和科研诚信团队;状态判定采取谨慎策略,遇到证据冲突会明确呈现,而非猜测。
主要功能
- 01检查 DOI 和 .bib 参考文献
- 02区分不同编辑状态类别
- 03显示证据、来源、日期和置信说明
- 04监控机构引用活动
- 05通过三个 MCP 工具提供检查
- 06评估精确率与召回率
适用场景
- 01投稿前筛查参考文献
- 02检查系统综述中的引用
- 03监控机构中新出现的标记引用
- 04核查论文的编辑状态
MCP 相关
MCP 服务向客户端提供 check_references、get_editorial_status 和 watch_institution。它使用 OpenAlex、Retraction Watch 和 Crossref 数据,其中部分依赖 OpenAlex 的检查需要 API 密钥。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
CiteGuard
免费、开源、原生支持 OpenAlex 的撤稿和问题引文监测工具。
CiteGuard 会告诉你,并持续提醒你:你的参考文献、作者或机构的论文是否引用了被学术界标记为已撤稿、已更正或已发布关注声明的研究。
它的存在是因为现有方案各有不足:scite 是专有软件且需要付费,RetractoBot 不得不购买 Scopus 许可(当时没有开放的引文数据库),而 OpenAlex 将所有编辑状态合并为一个 is_retracted 布尔值,无法区分撤稿与更正,过去还曾产生误报。
如今,撤稿观察(Retraction Watch)数据集已开放(通过 Crossref),且 OpenAlex 引文图谱采用 CC0 许可,CiteGuard 终于可以完全开放、免费地完成这项工作。
状态:早期开发阶段。 正在构建 MVP。使命请见
GOAL.md,构建指南请见CLAUDE.md。
功能
- 检查参考文献列表。 粘贴 DOI 或上传
.bib文件 → 获取每条参考文献的状态:已撤稿、已更正、关注声明、劫持期刊或正常。 - 提供细致状态,而非简单的布尔值。 每个标记都附有来源(Retraction Watch / OpenAlex / Crossref)、证据链接、日期和置信度说明。如果来源之间存在分歧,CiteGuard 会显示冲突,而不是悄悄猜测。
- 监测机构。 输入 ROR ID → 当该机构的任何作品引用(或成为)新近标记的问题论文时,获取摘要。
- 通过 AI Agent 使用。 MCP 服务将相同逻辑公开为工具
(
check_references、get_editorial_status、watch_institution),供 Claude、Cursor 和任何兼容 MCP 的客户端使用。
可信之处
诚信检测工具一旦出错,可能造成真正的伤害——错误的“已撤稿”标记会损害真实作者的声誉。CiteGuard 的设计以保守为原则:标记前会交叉验证,优先采用有记录的编辑声明,并在无法确定时将作品标记为 UNKNOWN,而不是猜测。每项核心功能都附带一份已发布的评估报告,汇报其在黄金标准数据集上的精确率和召回率。
适用对象
- 筛查投稿的科研诚信负责人和期刊编辑
- 来自采用 OpenAlex 的机构的学术图书馆员
- 系统综述作者(纳入一项已撤稿研究就可能使综述失效)
- 基于 MCP 服务构建工具的开发者和元科学研究者
- 投稿前检查自己参考文献的作者
架构
一个核心,两种使用方式。
┌─────────────────────────────┐
OpenAlex ─────▶ │
(CC0 graph) │ editorial-status model │──▶ MCP server
│ + resolution logic │ (check_references,
Retraction ──▶│ (conservative) │ get_editorial_status,
Watch (open) │ │ watch_institution)
│ │──▶ reference-list checker
Crossref ─────▶ │ (DOI / .bib → statuses,
(DOI norm.) └─────────────────────────────┘ thin web UI)
仓库布局:
src/citeguard/
openalex.py # keyed, rate-aware, ID-lookup-first OpenAlex client
retractionwatch.py # ingest + normalize the Retraction Watch dump
status.py # the EditorialStatus model + resolution logic (core)
checker.py # reference-list checker (DOI / .bib -> statuses)
mcp_server.py # MCP server exposing the three tools
tests/ # pytest unit + functional tests
evals/ # gold sets + precision/recall harness
data/ # local RW dump + cached lookups (gitignored)
设计约束(重要)
- 考虑免费套餐限制。 自 2026 年 2 月 13 日起,OpenAlex API 需要 API 密钥;免费套餐额度有限,搜索的成本约为按记录查询的 10 倍。CiteGuard 会先解析 ID,再按 ID 查询;批量处理使用免费的月度快照,实时 API 仅用于增量检查。
- 开放且可复现。 秉持 CC0 理念,适当致谢 Retraction Watch 和 OpenAlex,提供详尽文档,并提供 Zenodo DOI。
开始使用(开发)
需要 Python 3.11+ 和 uv。
uv sync # install dependencies
export OPENALEX_API_KEY=... # your OpenAlex key
export [email protected] # polite-pool contact
uv run pytest # run tests
uv run python -m evals.run # run the eval harness (precision/recall)
uv run python -m citeguard.mcp_server # launch the MCP server locally
将其连接为 MCP 服务
CiteGuard 向任何 MCP 客户端提供 get_editorial_status、check_references 和 watch_institution。
执行 pip install retractguard(或 uv tool install retractguard)后,
运行 retractguard-mcp 命令即可启动 stdio 服务。
Claude Desktop — 添加到 claude_desktop_config.json:
{
"mcpServers": {
"retractguard": {
"command": "retractguard-mcp",
"env": {
"OPENALEX_API_KEY": "your-key",
"CITEGUARD_MAILTO": "[email protected]"
}
}
}
}
Cursor / 其他客户端 — 将它们指向同一个 retractguard-mcp 命令(stdio 传输)。
如果从检出目录而非已安装的环境运行,请使用
"command": "uv", "args": ["run", "retractguard-mcp"],并将 "cwd" 设置为仓库目录。
首次调用时,服务会将 Retraction Watch 转储文件(约 65 MB,免费)下载到
CITEGUARD_DATA_DIR(默认为 ./data)。查询编辑状态(Retraction Watch、
Crossref)无需密钥;OpenAlex 佐证和 watch_institution 则需要密钥。
网页检查器
为不常使用编辑器的用户提供的轻量网页界面 — 粘贴 DOI 或拖入 .bib 文件,
即可获得逐条参考文献状态表。
retractguard-web # then open http://127.0.0.1:8000
# or from a checkout: uv run python -m citeguard.web
在 POST /check 请求中添加 Accept: application/json,即可获取 JSON 格式的结果,而非表格。
它复用与 MCP 服务相同的保守解析逻辑 — 没有单独的代码路径,也没有单独的信任模型。
路线图(MVP)
status.py— 标准化的编辑状态模型(基础)retractionwatch.py— 导入并标准化 Retraction Watch 转储文件openalex.py— 基于密钥、优先使用 ID 的客户端checker.py— DOI /.bib→ 状态mcp_server.py— 提供这三个工具evals/— 黄金集 + 精确率/召回率测试框架(从第 2 步开始运行)
致谢与数据
- OpenAlex — CC0 学术元数据和引文图谱。
- Retraction Watch — 撤稿数据库,经由 Crossref 开放提供。
- Crossref — DOI 基础设施。
CiteGuard 独立运营,与这些项目无关联;它基于这些项目的开放数据构建,并对此表示感谢。
许可证
MIT(参见 LICENSE)— 宽松且最大限度支持复用,符合 GOAL.md 中的开放科学理念。
代码归 CiteGuard 所有。它所依赖的数据并不归其所有,且各自适用不同条款:
Retraction Watch(经由 Crossref)以及 OpenAlex/Crossref 元数据。CiteGuard 仅再分发少量评估数据摘录(参见 evals/fixtures/ATTRIBUTION.md);如需大规模使用,
应依据上游来源各自的许可证获取数据。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。