Ensembl MCP Server

Ensembl MCP Server

A comprehensive Model Context Protocol (MCP) server that provides access to the Ensembl REST API for genomic data, comparative genomics, and biological annotations.

Category
Visit Server

README

Logo

Unofficial Ensembl MCP Server

A comprehensive Model Context Protocol (MCP) server that provides access to the Ensembl REST API for genomic data, comparative genomics, and biological annotations.

Developed by Augmented Nature

Overview

This server enables seamless access to Ensembl's vast genomic database through a standardized MCP interface. It supports gene lookups, sequence retrieval, variant analysis, comparative genomics, regulatory features, and much more across multiple species.

Features

Gene & Transcript Information

  • Gene Lookup: Get detailed gene information by Ensembl ID or gene symbol
  • Transcript Analysis: Retrieve all transcripts for a gene with structural details
  • Gene Search: Search genes by name, description, or identifier with filtering options

Sequence Data

  • Genomic Sequences: Extract DNA sequences for any genomic region or feature
  • CDS Sequences: Get coding sequences for specific transcripts
  • Sequence Translation: Translate DNA sequences to protein sequences
  • Repeat Masking: Support for hard and soft repeat masking

Comparative Genomics

  • Homolog Detection: Find orthologous and paralogous genes across species
  • Phylogenetic Trees: Generate gene family trees in multiple formats
  • Cross-Species Analysis: Compare genes and genomes across different organisms

Variant Data

  • Variant Retrieval: Get genetic variants in genomic regions
  • Consequence Prediction: Predict variant effects on genes and transcripts
  • Population Genetics: Access allele frequencies and population data

Regulatory Features

  • Regulatory Elements: Access enhancers, promoters, and TFBS data
  • Motif Features: Get transcription factor binding motifs
  • Cell Type Context: Filter regulatory features by cell type

Cross-References & Annotations

  • External Database Links: Get cross-references to PDB, EMBL, RefSeq, etc.
  • Coordinate Mapping: Convert coordinates between genome assemblies
  • Ontology Terms: Access GO terms and functional annotations

Species & Assembly Information

  • Species Lists: Browse available species and assemblies
  • Assembly Statistics: Get genome assembly information and statistics
  • Karyotype Data: Access chromosome information and banding patterns

Batch Processing

  • Batch Gene Lookup: Process multiple genes simultaneously
  • Batch Sequence Fetch: Retrieve sequences for multiple regions efficiently

Installation

# Clone or download the server files
cd ensembl-server

# Install dependencies
npm install

# Build the server
npm run build

Usage with Claude Desktop

Setup Instructions

  1. Build the server (if not already done):

    npm run build
    
  2. Add to Claude Desktop configuration:

    • Open Claude Desktop
    • Go to Settings → MCP Servers
    • Add a new server with:
      • Name: ensembl
      • Command: node
      • Args: /path/to/ensembl-server/build/index.js
  3. Restart Claude Desktop to load the server

Available Tools (25 total)

Gene & Transcript Information

  • lookup_gene - Get detailed gene information by stable ID or symbol
  • get_transcripts - Get all transcripts for a gene with detailed structure
  • search_genes - Search for genes by name, description, or identifier

Sequence Data

  • get_sequence - Get DNA sequence for genomic coordinates or gene/transcript ID
  • get_cds_sequence - Get coding sequence (CDS) for a transcript
  • translate_sequence - Translate DNA sequence to protein sequence

Comparative Genomics

  • get_homologs - Find orthologous and paralogous genes across species
  • get_gene_tree - Get phylogenetic tree for gene family

Variant Data

  • get_variants - Get genetic variants in a genomic region
  • get_variant_consequences - Predict consequences of variants on genes and transcripts

Regulatory Features

  • get_regulatory_features - Get regulatory elements in genomic region
  • get_motif_features - Get transcription factor binding motifs in genomic region

Cross-References & Annotations

  • get_xrefs - Get external database cross-references for genes
  • map_coordinates - Convert coordinates between genome assemblies

Species & Assembly Information

  • list_species - Get list of available species and assemblies
  • get_assembly_info - Get genome assembly information and statistics
  • get_karyotype - Get chromosome information and karyotype

