蛋白质分析服务器

一个提供高级访问UniProt蛋白质数据库的模型上下文协议(MCP)服务器,包含26种生物信息学工具,用于蛋白质研究、比较基因组学、结构生物学分析和系统生物学研究。

  • by Augmented-Nature
  • JavaScript
  • 本地部署
  • 21 星标
  • 更新于
在 GitHub 查看 Augmented-Nature/UniProt-MCP-Server

使用说明

非官方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或纱线

设置

  1. 克隆存储库:
git clone <repository-url>
cd uniprot-server
  1. 安装依赖项:
npm install
  1. 构建项目:
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 (可选):用于过滤结果的生物体名称或分类ID
  • size (可选):要返回的结果数(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 (可选):用于过滤结果的生物体名称或分类ID
  • size (可选):要返回的结果数(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许可证

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 如果适用,添加测试
  5. 提交拉取请求

支持

对于问题和疑问:

  1. 检查 UniProt API文档
  2. 查看 模型上下文协议规范
  3. 在存储库上打开问题

关于增强自然

这款全面的UniProt MCP服务器由 增强自然,人工智能生物信息学和计算生物学解决方案的领先创新者。增强自然专注于创建先进的工具,弥合人工智能和生物研究之间的差距,使研究人员能够从生物数据中获得更深入的见解。

完整的工具参考

核心蛋白分析工具

  1. search_proteins -按名称、关键字或生物体搜索UniProt数据库
  2. get_protein_info -通过登录获取详细的蛋白质信息
  3. search_by_gene -按基因名称或符号查找蛋白质
  4. get_protein_sequence -检索氨基酸序列
  5. get_protein_features -访问功能特性和域

比较和进化分析工具

  1. compare_proteins -并排比较多种蛋白质
  2. get_protein_homologs -跨物种寻找同源蛋白质
  3. get_protein_orthologs -识别直系同源蛋白
  4. get_phylogenetic_info -检索进化关系

结构和功能分析工具

  1. get_protein_structure -从PDB访问3D结构信息
  2. get_protein_domains_detailed -增强的领域分析(InterPro、Pfam、SMART)
  3. get_protein_variants -疾病相关变异和突变
  4. analyze_sequence_composition -氨基酸组成分析

生物背景工具

  1. get_protein_pathways -相关生物途径(KEGG、Reactome)
  2. get_protein_interactions -蛋白质相互作用网络
  3. search_by_function -按GO术语或功能注释搜索
  4. search_by_localization -通过亚细胞定位寻找蛋白质

批处理和高级搜索工具

  1. batch_protein_lookup -高效处理多份申请
  2. advanced_search -具有多个过滤器的复杂查询
  3. search_by_taxonomy -按分类检索

文献和交叉参考工具

  1. get_external_references -其他数据库(PDB、EMBL、RefSeq等)的链接
  2. get_literature_references -相关出版物和引文
  3. get_annotation_confidence -注释的质量分数

数据导出和实用工具

  1. export_protein_data -以特定格式导出(GFF、GenBank、EMBL、XML)
  2. validate_accession -检查登录号的有效性
  3. 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}