Ensembl-MCP-Server:基于 Ensembl REST API 的基因组数据访问 MCP 服务器项目

可便捷访问 Ensembl 庞大基因组数据库,支持基因查询、序列检索、变异分析、比较基因组学等功能,通过标准化 MCP 接口提供多物种数据及批量处理能力。【此简介由AI生成】

分支1Tags0
当前项目代码仓暂无内容

Logo

非官方 Ensembl MCP 服务器

一个全面的模型上下文协议(MCP)服务器,提供对 Ensembl REST API 的访问,用于获取基因组数据、比较基因组学和生物学注释。

Augmented Nature 开发

概述

本服务器通过标准化的 MCP 接口实现对 Ensembl 庞大基因组数据库的无缝访问。它支持跨多个物种的基因查询、序列检索、变异分析、比较基因组学、调控特征等多种功能。

功能

基因与转录本信息

  • 基因查询:通过 Ensembl ID 或基因符号获取详细的基因信息
  • 转录本分析:检索基因的所有转录本及其结构细节
  • 基因搜索:按名称、描述或标识符搜索基因,并提供筛选选项

序列数据

  • 基因组序列:提取任何基因组区域或特征的 DNA 序列
  • CDS 序列:获取特定转录本的编码序列
  • 序列翻译:将 DNA 序列翻译成蛋白质序列
  • 重复序列屏蔽:支持硬屏蔽和软屏蔽重复序列

比较基因组学

  • 同源基因检测:跨物种查找直系同源和旁系同源基因
  • 系统发育树:生成多种格式的基因家族树
  • 跨物种分析:比较不同生物的基因和基因组

变异数据

  • 变异检索:获取基因组区域中的遗传变异
  • 后果预测:预测变异对基因和转录本的影响
  • 群体遗传学:访问等位基因频率和群体数据

调控特征

  • 调控元件:访问增强子、启动子和 TFBS 数据
  • 基序特征:获取转录因子结合基序
  • 细胞类型背景:按细胞类型筛选调控特征

交叉引用与注释

  • 外部数据库链接:获取与 PDB、EMBL、RefSeq 等的交叉引用
  • 坐标映射:在不同基因组组装版本间转换坐标
  • 本体术语:访问 GO 术语和功能注释

物种与组装信息

  • 物种列表:浏览可用的物种和组装版本
  • 组装统计数据:获取基因组组装信息和统计数据
  • 核型数据:访问染色体信息和显带模式

批量处理

  • 批量基因查询:同时处理多个基因
  • 批量序列获取:高效检索多个区域的序列

安装

# Clone or download the server files
cd ensembl-server

# Install dependencies
npm install

# Build the server
npm run build

在 Claude 桌面端使用

设置说明

  1. 构建服务器(如果尚未构建):

    npm run build
    
  2. 添加到 Claude 桌面端配置

    • 打开 Claude 桌面端
    • 前往设置 → MCP 服务器
    • 添加新服务器,信息如下:
      • 名称ensembl
      • 命令node
      • 参数/path/to/ensembl-server/build/index.js
  3. 重启 Claude 桌面端以加载服务器

可用工具(共 25 个)

基因与转录本信息

  • lookup_gene - 通过稳定 ID 或符号获取详细的基因信息
  • get_transcripts - 获取基因的所有转录本及其详细结构
  • search_genes - 按名称、描述或标识符搜索基因

序列数据

  • get_sequence - 获取基因组坐标或基因/转录本 ID 的 DNA 序列
  • get_cds_sequence - 获取转录本的编码序列(CDS)
  • translate_sequence - 将 DNA 序列翻译成蛋白质序列

比较基因组学

  • get_homologs - 查找跨物种的直系同源和旁系同源基因
  • get_gene_tree - 获取基因家族的系统发育树

变异数据

  • get_variants - 获取基因组区域内的遗传变异
  • get_variant_consequences - 预测变异对基因和转录本的影响

调控特征

  • get_regulatory_features - 获取基因组区域内的调控元件
  • get_motif_features - 获取基因组区域内的转录因子结合基序

交叉引用与注释

  • get_xrefs - 获取基因的外部数据库交叉引用
  • map_coordinates - 在不同基因组组装版本间转换坐标

物种与组装信息

  • list_species - 获取可用物种和组装版本列表
  • get_assembly_info - 获取基因组组装信息和统计数据
  • get_karyotype - 获取染色体信息和核型

