Look up genes, fetch sequences, predict variant consequences, find orthologs, and retrieve cross-database…
@cyanheads/ensembl-mcp-server
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
Look up genes, fetch sequences, predict variant consequences, find orthologs, and retrieve cross-database xrefs from Ensembl REST via MCP. STDIO or Streamable HTTP.
7 Tools • 4 Resources • 1 Prompt
**Public Hosted Server:** https://ensembl.caseyjhand.com/mcp
---
Overview
Gene, sequence, and variant data for vertebrates and other model organisms from the Ensembl REST API. Look up genes, fetch sequences, predict variant consequences, find orthologs, and cross-reference external databases from any MCP client. Runs as a stdio process, a local Streamable HTTP server, or the public hosted endpoint above.
Tools
| Tool | Description |
|:-----|:------------|
| ensembl_list_species | List species supported by Ensembl with display name, common name, assembly, taxon ID, and division |
| ensembl_lookup_gene | Resolve a gene by symbol (synonyms and former symbols included) + species or by stable ID to its Ensembl ID, genomic location, biotype, and transcript list |
| ensembl_get_sequence | Fetch the DNA, cDNA, CDS, or protein sequence for a gene, transcript, protein, or genomic region |
| ensembl_query_region | Find genomic features (genes, transcripts, variants, regulatory elements, exons) overlapping a chromosomal region |
| ensembl_predict_variant | Predict functional consequences of a sequence variant using the Ensembl Variant Effect Predictor (VEP) |
| ensembl_get_homology | Find orthologs and/or paralogs of a gene across species with percent identity and taxonomy level |
| ensembl_get_xrefs | Retrieve cross-database references for a gene — HGNC, UniProt, EntrezGene, OMIM, RefSeq, Reactome, and others |
Resources
| Resource | Description |
|:---|:---|
| ensembl://gene/{id} | Gene record by stable ID (ENSG…) — location, biotype, description, and transcript list |
| ensembl://transcript/{id} | Transcript record by stable ID (ENST…) — parent gene, location, biotype, canonical flag, and length |
| ensembl://species | Supported Ensembl species for the endpoint default division (vertebrates on the default endpoint) |
| ensembl://species/{division} | Supported species in one division (EnsemblVertebrates, EnsemblPlants, EnsemblFungi, EnsemblMetazoa, EnsemblProtists) |
The species resources return the first 50 species by internal name; the ensembl_list_species tool pages through the rest and filters by name.
Prompts
| Prompt | Description |
|:---|:---|
| ensembl_gene_dossier | Structured workflow for assembling a complete gene profile: symbol → ID + location → sequence → variants → orthologs → xrefs |
Capability reference
Ensembl's stable-ID endpoints answer a versioned ID (ENSG00000139618.19) as not found, so every tool and resource that takes an Ensembl stable ID drops a trailing .N from an ENS… ID before the request and returns the current version. HGVS input to ensembl_predict_variant (ENST00000380152.8:c.2T>A) keeps its version, and IDs from other sources (AT3G52430.1) are forwarded unchanged.
ensembl_list_species tool
- Optional division (EnsemblVertebrates, EnsemblPlants, EnsemblFungi, EnsemblMetazoa, EnsemblProtists; omitted, the endpoint default — vertebrates, ~356 species on GRCh38) and nameContains, a substring match against name, display name, and common name
- Returns the internal name every other tool expects (homo_sapiens), plus display name, common name, taxon ID, assembly, and division
- Sorted by internal name and paged by offset (default 0) and max_results (default 50, 0 uncapped); totalCount reports every match, and nextOffset is where the next page starts when more follow
---
ensembl_lookup_gene tool
- Exactly one of symbol (+ species, default homo_sapiens), id, ids, or symbols (batches up to 20); expand_transcripts (default false) adds the transcript list with biotype and canonical flag
- A symbol that is not a current gene name falls back to synonyms and former symbols (HER2 → ERBB2, maize TB1 → TCP1), reported as matchedAlias; patch and haplotype copies are set aside, and a name still shared by several genes (MDR1) returns ambiguous with the candidates to retry by id