关于 Research Chain
Research Chain 是面向研究人员和 Agent 的 MCP 服务,可根据 DOI、PMID 或 arXiv ID 汇总论文元数据、开放副本、数据集、代码、引用和撤稿标记。它整合多个学术来源,并报告部分请求失败,而非静默丢弃结果。
主要功能
- 01按 DOI、PMID 或 arXiv ID 查论文
- 02获取开放副本及其已声明许可
- 03查找相关数据集和软件
- 04搜索代码及引用论文
- 05报告撤稿标记和数据源故障
适用场景
- 01核查论文是否有免费副本及许可信息
- 02查找论文关联的数据集或代码
- 03查看引用情况和撤稿记录
MCP 相关
向 MCP 客户端提供 `research_chain` 工具,可通过网关或独立 stdio 服务连接。网关连接还会列出 Pipeworx 共享元工具。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://gateway.pipeworx.io/research-chain/mcpclaude mcp add --transport http pipeworx-io-research-chain https://gateway.pipeworx.io/research-chain/mcp{"mcpServers":{"pipeworx-io-research-chain":{"type":"http","url":"https://gateway.pipeworx.io/research-chain/mcp"}}}在 Cursor 中打开{"servers":{"pipeworx-io-research-chain":{"type":"http","url":"https://gateway.pipeworx.io/research-chain/mcp"}}}在 VS Code 中打开{"mcpServers":{"pipeworx-io-research-chain":{"type":"http","url":"https://gateway.pipeworx.io/research-chain/mcp"}}}{"mcpServers":{"pipeworx-io-research-chain":{"serverUrl":"https://gateway.pipeworx.io/research-chain/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
@pipeworx/research-chain
一次调用即可获取一篇学术论文的所有公开信息:全文、许可证、数据集、代码和引用。提供 DOI、PMID 或 arXiv id 后,research_chain 会遍历 Crossref、OpenAlex、Unpaywall、DataCite、Zenodo、Hugging Face Papers、PubMed Central 和 Semantic Scholar 分别零散提供的信息关联关系,让调用方无需了解所有六七种工具,就能回答“有哪些数据集和代码与这篇论文相关?”或“找到这个 DOI 的开放版本及其许可证”。
属于 Pipeworx — 一个将 AI Agent 连接到 1683+ 个实时数据源的 MCP 网关。
工具
research_chain({doi | pmid | arxiv_id, max_datasets?, max_citing?})— 返回:paper— 标题、期刊、出版商、作者、Crossref 声明的许可证(URL,以及各许可证适用的手稿版本)、OpenAlex 概念和引用次数。open_copies[]— Unpaywall 收录的所有开放获取位置,每项都有自己的host_type、version(publishedVersion|acceptedVersion|submittedVersion)和license— 绝不会合并。is_oa: true仅表示“某处存在可免费阅读的版本”,不代表拥有再利用权限。因此,只要 Unpaywall 未声明许可证,license就为null(不会猜测)。如果存在 PubMed Central 版本,也会作为单独条目添加,其license和version明确设为null,因为 NCBI 的 ID Converter 确认该版本存在,但未声明其条款。pmc_full_text— 来自 NCBI 的 ID Converter 的{has_full_text, pmcid, pmid, url}。datasets— 来自 DataCite 的relatedIdentifiers搜索的{total, returned, results[]}(引用该论文 DOI 的数据集/软件)。即使results截断至max_datasets,total仍为上游的实际总数。code—{zenodo[], paperswithcode}。Zenodo 通过metadata.related_identifiers.identifier搜索。上游搜索结果为空时,paperswithcode(Hugging Face Papers,即事实上的继任者)会返回{found: false, results: []}— 空结果会标记为not_found,绝不会被当作答案(过去,上游单独返回的[]会被误当成“没有相关代码”的真实答案)。citing— 来自 Semantic Scholar 的{count, top[], note}:count是该论文的总引用次数,top是最多max_citing篇引用该论文的论文,按其自身引用次数排序。如果两次 Semantic Scholar 调用中一次失败、另一次成功,note会附带明确说明部分失败的消息(例如速率限制)— 绝不会静默丢弃。retraction— 根据已获取的同一条 Crossref 记录生成,数据来自标题标记、update-to撤稿通知和is-retracted-by关系 — 不会额外调用 API。retracted: false表示“记录中没有撤稿信息”,并不能证明论文没有问题(信息覆盖范围取决于出版商)。sources_used/sources_failed— 每个数据源都会独立并行获取;响应缓慢或不可用的上游会连同原因列入sources_failed,其他数据源仍会正常返回。as_of— 本次调用的 ISO 时间戳。
认证
无需密钥。此处的所有上游都是公开且无需认证的 API。Crossref、
OpenAlex 和 NCBI ID Converter 只要求提供联系邮箱,以便使用礼貌请求池;此包使用自己的邮箱([email protected])— 与 crossref、openalex 和 unpaywall 包采用相同的方式。
数据源
- https://api.crossref.org/works/{doi} — 标题、期刊、许可、撤稿标记。
- https://api.openalex.org/works/doi:{doi} — 概念、引用次数。
- https://api.unpaywall.org/v2/{doi} — 开放获取位置,每个位置都包含版本和许可。
- https://pmc.ncbi.nlm.nih.gov/tools/idconv/api/v1/articles/ — DOI/PMID ↔ PMCID 解析。NCBI 于 2026 年将此服务从
www.ncbi.nlm.nih.gov/pmc/utils/idconv迁出——旧主机会通过 301 重定向到这里;此工具包直接访问新主机。 - https://api.datacite.org/dois — 引用该论文的数据集/软件(搜索
relatedIdentifiers.relatedIdentifier)。 - https://zenodo.org/api/records — 与该论文相关的记录。搜索字段是
metadata.related_identifiers.identifier,而不是单独的related_identifiers.identifier——单独使用该字段会导致所有查询都静默匹配到零条记录(已实时验证:同一 DOI 分别得到 0 条和 19 条结果)。 - https://huggingface.co/api/papers/search — 代码/实现搜索(已关闭的 Papers with Code API 的后继服务)。
- https://api.semanticscholar.org/graph/v1/paper/DOI:{doi} 和
/citations— 引用次数 + 引用该论文的文献。无需密钥的请求池在两个端点之间累计限速约为每秒 1 个请求;此工具包会在同一链路中以约 1.1 秒的间隔依次调用它们,而不是同时发送请求。修复前,几乎每次调用都会导致其中一个端点返回 429。
OSF 原本计划作为第三个代码/材料来源,但后来已移除:其公开 API 没有可按 DOI 筛选的字段(/v2/preprints/?filter[doi]=... 会返回 HTTP 400“not a filterable field”,已实时验证)。目前由 Zenodo 和 Hugging Face Papers 覆盖代码/材料关联。
标识符解析
doi— 直接使用(会移除doi.orgURL 或doi:前缀)。pmid— 通过 NCBI 的 ID Converter 解析为 DOI。arxiv_id— 解析为 arXiv 自动注册的 DataCite DOI(10.48550/arXiv.<id>),基本覆盖 2022 年以来的所有 arXiv 投稿。这是构造得到的标识符,而非经查证的查询结果——如果 2022 年以前的 arXiv ID 没有注册 DOI,下游链路会报告not_found,而不是解析该标识符。
快速开始
添加到你的 MCP 客户端(Claude Desktop、Cursor、Windsurf 等):
{
"mcpServers": {
"research-chain": {
"url": "https://gateway.pipeworx.io/research-chain/mcp"
}
}
}
此端点实际提供的内容
https://gateway.pipeworx.io/research-chain/mcp 上的 tools/list 会返回上表中的工具,以及 Pipeworx 共享的元工具——ask_pipeworx、discover_tools、search_within、remember/recall 和网关级别的其他工具。因此,你看到的工具数量会多于表格中的数量:目前,单个工具包端点除了列出该工具包自己的工具外,还会列出大约 30 个共享工具。连接的 initialize 响应会说明其确切范围,是当天最权威的答案。
这是有意为之,并非意外的多路复用。元工具能让受限连接回答本工具包未覆盖的问题——通过可跨整个目录路由请求的 ask_pipeworx——无需添加第二个 MCP 服务。目前无法挂载不包含这些元工具的工具包端点;如果额外的架构定义占用的上下文比路由功能带来的价值更多,请连接一次完整网关,而不是连接多个工具包端点。
也可以连接完整的 Pipeworx 网关,直接列出所有工具包的工具,而不只是当前工具包的工具:
{
"mcpServers": {
"pipeworx": {
"url": "https://gateway.pipeworx.io/mcp"
}
}
}
两个 URL 都会连接到同一网关和同样的 1683+ 个数据源。唯一的区别是直接列出哪个工具包的工具;无论使用哪个 URL,ask_pipeworx 都能访问所有工具包。
没有 MCP 客户端?通过 HTTP 调用
curl -X POST https://gateway.pipeworx.io/v1/tools/research_chain \
-H 'Content-Type: application/json' \
-d '{"doi":"10.1038/s41586-020-2649-2"}'
首次调用无需账号。检查任意工具:GET https://gateway.pipeworx.io/v1/tools/research_chain。查找工具:使用 {"query":"..."} 发送 POST https://gateway.pipeworx.io/v1/tools/search_packs。
独立运行(无需网关账户)
此软件包也可作为本地 stdio MCP 服务运行,无需 Pipeworx 账户,也无需经过网关往返:
{
"mcpServers": {
"research-chain": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-research-chain"]
}
}
}
也可以直接运行,确认它能正常启动:
npx -y @pipeworx/mcp-research-chain
它通过 stdin/stdout 使用 MCP 通信,并针对仅限此软件包的工具响应 initialize/tools/list/tools/call——不包含上方网关连接所添加的任何共享元工具。相同的源代码,相同的工具,无需 ask_pipeworx 路由。
使用 ask_pipeworx
你也可以用通俗的英语提问,而不是直接调用工具——这既适用于上方的软件包端点,也适用于完整网关:
ask_pipeworx({ question: "your question about Research Chain data" })
网关会选择合适的工具并自动填写参数。
更多信息
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。