批量处理

  • batch_gene_lookup - 同时查询多个基因
  • batch_sequence_fetch - 获取多个区域或特征的序列

Claude 桌面版使用示例

连接成功后,您可以通过自然语言访问基因组数据:

  • "查询 BRCA2 基因并获取其序列"
  • "查找 TP53 在小鼠中的同源基因"
  • "获取 chr17:43044295-43125364 区域的变异"
  • "搜索与胰岛素相关的基因"
  • "获取人类基因组的组装信息"
  • "将此 DNA 序列翻译成蛋白质:ATGAAACGC..."

支持的物种

服务器支持 Ensembl 中所有可用的物种,包括:

  • 脊椎动物:人类、小鼠、大鼠、斑马鱼等
  • 植物:拟南芥、水稻、小麦等
  • 真菌:酵母等
  • 原生生物:多种原生生物物种
  • 后生动物:果蝇、秀丽隐杆线虫等

未指定时,默认物种为 homo_sapiens

输入格式

基因组区域

  • chr1:1000000-2000000 - 标准格式
  • 1:1000000-2000000 - 不带 'chr' 前缀
  • ENSG00000139618 - 特征 ID

基因/转录本 ID

  • Ensembl ID:ENSG00000139618ENST00000380152
  • 基因符号:BRCA2TP53
  • RefSeq ID:NM_000059

输出格式

主要格式

  • JSON:结构化数据(大多数工具的默认格式)
  • FASTA:序列数据
  • GFF:基因组特征格式
  • VCF:变异调用格式

树格式

  • JSON:结构化树数据
  • Newick:标准系统发育格式
  • PhyloXML:丰富的系统发育格式

错误处理

服务器提供全面的错误处理:

  • 无效参数:清晰的验证消息
  • API 错误:来自 Ensembl 的详细错误信息
  • 网络问题:超时和连接错误处理
  • 物种验证:自动物种名称验证

速率限制

服务器遵循 Ensembl 的速率限制准则:

  • 每秒最多 15 个请求
  • 批量操作之间的适当延迟
  • 连接池以提高效率

配置

环境变量

  • ENSEMBL_BASE_URL:覆盖默认 API 基础 URL
  • REQUEST_TIMEOUT:设置自定义超时时间(默认:30000ms)

物种配置

  • 默认物种:homo_sapiens
  • 自动物种验证
  • 支持所有 Ensembl 分类

API 覆盖范围

本服务器提供对主要 Ensembl REST API 端点的访问:

查找与搜索

  • /lookup/id/{id} - 基因/转录本查找
  • /search - 基因搜索功能

序列

  • /sequence/id/{id} - 特征序列
  • /sequence/region/{species}/{region} - 基因组序列

比较基因组学

  • /homology/id/{id} - 同源性数据
  • /genetree/id/{id} - 基因树

变异

  • /variation/region/{species}/{region} - 变异数据
  • /vep/species/{species}/region - 变异效应预测

调控

  • /regulatory/species/{species}/region/{region} - 调控特征
  • /regulatory/species/{species}/microarray/{region} - 基序特征

交叉引用

  • /xrefs/id/{id} - 外部数据库引用
  • /map/coords/{species}/{assembly}/{region} - 坐标映射

信息

  • /info/species - 可用物种
  • /info/assembly/{species} - 组装信息

支持

有关以下方面的问题:

贡献

欢迎贡献!请确保:

  • TypeScript 合规性
  • 全面的错误处理
  • 文档更新
  • 新功能的测试覆盖

相关工具

本服务器可与其他生物信息学 MCP 服务器良好集成:

  • UniProt Server:蛋白质数据集成
  • AlphaFold Server:三维结构预测
  • STRING Server:蛋白质相互作用网络
  • PDB Server:结构生物学数据

关于 Augmented Nature

此 Ensembl MCP Server 由 Augmented Nature 开发,该公司专注于构建用于科学研究和发现的人工智能驱动工具。

引用说明

如果您在研究或发表的成果中使用了本项目,请按以下格式引用:

author = {Moudather Chelbi},
title = {Ensembl MCP Server},
year = {2025},
howpublished = {https://github.com/Augmented-Nature/Ensembl-MCP-Server},
note = {Accessed: 2025-06-29}



项目介绍

可便捷访问 Ensembl 庞大基因组数据库,支持基因查询、序列检索、变异分析、比较基因组学等功能,通过标准化 MCP 接口提供多物种数据及批量处理能力。【此简介由AI生成】

定制我的领域