mcpField
U
Unofficial UniProt MCP Server

Unofficial UniProt MCP Server

本地服务
github.com/Augmented-Nature科研与教育2144 周前更新

关于 Unofficial UniProt MCP Server

Unofficial UniProt MCP Server 是一个非官方的 MCP 服务,通过 UniProt REST API 提供 26 个蛋白质信息相关工具。它面向需要查询蛋白质功能、序列、结构与同源关系的生物信息学研究者,覆盖范围较广。

主要功能

  1. 01蛋白质检索与详细信息查询
  2. 02氨基酸序列获取(FASTA / JSON)
  3. 03结构、结构域与变异信息分析
  4. 04同源与直系同源蛋白发现
  5. 05通路、相互作用与亚细胞定位查询
  6. 06批量处理与高级过滤检索

适用场景

  1. 01按基因名或蛋白名查找人类蛋白质并获取序列
  2. 02比较多个物种中的同源蛋白
  3. 03为蛋白质功能与疾病相关变异的研究收集数据

MCP 相关

该项目是 MCP 服务,向 MCP 客户端暴露 26 个工具以及 uniprot:// 资源模板,用于按登录号或查询词访问 UniProt 数据。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"augmented-nature-uniprot-mcp-server-augmented-nature": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"build"
]
}
}
}
启动命令docker run -i --rm build

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocibuild

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

非官方 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
设置
  1. 克隆仓库:
git clone <repository-url>
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 服务

该服务设计为通过 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(可选):用于筛选结果的物种名称或分类 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. 蛋白质信息
  • 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 的更多信息:

所有 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 许可证

贡献

  1. Fork 此代码库
  2. 创建功能分支
  3. 进行更改
  4. 适用时添加测试
  5. 提交拉取请求

支持

如有问题或疑问:

  1. 查看 UniProt API 文档
  2. 查阅 Model Context Protocol 规范
  3. 在代码库中提交问题

关于 Augmented Nature

这款全面的 UniProt MCP 服务由 Augmented Nature 开发。Augmented Nature 是 AI 生物信息学和计算生物学解决方案领域的领先创新者,专注于打造先进工具,弥合人工智能与生物学研究之间的鸿沟,帮助研究人员从生物数据中发掘更深层次的见解。

完整工具参考

核心蛋白质分析工具
  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 支持:采用安全最佳实践的多阶段构建
  • 全面的文档:完整的工具参考和示例
  • 由 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}

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。