返回市场
数据集成-MCP

数据集成-MCP

作者:tfscharff2 星标更新:2025-11-24

项目介绍

DOI 引文验证器 MCP 服务器

smithery 徽章

这是一个通过验证学术引文与8个权威数据库来防止引文幻觉的模型上下文协议(MCP)服务器。该服务器使AI助手能够在引用之前验证每个引文的真实性。

解决的问题

大型语言模型有时会“幻化”学术引文——引用不存在的论文、错误地将真实标题归因于错误的作者或混淆出版细节。此MCP服务器通过以下方式解决了这个问题:

  1. 8个数据库验证:在CrossRef、OpenAlex、PubMed、zbMATH、ERIC、HAL、Semantic Scholar和DBLP上检查引文。
  2. 并行搜索:同时查询所有数据库以获得快速结果(约1秒)。
  3. 全面覆盖:涵盖所有学科的6亿多篇出版物,包括STEM、人文科学、社会科学和教育。
  4. 基于DOI的引文:每个经过验证的引文都包含一个有效的可点击DOI。

特性

  • 8个数据库搜索:CrossRef、OpenAlex、PubMed、zbMATH、ERIC、HAL、Semantic Scholar、DBLP
  • 验证引文:检查具有特定详细信息的论文是否确实存在于所有数据库中。
  • 查找已验证论文:搜索某个主题的真实论文,并仅返回已验证的引文。
  • 并行处理:所有数据库查询同时运行以实现最大速度。
  • 性能优化:智能缓存和提前退出策略使验证速度提高25-35%。
  • 来源选择:搜索所有数据库或针对特定来源。
  • 引文格式化:返回带有DOI的正确格式化的引文。
  • 零配置:所有数据库开箱即用,无需API密钥。

工作原理

当AI助手被要求提供研究或引文时:

  1. 没有这个MCP:助手可能会引用“根据Smith等人(2023年)在《自然》杂志上的文章……”,而实际上这篇论文不存在。
  2. 有这个MCP:助手首先使用verifyCitation,它会在8个数据库中并行搜索并返回:
    • 验证匹配且带有完整DOI → 可以引用
    • 没有找到匹配项 → 不能引用;必须搜索真实论文。

工具

verifyCitation

主要防幻化工具 - 在提及之前验证引文是否存在于多个数据库中。

输入:

  • title(字符串,可选):论文标题(接受部分匹配)
  • authors(数组,可选):作者姓名(姓氏足够)
  • year(数字,可选):出版年份
  • doi(字符串,可选):如果已知,则为DOI
  • journal(字符串,可选):期刊名称

返回JSON:

  • verified:true/false
  • 如果verified=true:DOI、标题、作者、年份、期刊、URL、源数据库
  • 如果verified=false:警告消息,说明未找到匹配的出版物
  • 匹配质量指标以确保透明度

示例成功验证:

{
  "verified": true,
  "doi": "10.1038/s41586-023-06004-9",
  "title": "准确预测生物分子相互作用结构……",
  "authors": ["John Jumper", "Richard Evans", "..."],
  "year": 2023,
  "journal": "Nature",
  "url": "https://doi.org/10.1038/s41586-023-06004-9",
  "source": "crossref",
  "message": "✓ 引文已验证"
}

findVerifiedPapers

搜索某个主题的真实论文,并从多个数据库返回仅带有DOI的已验证引文。

输入:

  • query(字符串):搜索查询(主题、关键词、作者姓名)
  • source(字符串,可选):要搜索的数据库 - "all"(默认)、"crossref"、"openalex"、"pubmed"、"zbmath"、"eric"、"hal"、"semanticscholar" 或 "dblp"
  • limit(数字,可选):每个来源的结果数量(1-20,默认:5)
  • yearFrom(数字,可选):最小出版年份
  • yearTo(数字,可选):最大出版年份

返回: 来自指定数据库的已验证论文数组,包含完整的引文信息及来源

示例:

// 搜索所有8个数据库
findVerifiedPapers({ query: "CRISPR基因编辑", limit: 5 })

// 仅搜索PubMed以获取生物医学论文
findVerifiedPapers({ query: "癌症免疫疗法", source: "pubmed", limit: 10 })

// 搜索zbMATH以获取数学论文
findVerifiedPapers({ query: "代数拓扑", source: "zbmath" })

// 搜索DBLP以获取计算机科学论文
findVerifiedPapers({ query: "神经网络", source: "dblp", yearFrom: 2020 })

// 搜索ERIC以获取教育研究
findVerifiedPapers({ query: "主动学习教学法", source: "eric" })

// 搜索HAL以获取法国/欧洲人文研究
findVerifiedPapers({ query: "现象学胡塞尔", source: "hal" })

安装

通过Smithery安装

要通过Smithery自动安装DOI引文验证器:

npx -y @smithery/cli install @tfscharff/doi-mcp

手动安装

  1. 克隆仓库
  2. 安装依赖:npm install
  3. 构建项目:npm run build
  4. 添加到您的MCP客户端配置

开发

# 安装依赖
npm install

# 构建
npm run build

# 带监视模式的开发
npm run dev

# 使用Smithery CLI测试
npx @smithery/cli dev

示例用法

在使用此MCP之前(引文幻觉):

用户:"告诉我关于最近AlphaFold的研究"
助手:"根据Johnson等人(2024年)在《科学》杂志上的文章,AlphaFold3实现了……"
       ❌ 这篇论文不存在

在使用此MCP之后(仅验证引文):

用户:"告诉我关于最近AlphaFold的研究"
助手:[使用findVerifiedPapers工具]
       "根据Jumper等人(2023年)在《自然》杂志上的文章(DOI:10.1038/s41586-023-06004-9),AlphaFold3实现了……"
       ✓ 真实论文,经过数据库验证的有效DOI

验证捕获虚假引文:

用户:"你能验证这个引文吗:Smith等人(2024年),'量子AI',《自然》杂志"
助手:[使用verifyCitation工具 - 并行搜索所有8个数据库]
       "⚠ 我无法验证这个引文 - 在任何8个数据库中都没有找到匹配的出版物。这个引文可能是不正确的。"

数据库覆盖范围

所有数据库均并行查询以实现最大速度(总计约1秒):

通用数据库

  • CrossRef:涵盖所有学科的1.5亿多篇学术出版物
  • OpenAlex:涵盖所有学科的2.5亿多篇学术作品
  • Semantic Scholar:2亿多篇论文,具有AI驱动的搜索功能

专业数据库

  • PubMed:3.5亿多篇生物医学和生命科学出版物
  • zbMATH:400多万篇数学出版物
  • DBLP:综合计算机科学文献(期刊和会议)
  • ERIC:1700多万篇教育研究出版物
  • HAL:4400多万篇法国/欧洲学术文件(2500万篇英文)

总体覆盖范围

涵盖所有学术领域的6亿多篇出版物,在STEM、计算机科学、生物医学科学、数学和教育研究方面具有专门深度。

许可

MIT

贡献

欢迎贡献!请随时提交问题或拉取请求。

相关资源

API 文档

资源