Augmented Nature UniProt MCP Server

Augmented Nature UniProt MCP Server

🚀 非官方UniProt MCP服务器

非官方UniProt MCP服务器是一个全面的模型上下文协议(MCP)服务器,它提供了对UniProt蛋白质数据库的高级访问。该服务器拥有26种专业的生物信息学工具,使AI助手和MCP客户端能够通过UniProt的REST API直接进行复杂的蛋白质研究、比较基因组学、结构生物学分析和系统生物学研究。

增强自然开发

✨ 主要特性

核心蛋白质分析(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

安装步骤

  1. 克隆仓库:
git clone 
cd uniprot-server
  1. 安装依赖项:
npm install
  1. 构建项目:
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服务器运行

该服务器设计为通过标准输入输出进行通信的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(可选):生物体名称或分类学ID以过滤结果
  • size(可选):返回的结果数量(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(可选):生物体名称或分类学ID以过滤结果
  • size(可选):返回的结果数量(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. 蛋白质信息

  • URIuniprot://protein/{accession}
  • 描述:特定UniProt编号的完整蛋白质信息
  • 示例uniprot://protein/P01308

2. 蛋白质序列

  • URIuniprot://sequence/{accession}
  • 描述:FASTA格式的蛋白质序列
  • 示例uniprot://sequence/P01308

3. 搜索结果

  • URIuniprot://search/{query}
  • 描述:与查询匹配的蛋白质搜索结果
  • 示例uniprot://search/insulin

📚 详细文档

基本蛋白质搜索

在人类中搜索胰岛素蛋白质:

// 工具调用
{
"tool": "search_proteins",
"arguments": {
"query": "insulin",
"organism": "human",
"size": 10
}
}

获取详细蛋白质信息

检索人类胰岛素的全面信息:

// 工具调用
{
"tool": "get_protein_info",
"arguments": {
"accession": "P01308"
}
}

基于基因的搜索

查找与BRCA1基因相关的蛋白质:

// 工具调用
{
"tool": "search_by_gene",
"arguments": {
"gene": "BRCA1",
"organism": "human"
}
}

检索蛋白质序列

获取人类胰岛素的氨基酸序列:

// 工具调用
{
"tool": "get_protein_sequence",
"arguments": {
"accession": "P01308",
"format": "fasta"
}
}

分析蛋白质特征

获取人类胰岛素的功能结构域和特征:

// 工具调用
{
"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 - AgentUniProt-MCP-Server/1.0.0
  • 超时时间:30秒
  • 基础URLhttps://rest.uniprot.org(仅用于编程式访问)

🔧 技术细节

服务器包含全面的错误处理:

  • 输入验证:使用类型保护验证所有参数。
  • API错误:捕获网络和API错误,并返回描述性消息。
  • 超时处理:请求在30秒后超时。
  • 优雅降级:适当地处理部分失败。

项目构建

npm run build

开发模式

在监视模式下运行TypeScript编译器:

npm run dev

项目结构

uniprot-server/
├── src/
│   └── index.ts          # 主服务器实现
├── build/                # 编译后的JavaScript输出
├── package.json          # Node.js依赖项和脚本
├── tsconfig.json         # TypeScript配置
└── README.md            # 本文件

依赖项

  • @modelcontextprotocol/sdk:用于服务器实现的核心MCP SDK。
  • axios:用于UniProt API请求的HTTP客户端。
  • typescript:用于开发的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支持:采用安全最佳实践的多阶段构建。
  • 全面的文档:完整的工具参考和示例。
  • 由增强自然开发:专业的生物信息学平台。

📖 引用说明

如果您在研究或出版物中使用此项目,请按以下方式引用:

@misc{uniprotmcp2025,
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}
}
  • 0 关注
  • 0 收藏,15 浏览
  • system 提出于 2025-09-21 23:27

相似服务问题

相关AI产品