Ensembl
A comprehensive Model Context Protocol (MCP) server that provides access to the Ensembl REST API for genomic data, comparative genomics, and biological annotations.
claude mcp add --transport stdio augmented-nature-ensembl-mcp-server node /path/to/ensembl-server/build/index.js \ --env REQUEST_TIMEOUT="Request timeout in ms (optional, default 30000)" \ --env ENSEMBL_BASE_URL="Override default Ensembl REST API base URL (optional)"
How to use
This MCP server exposes Ensembl REST API capabilities through a standardized MCP interface. It provides access to gene and transcript data, sequence retrieval (including CDS and translated protein sequences), comparative genomics (homology and gene trees), variant data, regulatory features, cross-references, and coordinate mapping across assemblies. Tools available through Claude Desktop and MCP clients let you look up genes by Ensembl ID or symbol, fetch transcript structures, retrieve genomic sequences, predict variant consequences, and obtain regulatory context, among many others. The server aims to unify Ensembl REST endpoints behind the MCP abstraction, enabling scripted analyses and batch workflows across species.
To use the server, start it via your MCP runner (Node.js in this setup) and connect your MCP client or Claude Desktop integration. The client can invoke functions like lookup_gene, get_transcripts, search_genes, get_sequence, get_variants, get_homologs, get_gene_tree, and map_coordinates, among others. When you call a tool, provide the necessary identifiers (e.g., Ensembl IDs, genomic coordinates, or gene symbols) and optional filters (species, region, assembly). The server handles requests to Ensembl under the hood and returns structured JSON results, enabling downstream analysis, visualization, or further MCP-driven processing.
For best results, specify the target species when needed (default is homo_sapiens), and consider environment variables to tailor the Ensembl base URL and request timeouts to your network conditions and privacy requirements.
How to install
Prerequisites:
- Node.js (recommended LTS version)
- npm (comes with Node.js)
- Access to the Ensembl REST API (public or via a configured base URL)
Installation steps:
-
Clone the server repository or download the package: git clone https://github.com/your-org/augmented-nature-ensembl-mcp-server.git cd augmented-nature-ensembl-mcp-server
-
Install dependencies: npm install
-
Build the server (if applicable): npm run build
-
Configure environment variables (optional):
- ENSEMBL_BASE_URL: Override default Ensembl REST API base URL
- REQUEST_TIMEOUT: Custom timeout in milliseconds (default 30000)
-
Run the server using your MCP runner setup (the example uses a Node-based MCP entry point): node /path/to/ensembl-server/build/index.js
-
(Optional) Configure Claude Desktop or another MCP client to connect:
- Name: ensembl
- Command: node
- Args: /path/to/ensembl-server/build/index.js
Notes:
- Ensure the build/index.js path matches your actual build output location after npm run build.
- If you modify environment-related defaults, restart the MCP client to pick up changes.
Additional notes
Tips and common issues:
- If you see gateway or timeout errors, increase REQUEST_TIMEOUT to accommodate slower network responses or Ensembl API rate limits.
- The server relies on Ensembl REST endpoints; if Ensembl status changes or endpoints are deprecated, you may need to update base URL paths or migrate to new endpoints.
- When running in batch mode, use batch_gene_lookup and batch_sequence_fetch to optimize throughput.
- Validate species availability with list_species or get_assembly_info prior to requests that depend on a specific assembly.
- Ensure proper network access, as some hosting environments block external API calls; consider proxy settings if required.
Related MCP Servers
zen
Selfhosted notes app. Single golang binary, notes stored as markdown within SQLite, full-text search, very low resource usage
MCP -Deepseek_R1
A Model Context Protocol (MCP) server implementation connecting Claude Desktop with DeepSeek's language models (R1/V3)
mcp-fhir
A Model Context Protocol implementation for FHIR
mcp
Inkdrop Model Context Protocol Server
mcp-appium-gestures
This is a Model Context Protocol (MCP) server providing resources and tools for Appium mobile gestures using Actions API..
dubco -npm
The (Unofficial) dubco-mcp-server enables AI assistants to manage Dub.co short links via the Model Context Protocol. It provides three MCP tools: create_link for generating new short URLs, update_link for modifying existing links, and delete_link for removing short links.