Used as the runtime environment for the MCP server, enabling the execution of TypeScript/JavaScript code for genomic data querying
Used as the programming language for implementing the MCP server, providing type safety for genomic data structures and API interactions
🧬 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
Visit Smithery - Ensembl MCP Server. The most common platform options include:
Check the MCP's smithery link for additional platform options.
Option 2: Local Development Setup
For development or custom setups:
Clone and install dependencies:
git clone https://github.com/effieklimi/ensembl-mcp-server.git cd ensembl-mcp-server npm installConfigure Claude Desktop manually:
Edit your config file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%/Claude/claude_desktop_config.json
Add this server configuration:
{ "mcpServers": { "ensembl": { "command": "npm", "args": ["run", "start"], "cwd": "/absolute/path/to/ensembl-mcp-server" } } }Restart Claude Desktop - The Ensembl tools will appear in your available tools
Development Setup
Contributing
We'd love your help! Here's how to get started:
Quick Contact
Email the dev: effie@effie.bio
Development Workflow
Fork the repository
Clone your fork:
git clone https://github.com/YOUR_USERNAME/ensembl-mcp-server.git cd ensembl-mcp-serverInstall dependencies:
npm installRun tests to make sure everything works:
npm testStart development server:
npm run devMake your changes and test thoroughly
Submit a pull request
Available Scripts
npm run dev- Development with hot reloadnpm run start- Run the servernpm test- Run all testsnpm 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.
Typical asks: “Which genes sit in chr17:43-44 Mb?” – “What overlaps BRCA1?”
2 · ensembl_regulatory
Regulatory features, binding matrices and related annotations.
Use cases: TF-binding sites, regulatory annotation.
3 · ensembl_protein_features
Protein-level domains and functional sites.
Use cases: protein domains, signal peptides, catalytic residues.
4 · ensembl_meta
Server metadata, species lists, release info, and diagnostics.
Typical asks: “Which assemblies do you have for human?” – server health checks.
5 · ensembl_lookup
Translate IDs ↔ symbols, pull xrefs, recode variants.
Use cases: “What is BRCA1’s Ensembl ID?” – cross-reference UniProt.
6 · ensembl_sequence
Retrieve DNA, RNA or protein sequences.
Use cases: gene FASTA, transcript cDNA, genomic regions.
7 · ensembl_mapping
Coordinate conversion (genome ↔ cDNA/CDS/protein) and assembly lift-over.
Use cases: map CDS to GRCh38, convert protein to genome coords.
8 · ensembl_compara
Comparative genomics—homology, gene trees, alignments.
Use cases: find orthologs, build phylogenies, pull species alignments.
9 · ensembl_variation
Variant lookup, VEP consequences, LD, phenotype mapping.
Use cases: VEP predictions, LD blocks, phenotype associations.
10 · ensembl_ontotax
Ontology term search and NCBI taxonomy traversal.
Use cases: GO term look-up, phenotype ontology, taxonomic classification.
Installing via Smithery
To install ensembl-mcp-server for Claude Desktop automatically via Smithery: