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

K
Klavis
Klavis AI is an open-source project that provides a simple and easy-to-use MCP (Model Context Protocol) service on Slack, Discord, and Web platforms. It includes various functions such as report generation, YouTube tools, and document conversion, supporting non-technical users and developers to use AI workflows.
TypeScript
8.8K
5 points
M
MCP
The Microsoft official MCP server provides search and access functions for the latest Microsoft technical documentation for AI assistants
9.3K
5 points
A
Aderyn
Aderyn is an open - source Solidity smart contract static analysis tool written in Rust, which helps developers and security researchers discover vulnerabilities in Solidity code. It supports Foundry and Hardhat projects, can generate reports in multiple formats, and provides a VSCode extension.
Rust
5.1K
5 points
D
Devtools Debugger MCP
The Node.js Debugger MCP server provides complete debugging capabilities based on the Chrome DevTools protocol, including breakpoint setting, stepping execution, variable inspection, and expression evaluation.
TypeScript
5.5K
4 points
S
Scrapling
Scrapling is an adaptive web scraping library that can automatically learn website changes and re - locate elements. It supports multiple scraping methods and AI integration, providing high - performance parsing and a developer - friendly experience.
Python
8.1K
5 points
M
Mcpjungle
MCPJungle is a self-hosted MCP gateway used to centrally manage and proxy multiple MCP servers, providing a unified tool access interface for AI agents.
Go
0
4.5 points
C
Cipher
Cipher is an open-source memory layer framework designed for programming AI agents. It integrates with various IDEs and AI coding assistants through the MCP protocol, providing core functions such as automatic memory generation, team memory sharing, and dual-system memory management.
TypeScript
0
5 points
N
Nexus
Nexus is an AI tool aggregation gateway that supports connecting multiple MCP servers and LLM providers, providing tool search, execution, and model routing functions through a unified endpoint, and supporting security authentication and rate limiting.
Rust
0
4 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
15.7K
4.3 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
15.9K
4.5 points
D
Duckduckgo MCP Server
Certified
The DuckDuckGo Search MCP Server provides web search and content scraping services for LLMs such as Claude.
Python
45.3K
4.3 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
24.9K
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#
20.3K
5 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
45.1K
4.5 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
16.0K
4.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
29.8K
4.8 points