mcpField
C
CiteGuard

CiteGuard

本地服务
github.com/lonexreb科研与教育015 周前更新

关于 CiteGuard

CiteGuard 检查参考文献及机构引用活动,识别已撤稿、已更正或受到其他标记的研究。它面向研究者、编辑和科研诚信团队;状态判定采取谨慎策略,遇到证据冲突会明确呈现,而非猜测。

主要功能

  1. 01检查 DOI 和 .bib 参考文献
  2. 02区分不同编辑状态类别
  3. 03显示证据、来源、日期和置信说明
  4. 04监控机构引用活动
  5. 05通过三个 MCP 工具提供检查
  6. 06评估精确率与召回率

适用场景

  1. 01投稿前筛查参考文献
  2. 02检查系统综述中的引用
  3. 03监控机构中新出现的标记引用
  4. 04核查论文的编辑状态

MCP 相关

MCP 服务向客户端提供 check_references、get_editorial_status 和 watch_institution。它使用 OpenAlex、Retraction Watch 和 Crossref 数据,其中部分依赖 OpenAlex 的检查需要 API 密钥。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"lonexreb-retractguard": {
"command": "uvx",
"args": [
"retractguard"
],
"env": {
"OPENALEX_API_KEY": "<OPENALEX_API_KEY>",
"CITEGUARD_MAILTO": "<CITEGUARD_MAILTO>"
}
}
}
}
启动命令uvx retractguard
需要配置的环境变量
OPENALEX_API_KEY密钥OpenAlex API key (required for live OpenAlex lookups and watch_institution).
CITEGUARD_MAILTOContact email for the OpenAlex/Crossref polite pool.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypiretractguard0.1.2

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

CiteGuard — 监测撤稿和问题引文的开放工具

CiteGuard

PyPI DOI License: MIT

免费、开源、原生支持 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)

  1. status.py — 标准化的编辑状态模型(基础)
  2. retractionwatch.py — 导入并标准化 Retraction Watch 转储文件
  3. openalex.py — 基于密钥、优先使用 ID 的客户端
  4. checker.py — DOI / .bib → 状态
  5. mcp_server.py — 提供这三个工具
  6. 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);如需大规模使用, 应依据上游来源各自的许可证获取数据。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。