Skip to main content
Glama

Ensembl MCP Server

🧬 Ensembl API MCP Server

A full-featured Model Context Protocol (MCP) server that exposes Ensembl’s REST API. Built using the TypeScript MCP SDK

  • Comprehensive coverage – 10 tools map to functional areas instead of 100 + individual endpoints, yet still expose nearly the whole API.
  • Production-ready – TypeScript throughout, robust error handling, and a tidy API-client layer.
  • Biologist-friendly – grouped by biological task (genes, variants, compara…), not by low-level REST paths.

Listed on:


Use cases:

  • 🧬 Gene information – fetch details by ID or symbol
  • 🔍 Gene search – scan genes across any species
  • 🧬 Sequence retrieval – pull DNA for any genomic region
  • 🔬 Variant data – explore variants and their annotations
  • 📊 Transcript info – inspect transcripts and isoforms
  • 🌍 Multi-species – every species in Ensembl, right here
  • 🔗 Cross-references – hop to external databases in one call
  • Rate-limited – built-in throttling keeps you within Ensembl limits

Installation

Choose your preferred installation method:

Option 1: Via Smithery

  1. Visit Smithery - Ensembl MCP Server. The most common platform options include:
# 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

Check the MCP's smithery link for additional platform options.

Option 2: Via Glama

Install directly through Glama:

  1. Visit Glama - Ensembl MCP Server
  2. Follow the one-click installation instructions for your MCP client

Option 3: Local Development Setup

For development or custom setups:

  1. Clone and install dependencies:
    git clone https://github.com/effieklimi/ensembl-mcp-server.git cd ensembl-mcp-server npm install
  2. Configure Claude Desktop manually:Edit your config file:
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%/Claude/claude_desktop_config.json

    Add this server configuration:

    { "mcpServers": { "ensembl": { "command": "npm", "args": ["run", "start"], "cwd": "/absolute/path/to/ensembl-mcp-server" } } }
  3. Restart Claude Desktop - The Ensembl tools will appear in your available tools

Development Setup

# Development with hot reload npm run dev # Run tests npm test # Production build (optional) npm run build npm run start:prod

Contributing

We'd love your help! Here's how to get started:

Quick Contact

Development Workflow

  1. Fork the repository
  2. Clone your fork:
    git clone https://github.com/YOUR_USERNAME/ensembl-mcp-server.git cd ensembl-mcp-server
  3. Install dependencies:
    npm install
  4. Run tests to make sure everything works:
    npm test
  5. Start development server:
    npm run dev
  6. Make your changes and test thoroughly
  7. Submit a pull request

Available Scripts

  • npm run dev - Development with hot reload
  • npm run start - Run the server
  • npm test - Run all tests
  • npm run build - Compile TypeScript (optional)
  • npm run start:prod - Run compiled version

The ten tools (with endpoints)

1 · ensembl_feature_overlap

Find genes, transcripts, or regulatory elements that overlap a region or another feature.

GET /overlap/region/:species/:region GET /overlap/id/:id

Typical asks: “Which genes sit in chr17:43-44 Mb?” – “What overlaps BRCA1?”


2 · ensembl_regulatory

Regulatory features, binding matrices and related annotations.

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

Use cases: TF-binding sites, regulatory annotation.


3 · ensembl_protein_features

Protein-level domains and functional sites.

GET /overlap/translation/:id

Use cases: protein domains, signal peptides, catalytic residues.


4 · ensembl_meta

Server metadata, species lists, release info, and diagnostics.

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

Typical asks: “Which assemblies do you have for human?” – server health checks.


5 · ensembl_lookup

Translate IDs ↔ symbols, pull xrefs, recode variants.

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

Use cases: “What is BRCA1’s Ensembl ID?” – cross-reference UniProt.


6 · ensembl_sequence

Retrieve DNA, RNA or protein sequences.

GET /sequence/id/:id GET /sequence/region/:species/:region POST /sequence/id POST /sequence/region

Use cases: gene FASTA, transcript cDNA, genomic regions.


7 · ensembl_mapping

Coordinate conversion (genome ↔ cDNA/CDS/protein) and assembly lift-over.

GET /map/cdna/:id/:region GET /map/cds/:id/:region GET /map/translation/:id/:region GET /map/:species/:asm_one/:region/:asm_two

Use cases: map CDS to GRCh38, convert protein to genome coords.


8 · ensembl_compara

Comparative genomics—homology, gene trees, alignments.

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

Use cases: find orthologs, build phylogenies, pull species alignments.


9 · ensembl_variation

Variant lookup, VEP consequences, LD, phenotype mapping.

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

Use cases: VEP predictions, LD blocks, phenotype associations.


10 · ensembl_ontotax

Ontology term search and NCBI taxonomy traversal.

GET /ontology/id/:id GET /ontology/name/:name GET /taxonomy/id/:id GET /taxonomy/name/:name

Use cases: GO term look-up, phenotype ontology, taxonomic classification.


Installing via Smithery

To install ensembl-mcp-server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @effieklimi/ensembl-mcp-server --client claude
-
security - not tested
A
license - permissive license
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

A Model Context Protocol server providing LLMs with access to the Ensembl genomics database, enabling AI assistants to query gene information, sequences, variants, and other genomic data across multiple species.

  1. Listed on:
    1. Use cases:
      1. Installation
        1. Option 1: Via Smithery
        2. Option 2: Via Glama
        3. Option 3: Local Development Setup
        4. Development Setup
      2. Contributing
        1. Quick Contact
        2. Development Workflow
        3. Available Scripts
      3. The ten tools (with endpoints)
        1. 1 · ensembl_feature_overlap
        2. 2 · ensembl_regulatory
        3. 3 · ensembl_protein_features
        4. 4 · ensembl_meta
        5. 5 · ensembl_lookup
        6. 6 · ensembl_sequence
        7. 7 · ensembl_mapping
        8. 8 · ensembl_compara
        9. 9 · ensembl_variation
        10. 10 · ensembl_ontotax
        11. Installing via Smithery

      Related MCP Servers

      • -
        security
        F
        license
        -
        quality
        A Model Context Protocol server that enables LLMs to interact with Elasticsearch clusters, allowing them to manage indices and execute search queries using natural language.
        Last updated -
        1
        JavaScript
      • -
        security
        A
        license
        -
        quality
        A Model Context Protocol server that enables LLMs to interact directly with MongoDB databases, allowing users to query collections, inspect schemas, and manage data through natural language.
        Last updated -
        340
        TypeScript
        MIT License
        • Apple
      • -
        security
        F
        license
        -
        quality
        A Model Context Protocol server that provides AI assistants with structured access to your Logseq knowledge graph, enabling retrieval, searching, analysis, and creation of content within your personal knowledge base.
        Last updated -
        19
        TypeScript
        • Apple
      • -
        security
        A
        license
        -
        quality
        A Model Context Protocol server that enables LLMs to interact directly with MongoDB databases, allowing users to query collections, inspect schemas, and manage data through natural language.
        Last updated -
        340
        MIT License
        • Apple

      View all related MCP servers

      MCP directory API

      We provide all the information about MCP servers via our MCP API.

      curl -X GET 'https://glama.ai/api/mcp/v1/servers/effieklimi/ensembl-mcp-server'

      If you have feedback or need assistance with the MCP directory API, please join our Discord server