Ensembl MCP Server
E

Ensembl MCP Server

An unofficial Ensembl MCP server that provides comprehensive access interfaces for genomic data, comparative genomics, and biological annotations, supporting functions such as gene query, sequence retrieval, variant analysis, and cross - species comparison.
2 points
0

Installation

Copy the following command to your Client for configuration
Note: Your key is sensitive information, do not share it with anyone.

๐Ÿš€ Unofficial Ensembl MCP Server

This is a comprehensive Model Context Protocol (MCP) server that provides access to the Ensembl REST API for genomic data, comparative genomics, and biological annotations. It enables users to interact with Ensembl's vast genomic database through a standardized MCP interface.

Developed by Augmented Nature

๐Ÿ“š Overview

This server allows seamless access to Ensembl's extensive genomic database via a standardized MCP interface. It supports a wide range of operations across multiple species, including gene lookups, sequence retrieval, variant analysis, comparative genomics, regulatory feature access, and more.

โœจ Features

Gene & Transcript Information

  • Gene Lookup: Obtain detailed gene information using an Ensembl ID or gene symbol.
  • Transcript Analysis: Retrieve all transcripts for a gene along with their structural details.
  • Gene Search: Search for genes by name, description, or identifier, with filtering options available.

Sequence Data

  • Genomic Sequences: Extract DNA sequences for any genomic region or feature.
  • CDS Sequences: Retrieve coding sequences for specific transcripts.
  • Sequence Translation: Translate DNA sequences into protein sequences.
  • Repeat Masking: Supports both hard and soft repeat masking.

Comparative Genomics

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

Variant Data

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

Regulatory Features

  • Regulatory Elements: Access data on enhancers, promoters, and transcription factor binding sites (TFBS).
  • Motif Features: Retrieve transcription factor binding motifs.
  • Cell Type Context: Filter regulatory features by cell type.

Cross-References & Annotations

  • External Database Links: Obtain cross-references to databases such as PDB, EMBL, and RefSeq.
  • Coordinate Mapping: Convert coordinates between different genome assemblies.
  • Ontology Terms: Access Gene Ontology (GO) terms and functional annotations.

Species & Assembly Information

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

Batch Processing

  • Batch Gene Lookup: Process multiple genes simultaneously.
  • Batch Sequence Fetch: Efficiently retrieve sequences for multiple regions.

๐Ÿ“ฆ Installation

# Clone or download the server files
cd ensembl-server

# Install dependencies
npm install

# Build the server
npm run build

๐Ÿ’ป Usage Examples

Usage with Claude Desktop

Setup Instructions

  1. Build the server (if not already done):
npm run build
  1. Add to Claude Desktop configuration:
    • Open Claude Desktop.
    • Navigate to Settings โ†’ MCP Servers.
    • Add a new server with the following details:
      • Name: ensembl
      • Command: node
      • Args: /path/to/ensembl-server/build/index.js
  2. Restart Claude Desktop to load the server.

Available Tools (25 total)

Gene & Transcript Information
  • lookup_gene - Retrieve detailed gene information using a stable ID or symbol.
  • get_transcripts - Get all transcripts for a gene with detailed structural information.
  • search_genes - Search for genes by name, description, or identifier.
Sequence Data
  • get_sequence - Obtain DNA sequences for genomic coordinates or gene/transcript IDs.
  • get_cds_sequence - Retrieve the coding sequence (CDS) for a transcript.
  • translate_sequence - Translate a DNA sequence into a protein sequence.
Comparative Genomics
  • get_homologs - Find orthologous and paralogous genes across different species.
  • get_gene_tree - Obtain the phylogenetic tree for a gene family.
Variant Data
  • get_variants - Fetch genetic variants in a genomic region.
  • get_variant_consequences - Predict the effects of variants on genes and transcripts.
Regulatory Features
  • get_regulatory_features - Access regulatory elements in a genomic region.
  • get_motif_features - Retrieve transcription factor binding motifs in a genomic region.
Cross-References & Annotations
  • get_xrefs - Obtain cross-references to external databases for genes.
  • map_coordinates - Convert coordinates between different genome assemblies.
Species & Assembly Information
  • list_species - Get a list of available species and assemblies.
  • get_assembly_info - Obtain information and statistics about a genome assembly.
  • get_karyotype - Access chromosome information and karyotype data.
Batch Processing
  • batch_gene_lookup - Look up multiple genes simultaneously.
  • batch_sequence_fetch - Retrieve sequences for multiple regions efficiently.

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. The default species is homo_sapiens if not specified.

๐Ÿ“‹ Input Formats

