关于 Unofficial UniProt MCP Server
Unofficial UniProt MCP Server 是一个非官方的 MCP 服务,通过 UniProt REST API 提供 26 个蛋白质信息相关工具。它面向需要查询蛋白质功能、序列、结构与同源关系的生物信息学研究者,覆盖范围较广。
主要功能
- 01蛋白质检索与详细信息查询
- 02氨基酸序列获取(FASTA / JSON)
- 03结构、结构域与变异信息分析
- 04同源与直系同源蛋白发现
- 05通路、相互作用与亚细胞定位查询
- 06批量处理与高级过滤检索
适用场景
- 01按基因名或蛋白名查找人类蛋白质并获取序列
- 02比较多个物种中的同源蛋白
- 03为蛋白质功能与疾病相关变异的研究收集数据
MCP 相关
该项目是 MCP 服务,向 MCP 客户端暴露 26 个工具以及 uniprot:// 资源模板,用于按登录号或查询词访问 UniProt 数据。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
非官方 UniProt MCP 服务
这是一款全面的模型上下文协议(MCP)服务,可高级访问 UniProt 蛋白质数据库。该服务提供 26 种专业生物信息学工具,使 AI 助手和 MCP 客户端能够直接通过 UniProt 的 REST API 开展复杂的蛋白质研究、比较基因组学、结构生物学分析和系统生物学研究。
由 Augmented Nature 开发
功能
核心蛋白质分析(5 种工具)
- 蛋白质搜索:按蛋白质名称、关键词或物种搜索 UniProt 数据库
- 详细蛋白质信息:获取全面的蛋白质信息,包括功能、结构和注释
- 基于基因的搜索:按基因名称或符号查找蛋白质
- 序列检索:以 FASTA 或 JSON 格式获取氨基酸序列
- 特征分析:访问功能域、活性位点、结合位点及其他蛋白质特征
比较与进化分析(4 种工具)
- 蛋白质比较:并排比较多个蛋白质,分析其序列和特征
- 同源蛋白发现:查找不同物种中的同源蛋白质
- 直系同源蛋白鉴定:识别用于进化研究的直系同源蛋白质
- 系统发育分析:获取进化关系和系统发育数据
结构与功能分析(4 种工具)
- 3D 结构信息:访问 PDB 参考信息和结构数据
- 高级结构域分析:结合 InterPro、Pfam 和 SMART 注释,进行增强型结构域分析
- 变异分析:疾病相关变异和突变
- 序列组成:氨基酸组成、疏水性及其他序列属性
生物学背景分析(4 种工具)
- 通路整合:获取 KEGG 和 Reactome 中关联的生物通路
- 蛋白质相互作用:蛋白质—蛋白质相互作用网络
- 功能分类:按 GO 术语或功能注释搜索
- 亚细胞定位:按亚细胞定位查找蛋白质
批处理与高级搜索(3 种工具)
- 批处理:高效处理多个蛋白质登录号
- 高级搜索:使用多个筛选条件(长度、质量、物种、功能)执行复杂查询
- 分类学分类:按详细的分类学分类搜索
文献与交叉引用(3 种工具)
- 外部数据库链接:链接至 PDB、EMBL、RefSeq、Ensembl 及其他数据库
- 文献引用:关联的出版物和引文
- 注释质量:不同注释的质量分数和置信度
数据导出与实用工具(3 种工具)
- 专用导出:以 GFF、GenBank、EMBL 和 XML 格式导出数据
- 登录号验证:验证 UniProt 登录号是否有效
- 分类学信息:详细的分类学分类和谱系数据
资源模板
- 通过 URI 模板直接访问蛋白质数据,实现无缝集成
安装
前置条件
- Node.js(v16 或更高版本)
- npm 或 yarn
设置
- 克隆仓库:
git clone <repository-url>
cd uniprot-server
- 安装依赖:
npm install
- 构建项目:
npm run build
Docker
构建 Docker 镜像
构建 Docker 镜像:
docker build -t uniprot-mcp-server .
使用 Docker 运行
运行容器:
docker run -i uniprot-mcp-server
如需集成 MCP 客户端,可直接使用该容器:
{
"mcpServers": {
"uniprot": {
"command": "docker",
"args": ["run", "-i", "uniprot-mcp-server"],
"env": {}
}
}
}
Docker Compose(可选)
创建 docker-compose.yml,以便更轻松地管理:
version: "3.8"
services:
uniprot-mcp:
build: .
image: uniprot-mcp-server
stdin_open: true
tty: true
运行命令:
docker-compose up
用法
作为 MCP 服务
该服务设计为通过 stdio 通信的 MCP 服务:
npm start
添加到 MCP 客户端配置
将该服务添加到 MCP 客户端配置中(例如 Claude Desktop):
{
"mcpServers": {
"uniprot": {
"command": "node",
"args": ["/path/to/uniprot-server/build/index.js"],
"env": {}
}
}
}
可用工具
1. search_proteins
按名称、关键词或物种搜索 UniProt 数据库中的蛋白质。
参数:
query(必填):搜索查询(蛋白质名称、关键词或复杂查询)organism(可选):用于筛选结果的物种名称或分类 IDsize(可选):返回结果数量(1-500,默认值:25)format(可选):输出格式 - json、tsv、fasta、xml(默认值:json)
示例:
{
"query": "insulin",
"organism": "human",
"size": 5
}
2. get_protein_info
通过 UniProt 登录号获取特定蛋白质的详细信息。
参数:
accession(必填):UniProt 登录号(例如,P04637)format(可选):输出格式 - json、tsv、fasta、xml(默认值:json)
示例:
{
"accession": "P01308",
"format": "json"
}
3. search_by_gene
按基因名称或符号搜索蛋白质。
参数:
gene(必填):基因名称或符号(例如,BRCA1、INS)organism(可选):用于筛选结果的物种名称或分类 IDsize(可选):返回结果数量(1-500,默认值:25)
示例:
{
"gene": "BRCA1",
"organism": "human"
}
4. get_protein_sequence
获取蛋白质的氨基酸序列。
参数:
accession(必填):UniProt 登录号format(可选):输出格式 - fasta、json(默认值:fasta)
示例:
{
"accession": "P01308",
"format": "fasta"
}
5. get_protein_features
获取蛋白质的功能特征和结构域。
参数:
accession(必填):UniProt 登录号
示例:
{
"accession": "P01308"
}
资源模板
该服务通过 URI 模板直接访问 UniProt 数据:
1. 蛋白质信息
- URI:
uniprot://protein/{accession} - 说明:UniProt 登录号对应的完整蛋白质信息
- 示例:
uniprot://protein/P01308
2. 蛋白质序列
- URI:
uniprot://sequence/{accession} - 说明:FASTA 格式的蛋白质序列
- 示例:
uniprot://sequence/P01308
3. 搜索结果
- URI:
uniprot://search/{query} - 说明:与查询匹配的蛋白质搜索结果
- 示例:
uniprot://search/insulin
示例
基本蛋白质搜索
搜索人类胰岛素蛋白质:
// Tool call
{
"tool": "search_proteins",
"arguments": {
"query": "insulin",
"organism": "human",
"size": 10
}
}
获取蛋白质详细信息
获取人类胰岛素的全面信息:
// Tool call
{
"tool": "get_protein_info",
"arguments": {
"accession": "P01308"
}
}
基于基因的搜索
查找与 BRCA1 基因相关的蛋白质:
// Tool call
{
"tool": "search_by_gene",
"arguments": {
"gene": "BRCA1",
"organism": "human"
}
}
获取蛋白质序列
获取人类胰岛素的氨基酸序列:
// Tool call
{
"tool": "get_protein_sequence",
"arguments": {
"accession": "P01308",
"format": "fasta"
}
}
分析蛋白质特征
获取人类胰岛素的功能结构域和特征:
// Tool call
{
"tool": "get_protein_features",
"arguments": {
"accession": "P01308"
}
}
API 集成
该服务集成 UniProt REST API,以编程方式访问蛋白质数据。有关 UniProt 的更多信息:
- UniProt 网站:https://www.uniprot.org/
- API 文档:https://www.uniprot.org/help/api
- REST API 指南:https://www.uniprot.org/help/api_queries
所有 API 请求均包含:
- User-Agent:
UniProt-MCP-Server/1.0.0 - 超时:30 秒
- 基础 URL:
https://rest.uniprot.org(仅供程序访问)
错误处理
该服务包含全面的错误处理:
- 输入验证:使用类型守卫验证所有参数
- API 错误:捕获网络和 API 错误,并返回描述性消息
- 超时处理:请求在 30 秒后超时
- 优雅降级:妥善处理部分故障
开发
构建项目
npm run build
开发模式
以监视模式运行 TypeScript 编译器:
npm run dev
项目结构
uniprot-server/
├── src/
│ └── index.ts # Main server implementation
├── build/ # Compiled JavaScript output
├── package.json # Node.js dependencies and scripts
├── tsconfig.json # TypeScript configuration
└── README.md # This file
依赖项
- @modelcontextprotocol/sdk:用于实现服务的核心 MCP SDK
- axios:用于发起 UniProt API 请求的 HTTP 客户端
- typescript:用于开发的 TypeScript 编译器
许可证
MIT 许可证
贡献
- Fork 此代码库
- 创建功能分支
- 进行更改
- 适用时添加测试
- 提交拉取请求
支持
如有问题或疑问:
- 查看 UniProt API 文档
- 查阅 Model Context Protocol 规范
- 在代码库中提交问题
关于 Augmented Nature
这款全面的 UniProt MCP 服务由 Augmented Nature 开发。Augmented Nature 是 AI 生物信息学和计算生物学解决方案领域的领先创新者,专注于打造先进工具,弥合人工智能与生物学研究之间的鸿沟,帮助研究人员从生物数据中发掘更深层次的见解。
完整工具参考
核心蛋白质分析工具
search_proteins- 按名称、关键词或生物体搜索 UniProt 数据库get_protein_info- 根据登录号获取详细的蛋白质信息search_by_gene- 按基因名称或符号查找蛋白质get_protein_sequence- 获取氨基酸序列get_protein_features- 查看功能特征和结构域
比较与进化分析工具
compare_proteins- 并排比较多个蛋白质get_protein_homologs- 查找不同物种中的同源蛋白质get_protein_orthologs- 识别直系同源蛋白质get_phylogenetic_info- 获取进化关系信息
结构与功能分析工具
get_protein_structure- 获取 PDB 中的 3D 结构信息get_protein_domains_detailed- 增强型结构域分析(InterPro、Pfam、SMART)get_protein_variants- 与疾病相关的变异和突变analyze_sequence_composition- 氨基酸组成分析
生物学背景工具
get_protein_pathways- 相关生物通路(KEGG、Reactome)get_protein_interactions- 蛋白质-蛋白质相互作用网络search_by_function- 按 GO 术语或功能注释搜索search_by_localization- 按亚细胞定位查找蛋白质
批量处理与高级搜索工具
batch_protein_lookup- 高效处理多个登录号advanced_search- 使用多个筛选条件执行复杂查询search_by_taxonomy- 按分类学分类搜索
文献与交叉引用工具
get_external_references- 其他数据库的链接(PDB、EMBL、RefSeq 等)get_literature_references- 相关出版物和引文get_annotation_confidence- 注释的质量评分
数据导出与实用工具
export_protein_data- 导出为专用格式(GFF、GenBank、EMBL、XML)validate_accession- 检查登录号是否有效get_taxonomy_info- 详细的分类学信息
更新日志
v1.0.0 - 全面的生物信息学平台
- 重大扩展:新增 21 个专业工具(共 26 个工具)
- 比较分析:蛋白质比较、同源蛋白质/直系同源蛋白质识别、系统发育分析
- 结构生物学:集成 3D 结构、详细的结构域分析、变异分析
- 系统生物学:通路集成、蛋白质相互作用、功能分类
- 高级搜索:批量处理、复杂筛选、分类学搜索
- 文献集成:外部数据库链接、引文、注释置信度
- 数据导出:多种专用格式(GFF、GenBank、EMBL、XML)
- 增强的 Docker 支持:采用安全最佳实践的多阶段构建
- 全面的文档:完整的工具参考和示例
- 由 Augmented Nature 开发:专业的生物信息学平台
引用
如果您在研究或出版物中使用此项目,请按以下方式引用:
author = {Moudather Chelbi},
title = {UniProt MCP Server},
year = {2025},
howpublished = {https://github.com/Augmented-Nature/Augmented-Nature-UniProt-MCP-Server/},
note = {Accessed: 2025-06-29}
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。