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
56.9K
4.5分

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

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

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

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

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

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

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