概览
UniProt MCP (cyanheads) 以 @cyanheads/uniprot-mcp-server 发布,为 UniProt REST 数据提供 MCP 接口。它是第三方集成,并非 UniProt 数据库本身;所提供的来源并未证明其得到上游认可。它的作用是在研究工作流中让 MCP 客户端检索蛋白质证据和标识符,而不是预测蛋白质特性或自主开展研究。README 描述了本地 STDIO、自托管 Streamable HTTP 和公共托管端点。
输入包括蛋白质功能文本、Lucene 字段查询、登录号、数据库标识符、物种学名,以及分类单元或蛋白质组 ID。输出包括分页搜索结果、分节注释记录、标识符映射结果、蛋白质组元数据、分类谱系,以及标准序列或可选的异构体序列。搜索默认使用经过审校的 Swiss-Prot 条目。注释输出保留审校标记和可用的 PubMed/ECO 证据,使客户端能够区分注释来源。随附的 dossier 提示词可指导标识符解析、注释检索,以及结构、生物活性和引文交叉引用的发现。
集成该服务器时需注意若干边界。标识符映射采用异步方式,可能需要轮询返回的票据,然后另行继续获取结果分页。大型注释记录可能只返回大纲,需要进一步调用以获取特定章节;蛋白质组蛋白质列表则需显式选择加入且数量受限。上游缺失的字段仍会保持缺失,批量条目检索会分别报告成功和失败。两个 URI 资源与条目和分类学工具相对应;不提供对整个数据库的资源枚举。仓库代码以 Apache-2.0 发布,这与 UniProt 数据条款及托管服务的运营相互独立。
主要功能
- 通过 `uniprot_search_proteins` 搜索蛋白质,支持纯文本或 Lucene 查询、物种过滤、默认筛选经过审校的条目、可选分面以及基于游标的向前分页。
- 通过 `uniprot_get_entry` 获取分节注释,支持最多 20 个登录号的批量查询、逐个登录号报告失败、字段投影,以及对超大记录通过大纲进行后续查询。
- 通过 `uniprot_map_ids` 异步映射跨数据库标识符,支持可恢复的作业票据、已完成页面的续取,以及依据分类单元消歧基因符号。
- 通过标识符或物种学名查询蛋白质组和分类信息,包括蛋白质组完整度元数据、分类谱系、可选的直接子分类单元,以及数量受限的蛋白质列表。
- 获取标准 FASTA 序列及其长度和解析后的标题,也可选择获取可变剪接产生的异构体序列。
- 提供条目和分类学 URI 资源,以及用于引导注释和交叉引用检索的 `uniprot_protein_dossier` 提示词。
使用场景
- 建议的评估方式:构建蛋白质靶标档案,整合有文档支持的功能、定位、疾病关联、变异,以及 PDB、ChEMBL 和 PubMed 交叉引用。
- 建议的评估方式:将 Ensembl、RefSeq、基因符号或其他受支持的标识符与 UniProtKB 登录号对应起来,并明确检查物种歧义和未映射结果。
- 建议的评估方式:结合分类解析、蛋白质组元数据和筛选后的蛋白质列表,整理特定物种的蛋白质子集。
- 建议的评估方式:检索标准序列和异构体序列,并同时获取注释来源信息以用于后续分析;不要将检索结果视为科学验证。
使用方式
- 阅读仓库 README,并选择托管式 Streamable HTTP 或本地部署。文档提供了 STDIO 和 HTTP 客户端配置;访问 UniProt REST 不需要 API 密钥。
- 如使用托管方式,在 MCP 客户端中配置 https://uniprot.caseyjhand.com/mcp。如进行本地部署,请遵循 README 中的包或容器配置。选择运行时前请检查 package.json,因为其中的 Bun 要求与 README 的先决条件有所不同。
- 使用
uniprot_get_taxonomy解析物种,然后通过uniprot_search_proteins按功能或基因搜索。检查审校状态和注释证据,不要仅凭名称匹配作判断。 - 使用
uniprot_get_entry检索选定的登录号。分别处理失败的登录号;如返回大纲,则请求特定章节。对于标识符映射,在工作流完成前保留票据和续取信息。 - 按需检索序列或蛋白质组子集,也可使用
uniprot_protein_dossier引导查询。作为初步评估,可将检索到的注释与 UniProt 对照,并记录未解决的标识符和缺失字段。