Genomic Regions

  • chr1:1000000-2000000 - Standard format
  • 1:1000000-2000000 - Without the '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 offers comprehensive error handling:

  • Invalid Parameters: Clear validation messages are provided.
  • API Errors: Detailed error information from Ensembl is presented.
  • Network Issues: Timeout and connectivity errors are handled.
  • Species Validation: Automatic species name validation is performed.

โฑ๏ธ Rate Limiting

The server adheres to Ensembl's rate limiting guidelines:

  • A maximum of 15 requests per second is allowed.
  • Appropriate delays are implemented between batch operations.
  • Connection pooling is used for efficiency.

โš™๏ธ Configuration

Environment Variables

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

Species Configuration

  • The default species is homo_sapiens.
  • Automatic species validation is supported.
  • All Ensembl divisions are supported.

๐Ÿ“š 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:

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

Alternatives

R
Rsdoctor
Rsdoctor is a build analysis tool specifically designed for the Rspack ecosystem, fully compatible with webpack. It provides visual build analysis, multi - dimensional performance diagnosis, and intelligent optimization suggestions to help developers improve build efficiency and engineering quality.
TypeScript
9.0K
5 points
N
Next Devtools MCP
The Next.js development tools MCP server provides Next.js development tools and utilities for AI programming assistants such as Claude and Cursor, including runtime diagnostics, development automation, and document access functions.
TypeScript
8.7K
5 points
T
Testkube
Testkube is a test orchestration and execution framework for cloud-native applications, providing a unified platform to define, run, and analyze tests. It supports existing testing tools and Kubernetes infrastructure.
Go
6.4K
5 points
M
MCP Windbg
An MCP server that integrates AI models with WinDbg/CDB for analyzing Windows crash dump files and remote debugging, supporting natural language interaction to execute debugging commands.
Python
10.0K
5 points
R
Runno
Runno is a collection of JavaScript toolkits for securely running code in multiple programming languages in environments such as browsers and Node.js. It achieves sandboxed execution through WebAssembly and WASI, supports languages such as Python, Ruby, JavaScript, SQLite, C/C++, and provides integration methods such as web components and MCP servers.
TypeScript
7.7K
5 points
P
Praisonai
PraisonAI is a production-ready multi-AI agent framework with self-reflection capabilities, designed to create AI agents to automate the solution of various problems from simple tasks to complex challenges. It simplifies the construction and management of multi-agent LLM systems by integrating PraisonAI agents, AG2, and CrewAI into a low-code solution, emphasizing simplicity, customization, and effective human-machine collaboration.
Python
6.5K
5 points
N
Netdata
Netdata is an open-source real-time infrastructure monitoring platform that provides second-level metric collection, visualization, machine learning-driven anomaly detection, and automated alerts. It can achieve full-stack monitoring without complex configuration.
Go
8.7K
5 points
M
MCP Server
The Mapbox MCP Server is a model context protocol server implemented in Node.js, providing AI applications with access to Mapbox geospatial APIs, including functions such as geocoding, point - of - interest search, route planning, isochrone analysis, and static map generation.
TypeScript
7.9K
4 points
M
Markdownify MCP
Markdownify is a multi-functional file conversion service that supports converting multiple formats such as PDFs, images, audio, and web page content into Markdown format.
TypeScript
30.8K
5 points
N
Notion Api MCP
Certified
A Python-based MCP Server that provides advanced to-do list management and content organization functions through the Notion API, enabling seamless integration between AI models and Notion.
Python
18.6K
4.5 points
G
Gitlab MCP Server
Certified
The GitLab MCP server is a project based on the Model Context Protocol that provides a comprehensive toolset for interacting with GitLab accounts, including code review, merge request management, CI/CD configuration, and other functions.
TypeScript
22.4K
4.3 points
D
Duckduckgo MCP Server
Certified
The DuckDuckGo Search MCP Server provides web search and content scraping services for LLMs such as Claude.
Python
64.9K
4.3 points
F
Figma Context MCP
Framelink Figma MCP Server is a server that provides access to Figma design data for AI programming tools (such as Cursor). By simplifying the Figma API response, it helps AI more accurately achieve one - click conversion from design to code.
TypeScript
57.9K
4.5 points
U
Unity
Certified
UnityMCP is a Unity editor plugin that implements the Model Context Protocol (MCP), providing seamless integration between Unity and AI assistants, including real - time state monitoring, remote command execution, and log functions.
C#
28.6K
5 points
M
Minimax MCP Server
The MiniMax Model Context Protocol (MCP) is an official server that supports interaction with powerful text-to-speech, video/image generation APIs, and is suitable for various client tools such as Claude Desktop and Cursor.
Python
43.5K
4.8 points
G
Gmail MCP Server
A Gmail automatic authentication MCP server designed for Claude Desktop, supporting Gmail management through natural language interaction, including complete functions such as sending emails, label management, and batch operations.
TypeScript
20.4K
4.5 points