使用说明
🧬 Ensembl API MCP服务器
一个功能齐全的模型上下文协议(MCP)服务器,用于公开Ensembl的REST API。使用 TypeScript MCP SDK
- 全面覆盖 –10个工具映射到功能区域,而不是100多个单独的端点,但仍然暴露了几乎整个API。
- 生产准备就绪 –贯穿始终的TypeScript、强大的错误处理和整洁的API客户端层。
- 生物学家友好 -按生物任务(基因、变异、比较……)分组,而不是按低级REST路径分组。
上市时间:
使用案例:
- 🧬 基因信息 –通过ID或符号获取详细信息
- 🔍 基因搜索 –扫描任何物种的基因
- 🧬 序列检索 -提取任何基因组区域的DNA
- 🔬 变量数据 –探索变体及其注释
- 📊 成绩单信息 –检查转录本和异构体
- 🌍 多物种 恩森布尔的每一个物种,就在这里
- 🔗 交叉引用 –一次调用即可跳转到外部数据库
- ⚡ 频率限制 –内置节流功能可使您保持在Ensembl限制范围内
安装
选择您喜欢的安装方法:
方案1:通过史密瑟里
- 访问 Smithery-Ensembl MCP服务器最常见的平台选项包括:
# claude code:
npx -y @smithery/cli@latest install @effieklimi/ensembl-mcp-server --client claude --key your-smithery-secret-key
# cursor:
npx -y @smithery/cli@latest install @effieklimi/ensembl-mcp-server --client cursor --key your-smithery-secret-key
# vscode:
npx -y @smithery/cli@latest install @effieklimi/ensembl-mcp-server --client vscode --key your-smithery-secret-key
# windsurf:
npx -y @smithery/cli@latest install @effieklimi/ensembl-mcp-server --client windsurf --key your-smithery-secret-key
检查MCP的smithery链接,了解其他平台选项。
选项2:地方发展设置
对于开发或自定义设置:
-
克隆和安装依赖关系:
git clone https://github.com/effieklimi/ensembl-mcp-server.git cd ensembl-mcp-server npm install -
手动配置Claude Desktop:
编辑您的配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 窗户:
%APPDATA%/Claude/claude_desktop_config.json
添加此服务器配置:
{ "mcpServers": { "ensembl": { "command": "npm", "args": ["run", "start"], "cwd": "/absolute/path/to/ensembl-mcp-server" } } } - macOS:
-
重新启动克劳德桌面 -Ensembl工具将出现在您可用的工具中
开发设置
# Development with hot reload
npm run dev
# Run tests
npm test
# Production build (optional)
npm run build
npm run start:prod
贡献
我们很乐意得到你的帮助!以下是如何开始:
快速联系
- 给开发人员发电子邮件: effie@effie.bio
开发工作流程
- 分叉存储库
- 克隆你的叉子:
git clone https://github.com/YOUR_USERNAME/ensembl-mcp-server.git cd ensembl-mcp-server - 安装依赖项:
npm install - 运行测试以确保一切正常:
npm test - 启动开发服务器:
npm run dev - 进行更改并彻底测试
- 提交拉取请求
可用脚本
npm run dev-热重载开发npm run start-运行服务器npm test-运行所有测试npm run build-编译TypeScript(可选)npm run start:prod-运行编译版本
十种工具(带端点)
1 · ensembl_feature_overlap
查找与某一区域或其他特征重叠的基因、转录本或调控元件。
GET /overlap/region/:species/:region
GET /overlap/id/:id
典型的问题是:“哪些基因位于chr17:43-44Mb中?”——“哪些基因与BRCA1重叠?”
2 · ensembl_regulatory
监管特征、约束矩阵和相关注释。
GET /overlap/region/:species/:region (with regulatory filters)
GET /overlap/translation/:id (regulatory features on proteins)
GET /species/:species/binding_matrix/:binding_matrix_stable_id
用例:TF结合位点、监管注释。
3 · ensembl_protein_features
蛋白质水平结构域和功能位点。
GET /overlap/translation/:id
用例:蛋白质结构域、信号肽、催化残基。
4 · ensembl_meta
服务器元数据、物种列表、发布信息和诊断。
GET /info/ping
GET /info/rest
GET /info/software
GET /info/data
GET /info/species
GET /info/divisions
GET /info/assembly/:species
GET /info/biotypes/:species
GET /info/analysis/:species
GET /info/external_dbs/:species
GET /info/variation/:species
GET /archive/id/:id
POST /archive/id
典型的问题是:“您有哪些人类程序集?”——服务器健康检查。
5 · ensembl_lookup
翻译ID↔ 符号、拉取外部参照、重新编码变体。
GET /lookup/id/:id
GET /lookup/symbol/:species/:symbol
POST /lookup/id
POST /lookup/symbol
GET /xrefs/id/:id
GET /xrefs/symbol/:species/:symbol
GET /xrefs/name/:species/:name
GET /variant_recoder/:species/:id
POST /variant_recoder/:species
用例:“BRCA1的Ensembl ID是什么?”-交叉引用UniProt。
6 · ensembl_sequence
检索DNA、RNA或蛋白质序列。
GET /sequence/id/:id
GET /sequence/region/:species/:region
POST /sequence/id
POST /sequence/region
用例:基因FASTA、转录物cDNA、基因组区域。
7 · ensembl_mapping
坐标转换(基因组↔ cDNA/CDS/蛋白质)和组装翻转。
GET /map/cdna/:id/:region
GET /map/cds/:id/:region
GET /map/translation/:id/:region
GET /map/:species/:asm_one/:region/:asm_two
用例:将CDS映射到GRCh38,将蛋白质转化为基因组坐标。
8 · ensembl_compara
比较基因组学——同源性、基因树、比对。
GET /homology/id/:species/:id
GET /homology/symbol/:species/:symbol
GET /genetree/id/:id
GET /genetree/member/symbol/:species/:symbol
GET /genetree/member/id/:species/:id
GET /cafe/genetree/id/:id
GET /cafe/genetree/member/symbol/:species/:symbol
GET /cafe/genetree/member/id/:species/:id
GET /alignment/region/:species/:region
用例:查找直系同源物,构建系统发育,绘制物种比对。
9 · ensembl_variation
变异查找、VEP后果、LD、表型作图。
GET /variation/:species/:id
GET /variation/:species/pmcid/:pmcid
GET /variation/:species/pmid/:pmid
POST /variation/:species
GET /vep/:species/hgvs/:hgvs_notation
POST /vep/:species/hgvs
GET /vep/:species/id/:id
POST /vep/:species/id
GET /vep/:species/region/:region/:allele
POST /vep/:species/region
GET /ld/:species/:id/:population_name
GET /phenotype/variant/:species/:id
GET /phenotype/region/:species/:region
GET /transcript_haplotypes/:species/:id
用例:VEP预测、LD块、表型关联。
10 · ensembl_ontotax
本体术语搜索和NCBI分类遍历。
GET /ontology/id/:id
GET /ontology/name/:name
GET /taxonomy/id/:id
GET /taxonomy/name/:name
用例:GO术语查找、表型本体、分类。
通过Smithery安装
通过以下方式自动为Claude Desktop安装ensemble mcp服务器 史密瑟里:
npx -y @smithery/cli install @effieklimi/ensembl-mcp-server --client claude