Ensembl MCP Server

Look up genes, fetch sequences, predict variant consequences, find orthologs and xrefs via Ensembl.

Remote serverstreamable-http

What is the Ensembl MCP server?

If you already use Ensembl, the ensembl mcp server is the piece that lets your assistant work with it directly. Look up genes, fetch sequences, predict variant consequences, find orthologs and xrefs via Ensembl.

What the server does

  • Declarative tool, resource, and prompt definitions — single file per primitive, framework handles registration and validation
  • Unified error handling — handlers throw, framework catches, classifies, and formats
  • Pluggable auth: none, jwt, oauth
  • Swappable storage backends: in-memory, filesystem, Supabase, Cloudflare KV/R2/D1
  • Structured logging with optional OpenTelemetry tracing
  • STDIO and Streamable HTTP transports

Available tools

The toolset is worth reading before you wire it up, because it tells you what the integration is really for:

  • 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 + 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
  • Prerequisites — The Prerequisites tool exposed by this server
  • Installation — The Installation tool exposed by this server

Installation

Because this one is hosted, setup is mostly authentication — you point your client at the endpoint and approve access. Nothing runs on your machine, so there is no runtime to keep patched.

Credentials and setup notes

Configuration is passed through the environment: MCP_TRANSPORT_TYPE, MCP_LOG_LEVEL, ENSEMBL_BASE_URL, MCP_HTTP_ENDPOINT_PATH. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.

  • Bun v1.3.14 or higher (or Node.js v24+). - No API key required — Ensembl REST is fully public.

Where it fits

Plenty of file and storage access servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Ensembl's toolset — ensembl_list_species, ensembl_lookup_gene, ensembl_get_sequence and 6 more — is a fair guide to whether it matches your workflow. It is maintained by cyanheads; worth a glance at recent repository activity before you build anything load-bearing on it.

We check each listing at SyncDev against the project's documentation before it goes live — if something here drifts out of date, it is a bug worth reporting.

Worth knowing first

  • Your data travels to the provider's service, so the usual questions apply about what you send and what they retain.
  • With 9 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Ensembl.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

Available tools

ToolWhat it does
ensembl_list_speciesList species supported by Ensembl with display name, common name, assembly, taxon ID, and division
ensembl_lookup_geneResolve a gene by symbol + species or by stable ID to its Ensembl ID, genomic location, biotype, and transcript list
ensembl_get_sequenceFetch the DNA, cDNA, CDS, or protein sequence for a gene, transcript, protein, or genomic region
ensembl_query_regionFind genomic features (genes, transcripts, variants, regulatory elements, exons) overlapping a chromosomal region
ensembl_predict_variantPredict functional consequences of a sequence variant using the Ensembl Variant Effect Predictor (VEP)
ensembl_get_homologyFind orthologs and/or paralogs of a gene across species with percent identity and taxonomy level
ensembl_get_xrefsRetrieve cross-database references for a gene — HGNC, UniProt, EntrezGene, OMIM, RefSeq, Reactome, and others
PrerequisitesThe Prerequisites tool exposed by this server.
InstallationThe Installation tool exposed by this server.

How to install the Ensembl MCP server

{
  "mcpServers": {
    "ensembl-mcp-server": {
      "type": "streamable-http",
      "url": "https://ensembl.caseyjhand.com/mcp"
    }
  }
}

Configuration as documented by the project. Restart the client after saving.

Configuration

  • Bun v1.3.14 or higher (or Node.js v24+). - No API key required — Ensembl REST is fully public.
VariableDescriptionRequired
MCP_TRANSPORT_TYPEConfiguration value read at startup.Optional
MCP_LOG_LEVELConfiguration value read at startup.Optional
ENSEMBL_BASE_URLEndpoint or connection string the server talks to.Yes
MCP_HTTP_ENDPOINT_PATHFilesystem location the server is allowed to use.Optional

Example prompts to try

  • Use Ensembl to ensembl list species.
  • Use Ensembl to ensembl lookup gene.
  • Use Ensembl to ensembl get sequence.

Frequently asked questions

It connects Ensembl to MCP-compatible AI assistants such as Claude and Cursor, exposing 9 tools (ensembl_list_species, ensembl_lookup_gene, ensembl_get_sequence, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Ensembl directly.