使用说明
非官方UniProt MCP服务器
一个全面的模型上下文协议(MCP)服务器,提供对UniProt蛋白质数据库的高级访问。该服务器提供26种专门的生物信息学工具,使人工智能助手和MCP客户能够直接通过UniProt的REST API进行复杂的蛋白质研究、比较基因组学、结构生物学分析和系统生物学研究。
由开发 增强自然
特性
核心蛋白分析(5个工具)
- 蛋白质搜索:按蛋白质名称、关键字或生物体搜索UniProt数据库
- 蛋白质详细信息:检索全面的蛋白质信息,包括功能、结构和注释
- 基于基因的搜索:按基因名称或符号查找蛋白质
- 序列检索:获取FASTA或JSON格式的氨基酸序列
- 特征分析:访问功能域、活性位点、结合位点和其他蛋白质特征
比较与进化分析(4种工具)
- 蛋白质比较:通过序列和特征分析对多种蛋白质进行并排比较
- 同源物发现:在不同物种中寻找同源蛋白质
- 矫形器识别:识别用于进化研究的直系同源蛋白质
- 系统发育分析:检索进化关系和系统发育数据
结构与功能分析(4个工具)
- 三维结构信息:访问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或纱线
设置
- 克隆存储库:
git clone <repository-url>
cd uniprot-server
- 安装依赖项:
npm install
- 构建项目:
npm run build
码头工人
构建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编写(可选)
创建一个 docker-compose.yml 为了便于管理:
version: "3.8"
services:
uniprot-mcp:
build: .
image: uniprot-mcp-server
stdin_open: true
tty: true
运行方式:
docker-compose up
用法
作为MCP服务器
该服务器设计为作为MCP服务器运行,通过stdio进行通信:
npm start
添加到MCP客户端配置
将服务器添加到MCP客户端配置中(例如,Claude Desktop):
{
"mcpServers": {
"uniprot": {
"command": "node",
"args": ["/path/to/uniprot-server/build/index.js"],
"env": {}
}
}
}
可用工具
1.搜索_蛋白质
在UniProt数据库中按名称、关键字或生物体搜索蛋白质。
参数:
query(必填):搜索查询(蛋白质名称、关键字或复杂搜索)organism(可选):用于过滤结果的生物体名称或分类IDsize(可选):要返回的结果数(1-500,默认值:25)format(可选):输出格式-json、tsv、fasta、xml(默认:json)
例子:
{
"query": "insulin",
"organism": "human",
"size": 5
}
2.获取产品信息
通过UniProt登录获取特定蛋白质的详细信息。
参数:
accession(必填):UniProt登录号(例如P04637)format(可选):输出格式-json、tsv、fasta、xml(默认:json)
例子:
{
"accession": "P01308",
"format": "json"
}
3.基因搜索
按基因名称或符号搜索蛋白质。
参数:
gene(必填):基因名称或符号(如BRCA1、INS)organism(可选):用于过滤结果的生物体名称或分类IDsize(可选):要返回的结果数(1-500,默认值:25)
例子:
{
"gene": "BRCA1",
"organism": "human"
}
4.获取蛋白质序列
获取蛋白质的氨基酸序列。
参数:
accession(必填):UniProt登录号format(可选):输出格式-fasta,json(默认:fasta)
例子:
{
"accession": "P01308",
"format": "fasta"
}
5.获取产品特性
获取蛋白质的功能特征和结构域。
参数:
accession(必填):UniProt登录号
例子:
{
"accession": "P01308"
}
资源模板
服务器通过URI模板提供对UniProt数据的直接访问:
1.蛋白质信息
- 统一资源标识符:
uniprot://protein/{accession} - 描述:UniProt登录的完整蛋白质信息
- 示例:
uniprot://protein/P01308
2.蛋白质序列
- 统一资源标识符:
uniprot://sequence/{accession} - 描述:FASTA格式蛋白质序列
- 示例:
uniprot://sequence/P01308
3.搜索结果
- 统一资源标识符:
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请求包括:
- 用户代理:
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
依赖项
- @模型上下文协议/sdk:用于服务器实现的核心MCP SDK
- 轴:UniProt API请求的HTTP客户端
- 打字稿:用于开发的TypeScript编译器
许可证
MIT许可证
贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 如果适用,添加测试
- 提交拉取请求
支持
对于问题和疑问:
- 检查 UniProt API文档
- 查看 模型上下文协议规范
- 在存储库上打开问题
关于增强自然
这款全面的UniProt MCP服务器由 增强自然,人工智能生物信息学和计算生物学解决方案的领先创新者。增强自然专注于创建先进的工具,弥合人工智能和生物研究之间的差距,使研究人员能够从生物数据中获得更深入的见解。
完整的工具参考
核心蛋白分析工具
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支持:采用安全最佳实践的多阶段构建
- 综合文档:完整的工具参考和示例
- 由增强自然开发:专业生物信息学平台
引用
如果您在研究或出版物中使用此项目,请按如下方式引用:
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}