Ensembl MCP Server
🚀 非官方Ensembl MCP服务器
这是一个全面的模型上下文协议(MCP)服务器,可通过它访问Ensembl REST API,获取基因组数据、进行比较基因组学研究以及获取生物注释信息。
由 增强自然 开发
🚀 快速开始
本服务器通过标准化的MCP接口,让用户能够无缝访问Ensembl庞大的基因组数据库。它支持在多个物种中进行基因查询、序列检索、变异分析、比较基因组学研究、调控特征分析等诸多操作。
✨ 主要特性
基因与转录本信息
- 基因查询:通过Ensembl ID或基因符号获取详细的基因信息。
- 转录本分析:检索某个基因的所有转录本,并获取其结构细节。
- 基因搜索:可按名称、描述或标识符搜索基因,并支持过滤选项。
序列数据
- 基因组序列:提取任何基因组区域或特征的DNA序列。
- CDS序列:获取特定转录本的编码序列。
- 序列翻译:将DNA序列翻译成蛋白质序列。
- 重复序列屏蔽:支持硬屏蔽和软屏蔽重复序列。
比较基因组学
- 同源基因检测:查找不同物种间的直系同源和旁系同源基因。
- 系统发育树:以多种格式生成基因家族树。
- 跨物种分析:比较不同生物体的基因和基因组。
变异数据
- 变异检索:获取基因组区域内的遗传变异。
- 后果预测:预测变异对基因和转录本的影响。
- 群体遗传学:获取等位基因频率和群体数据。
调控特征
- 调控元件:访问增强子、启动子和转录因子结合位点(TFBS)数据。
- 基序特征:获取转录因子结合基序。
- 细胞类型上下文:按细胞类型过滤调控特征。
交叉引用与注释
- 外部数据库链接:获取与PDB、EMBL、RefSeq等数据库的交叉引用。
- 坐标映射:在不同基因组组装之间转换坐标。
- 本体术语:访问GO术语和功能注释。
物种与组装信息
- 物种列表:浏览可用的物种和组装。
- 组装统计:获取基因组组装信息和统计数据。
- 核型数据:访问染色体信息和带型模式。
批量处理
- 批量基因查询:同时处理多个基因。
- 批量序列获取:高效检索多个区域的序列。
📦 安装指南
# 克隆或下载服务器文件
cd ensembl-server
# 安装依赖
npm install
# 构建服务器
npm run build
💻 使用示例
与Claude Desktop配合使用
设置说明
- 构建服务器(如果尚未完成):
npm run build - 添加到Claude Desktop配置:
- 打开Claude Desktop。
- 转到设置 → MCP服务器。
- 添加一个新服务器,设置如下:
- 名称:
ensembl - 命令:
node - 参数:
/path/to/ensembl-server/build/index.js
- 名称:
- 重启Claude Desktop 以加载服务器。
可用工具(共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 Desktop中的使用示例
连接成功后,您可以使用自然语言访问基因组数据:
- "查找BRCA2基因并获取其序列"
- "查找TP53在小鼠中的直系同源基因"
- "获取chr17:43044295 - 43125364区域内的变异"
- "搜索与胰岛素相关的基因"
- "获取人类基因组的组装信息"
- "将此DNA序列翻译成蛋白质:ATGAAACGC..."
📚 详细文档
支持的物种
本服务器支持Ensembl中所有可用的物种,包括:
- 脊椎动物:人类、小鼠、大鼠、斑马鱼等。
- 植物:拟南芥、水稻、小麦等。
- 真菌:酵母等。
- 原生生物:各种原生生物物种。
- 后生动物:果蝇、秀丽隐杆线虫等。
若未指定,默认物种为
homo_sapiens。
输入格式
基因组区域
chr1:1000000 - 2000000- 标准格式1:1000000 - 2000000- 无 'chr' 前缀ENSG00000139618- 特征ID
基因/转录本ID
- Ensembl ID:
ENSG00000139618,ENST00000380152 - 基因符号:
BRCA2,TP53 - 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}- 组装信息
支持
若遇到以下相关问题:
- 服务器功能:检查服务器日志和错误消息。
- Ensembl数据:参考 Ensembl文档。
- API使用:查看 Ensembl REST API指南。
贡献
欢迎贡献代码!请确保:
- 符合TypeScript规范。
- 提供全面的错误处理。
- 更新文档。
- 为新功能提供测试覆盖。
相关工具
本服务器可与其他生物信息学MCP服务器很好地集成:
- UniProt服务器:蛋白质数据集成。
- AlphaFold服务器:3D结构预测。
- STRING服务器:蛋白质相互作用网络。
- PDB服务器:结构生物学数据。
关于增强自然
此Ensembl MCP服务器由 增强自然 开发,该公司专注于构建用于科学研究和发现的人工智能工具。
引用
如果您在研究或出版物中使用了本项目,请按以下方式引用:
@misc{ensemblmcp2025,
author = {Moudather Chelbi},
title = {Ensembl MCP Server},
year = {2025},
howpublished = {https://github.com/Augmented-Nature/Ensembl-MCP-Server},
note = {Accessed: 2025-06-29}
}

Figma Context MCP
Framelink Figma MCP Server是一个为AI编程工具(如Cursor)提供Figma设计数据访问的服务器,通过简化Figma API响应,帮助AI更准确地实现设计到代码的一键转换。
TypeScript
62.3K
4.5分

Duckduckgo MCP Server
已认证
DuckDuckGo搜索MCP服务器,为Claude等LLM提供网页搜索和内容抓取服务
Python
68.2K
4.3分

Firecrawl MCP Server
Firecrawl MCP Server是一个集成Firecrawl网页抓取能力的模型上下文协议服务器,提供丰富的网页抓取、搜索和内容提取功能。
TypeScript
116.4K
5分

Edgeone Pages MCP Server
EdgeOne Pages MCP是一个通过MCP协议快速部署HTML内容到EdgeOne Pages并获取公开URL的服务
TypeScript
27.9K
4.8分

Baidu Map
已认证
百度地图MCP Server是国内首个兼容MCP协议的地图服务,提供地理编码、路线规划等10个标准化API接口,支持Python和Typescript快速接入,赋能智能体实现地图相关功能。
Python
41.3K
4.5分

Minimax MCP Server
MiniMax Model Context Protocol (MCP) 是一个官方服务器,支持与强大的文本转语音、视频/图像生成API交互,适用于多种客户端工具如Claude Desktop、Cursor等。
Python
51.6K
4.8分

Context7
Context7 MCP是一个为AI编程助手提供实时、版本特定文档和代码示例的服务,通过Model Context Protocol直接集成到提示中,解决LLM使用过时信息的问题。
TypeScript
85.2K
4.7分

Exa Web Search
已认证
Exa MCP Server是一个为AI助手(如Claude)提供网络搜索功能的服务器,通过Exa AI搜索API实现实时、安全的网络信息获取。
TypeScript
45.8K
5分