关于 Pubtator
Pubtator 基于 NCBI/NLM 的 PubTator 3,为生物医学研究者提供实体与文献检索,并查询机器抽取的基因、疾病、化学物质和变异关系。
主要功能
- 01解析并规范化生物医学实体
- 02按文本或实体搜索文献
- 03查询实体间抽取关系
- 04查看关系对应的证据段落
- 05获取文章实体注释
适用场景
- 01查找某基因相关文献
- 02探索药物与疾病关系
- 03核查机器抽取关系的文献证据
MCP 相关
作为 MCP 服务,它向客户端提供 PubTator 3 的实体解析、文献搜索、关系查询、证据和注释工具。可通过 Pipeworx 网关连接或作为本地 stdio 服务运行。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://gateway.pipeworx.io/pubtator/mcpclaude mcp add --transport http pipeworx-io-pubtator https://gateway.pipeworx.io/pubtator/mcp{"mcpServers":{"pipeworx-io-pubtator":{"type":"http","url":"https://gateway.pipeworx.io/pubtator/mcp"}}}在 Cursor 中打开{"servers":{"pipeworx-io-pubtator":{"type":"http","url":"https://gateway.pipeworx.io/pubtator/mcp"}}}在 VS Code 中打开{"mcpServers":{"pipeworx-io-pubtator":{"type":"http","url":"https://gateway.pipeworx.io/pubtator/mcp"}}}{"mcpServers":{"pipeworx-io-pubtator":{"serverUrl":"https://gateway.pipeworx.io/pubtator/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
@pipeworx/pubtator
按实体搜索生物医学文献,并查询 PubTator 3 从约 3,600 万篇 PubMed 摘要和 PMC 开放获取全文中提取的基因–疾病–化学物质–变异关系——每条关系均标记为机器提取,并附带提取所依据的句子。数据来自 NCBI / NLM 运营的 PubTator 3 API。将基因级查询(mygene-info、pubmed)与提及这些基因的文献关联起来。
属于 Pipeworx——一个将 AI Agent 连接到 1,715 多个实时数据源的 MCP 网关。这是独立的非官方集成,与上游提供方无关联、未获其认可,也非由其发布。
工具
pubtator_find_entity(query, concept?, limit?)— 将基因、疾病、化学物质、变异、物种或细胞系名称解析为其标准化 PubTator ID(@GENE_BRCA1/ NCBI Gene 672、@DISEASE_Breast_Neoplasms/ MeSH D001943)。可回答“X 的 ID 是什么,以便我按 ID 查询”。pubtator_search(query, page?)— 按自由文本、以AND/OR连接的实体 ID,或关系查询(relations:treat|@CHEMICAL_Doxorubicin|@DISEASE_Breast_Neoplasms)搜索文献。每条结果都包含匹配的句子及解码后的实体提及(text、entity、标准化的ids、matched_query)、PMID、PMCID、DOI、期刊和日期。每页 10 条;返回total_results和total_pages。pubtator_relations(entity, type?, target?, limit?, evidence_for?)— PubTator 3 为某个实体提取的关系(哪些药物可治疗某种疾病、某种疾病与哪些基因相关……),按supporting_publications排序。排名靠前的evidence_for条关系(默认为 3 条,最多 5 条)各附带最多 3 段支持性引文。接受 PubTator ID 或普通名称(通过自动补全解析;匹配结果会显示在resolved_from中)。pubtator_relation_evidence(type, entity1, entity2, page?)— 支持某一特定关系的所有引文,每页 10 条,并附带 PMID。可用于审核pubtator_relations返回的关系。pubtator_annotations(pmids, full_text?)— 获取最多 20 个 PMID 的实体注释:标题和摘要中的每次提及(或full_text: true时的 PMC 全文),标准化为 NCBI Gene / MeSH / dbSNP / Taxonomy,并附带字符偏移量以及每篇文章中提取的关系。
身份验证
无需密钥。
数据源
- https://www.ncbi.nlm.nih.gov/research/pubtator3-api/entity/autocomplete/?query=BRCA1&concept=gene&limit=10
— 实体名称 →
@TYPE_NameID,以及对应的数据库 ID。 - https://www.ncbi.nlm.nih.gov/research/pubtator3-api/search/?text=...&page=1
— 文章搜索;
text_hl是 PubTator 内联实体编码中的匹配句子,由此工具包解码。 - https://www.ncbi.nlm.nih.gov/research/pubtator3-api/relations?e1=@GENE_BRCA1&type=associate&e2=... — 提取的关系及其支持出版物数量。
- https://www.ncbi.nlm.nih.gov/research/pubtator3-api/publications/export/biocjson?pmids=31022191&full=true — BioC JSON,包含每个注释和文章内关系。
接手的人原本需要重新发现的事项:
- 实体 ID 基于名称,且区分大小写。 API 需要
@GENE_BRCA1、@DISEASE_Breast_Neoplasms、@CHEMICAL_Doxorubicin,而不是@GENE_672或@DISEASE_MESH_D001943。使用数据库 ID 格式进行搜索时, API 会返回 HTTP 200,且count: 0,不报错。因此,此工具包中的每个实体 参数在不以@开头时,都会通过自动补全处理。 - 所有内容都是文本挖掘预测结果。 PubTator 3 的关系来自神经关系提取模型,
注释则来自实体识别器(GNormPlus、TaggerOne、tmVar……)。没有任何内容经过人工整理。
每条关系和注释封装对象都带有
extraction字段,说明了这一点;supporting_publications是模型的证据数量,不代表整理状态。 - 关系查询不区分实体顺序。
relations:associate|A|B和relations:associate|B|A返回相同的数量。关系类型共 12 种: associate、cause、compare、cotreat、drug_interact、inhibit、interact、 negative_correlate、positive_correlate、prevent、stimulate、treat。 text_hl编码。@<m>GENE_BRCA1</m> @GENE_672 @@@BRCA1@@@-mutated表示:ID 标记(查询匹配项用<m>包裹),然后是用@@@包裹的表面提及。 ID 标记是指未紧跟@@的@— 解码器的第一个版本把@@@BRCA@@@当作 ID,导致两个提及被合并成一个。- 自动补全概念。
gene、disease、chemical和variant的数据较为丰富;species和cellline对常见名称(“mouse”、“HeLa”)返回[]。 不要因此断定实体不存在,而应去掉概念筛选条件。 - 全文数据量很大。 对 PMC 开放获取文章使用
full=true时,会返回 100 多个 段落(PMID 31022191 有 119 个),且文档 ID 会变成 PMC 编号;可从第一个段落的article-id_pmid中获取 PMID。段落最多截取 1,500 个字符,并带有truncated: true。 - 上游将页面大小固定为 10,没有
size参数。
快速开始
添加到你的 MCP 客户端(Claude Desktop、Cursor、Windsurf 等):
{
"mcpServers": {
"pubtator": {
"url": "https://gateway.pipeworx.io/pubtator/mcp"
}
}
}
此端点实际提供的内容
https://gateway.pipeworx.io/pubtator/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 都连接到同一个网关,也都能访问相同的 1715+ 个数据源。唯一的区别是直接列出哪个工具包的工具;无论连接哪一个,ask_pipeworx 都能访问所有工具包的工具。
没有 MCP 客户端?通过 HTTP 调用
curl -X POST https://gateway.pipeworx.io/v1/tools/pubtator_find_entity \
-H 'Content-Type: application/json' \
-d '{"query":"BRCA1","concept":"gene","limit":5}'
首次调用无需账户。检查任意工具:GET https://gateway.pipeworx.io/v1/tools/pubtator_find_entity。查找工具:使用 {"query":"..."} 向 https://gateway.pipeworx.io/v1/tools/search_packs 发送 POST 请求。
独立运行(无需网关账户)
此软件包也可以作为本地 stdio MCP 服务运行——无需 Pipeworx 账户,也无需往返网关:
{
"mcpServers": {
"pubtator": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-pubtator"]
}
}
}
或者直接运行,以确认服务能够启动:
npx -y @pipeworx/mcp-pubtator
它通过 stdin/stdout 使用 MCP 通信,并为仅属于此工具包的工具响应 initialize/tools/list/tools/call——不包含上方网关连接额外提供的共享元工具。源代码相同,工具相同,但没有 ask_pipeworx 路由。
使用 ask_pipeworx
你可以用通俗易懂的语言提问,而不是直接调用工具——上方的工具包端点和完整网关都支持此功能:
ask_pipeworx({ question: "your question about Pubtator data" })
网关会选择合适的工具并自动填写参数。
更多信息
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。