非官方Ensembl MCP服务器
一个全面的模型上下文协议(MCP)服务器,提供对Ensembl REST API的访问,以获取基因组数据、比较基因组学和生物注释。
由开发 增强自然
概述
该服务器通过标准化的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 Desktop
安装说明
- 构建服务器 (如果尚未完成):
npm run build- 添加到Claude桌面配置:
- 打开克劳德桌面 - 转到“设置”→ MCP服务器 - 使用以下命令添加新服务器: - 名字: ensembl - 命令: node - 参数: /path/to/ensembl-server/build/index.js
- 重新启动克劳德桌面 加载服务器
可用工具(共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序列翻译成蛋白质:ATGAAAGC…”
支持的物种
该服务器支持Ensembl中可用的所有物种,包括:
- 脊椎动物:人类、老鼠、大鼠、斑马鱼等。
- 植物:拟南芥、水稻、小麦等。
- 真菌:酵母等。
- 原生生物:各种原生生物物种
- 后生动物:果蝇、秀丽隐杆线虫等。
默认物种为 homo_sapiens 如果未指定。
输入格式
基因组区域
chr1:1000000-2000000-标准格式1:1000000-2000000-没有'chr'前缀ENSG00000139618-功能ID
基因/转录物ID
- Ensembl ID:
ENSG00000139618,ENST00000380152 - 基因符号:
BRCA2,TP53 - RefSeq ID:
NM_000059
输出格式
主要格式
- 对象符号:结构化数据(大多数工具的默认值)
- FASTA:序列数据
- GFF:基因组特征格式
- VCF:变量调用格式
树格式
- 对象符号:结构化树数据
- 纽威克:标准系统发育格式
- PhyloXML:丰富的系统发育格式
错误处理
服务器提供全面的错误处理:
- 无效参数:清除验证消息
- API错误:来自Ensembl的详细错误信息
- 网络问题:超时和连接错误处理
- 物种验证:自动物种名称验证
速率限制
服务器遵守Ensembl的速率限制准则:
- 每秒最多15个请求
- 批处理操作之间的适当延迟
- 连接池提高效率
配置
环境变量
ENSEMBL_BASE_URL:覆盖默认的API基础URLREQUEST_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服务器:三维结构预测
- STRING服务器:蛋白质相互作用网络
- PDB服务器:结构生物学数据
关于增强自然
Ensembl MCP服务器由 增强自然,一家专注于为科学研究和发现构建人工智能工具的公司。
引用
如果您在研究或出版物中使用此项目,请按如下方式引用:
author = {Moudather Chelbi},
title = {Ensembl MCP Server},
year = {2025},
howpublished = {https://github.com/Augmented-Nature/Ensembl-MCP-Server},
note = {Accessed: 2025-06-29}