Batch Processing

  • batch_gene_lookup - Look up multiple genes simultaneously
  • batch_sequence_fetch - Fetch sequences for multiple regions or features

Example Usage in Claude Desktop

Once connected, you can use natural language to access genomic data:

  • "Look up the BRCA2 gene and get its sequence"
  • "Find orthologs of TP53 in mouse"
  • "Get variants in the region chr17:43044295-43125364"
  • "Search for insulin-related genes"
  • "Get the assembly information for human genome"
  • "Translate this DNA sequence to protein: ATGAAACGC..."

Supported Species

The server supports all species available in Ensembl, including:

  • Vertebrates: Human, Mouse, Rat, Zebrafish, etc.
  • Plants: Arabidopsis, Rice, Wheat, etc.
  • Fungi: Yeast, etc.
  • Protists: Various protist species
  • Metazoa: Drosophila, C. elegans, etc.

Default species is homo_sapiens when not specified.

Input Formats

Genomic Regions

  • chr1:1000000-2000000 - Standard format
  • 1:1000000-2000000 - Without 'chr' prefix
  • ENSG00000139618 - Feature IDs

Gene/Transcript IDs

  • Ensembl IDs: ENSG00000139618, ENST00000380152
  • Gene symbols: BRCA2, TP53
  • RefSeq IDs: NM_000059

Output Formats

Primary Formats

  • JSON: Structured data (default for most tools)
  • FASTA: Sequence data
  • GFF: Genomic feature format
  • VCF: Variant call format

Tree Formats

  • JSON: Structured tree data
  • Newick: Standard phylogenetic format
  • PhyloXML: Rich phylogenetic format

Error Handling

The server provides comprehensive error handling:

  • Invalid Parameters: Clear validation messages
  • API Errors: Detailed error information from Ensembl
  • Network Issues: Timeout and connectivity error handling
  • Species Validation: Automatic species name validation

Rate Limiting

The server respects Ensembl's rate limiting guidelines:

  • Maximum 15 requests per second
  • Appropriate delays between batch operations
  • Connection pooling for efficiency

Configuration

Environment Variables

  • ENSEMBL_BASE_URL: Override default API base URL
  • REQUEST_TIMEOUT: Set custom timeout (default: 30000ms)

Species Configuration

  • Default species: homo_sapiens
  • Automatic species validation
  • Support for all Ensembl divisions

API Coverage

This server provides access to major Ensembl REST API endpoints:

Lookup & Search

  • /lookup/id/{id} - Gene/transcript lookup
  • /search - Gene search functionality

Sequences

  • /sequence/id/{id} - Feature sequences
  • /sequence/region/{species}/{region} - Genomic sequences

Comparative Genomics

  • /homology/id/{id} - Homology data
  • /genetree/id/{id} - Gene trees

Variation

  • /variation/region/{species}/{region} - Variant data
  • /vep/species/{species}/region - Variant effect prediction

Regulation

  • /regulatory/species/{species}/region/{region} - Regulatory features
  • /regulatory/species/{species}/microarray/{region} - Motif features

Cross-references

  • /xrefs/id/{id} - External database references
  • /map/coords/{species}/{assembly}/{region} - Coordinate mapping

Information

  • /info/species - Available species
  • /info/assembly/{species} - Assembly information

Support

For issues related to:

Contributing

Contributions are welcome! Please ensure:

  • TypeScript compliance
  • Comprehensive error handling
  • Documentation updates
  • Test coverage for new features

Related Tools

This server integrates well with other bioinformatics MCP servers:

  • UniProt Server: Protein data integration
  • AlphaFold Server: 3D structure predictions
  • STRING Server: Protein interaction networks
  • PDB Server: Structural biology data

About Augmented Nature

This Ensembl MCP Server is developed by Augmented Nature, a company focused on building AI-powered tools for scientific research and discovery.

Citation

If you use this project in your research or publications, please cite it as follows:

author = {Moudather Chelbi},
title = {Ensembl MCP Server},
year = {2025},
howpublished = {https://github.com/Augmented-Nature/Ensembl-MCP-Server},
note = {Accessed: 2025-06-29}

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured