Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@gnomAD MCP Servershow me population frequencies for variant 12-120931006-G-A in v4"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
gnomAD MCP Server
Overview
This MCP server provides a programmatic interface to the Genome Aggregation Database (gnomAD) API, supporting multiple API versions (v2.1.1, v3.1.2, v4.1.0).
It abstracts version-specific field and schema differences, exposing a unified API for downstream tools and users.
Status
π§ Under Active Development π§
This project is under active development. APIs and features may change without notice.
Supported gnomAD API Versions
v4.1.0 (
gnomad_r4)v3.1.2 (
gnomad_r3)v2.1.1 (
gnomad_r2_1)
Supported Queries by Version
The following table summarizes which queries are available for each gnomAD API version:
Query Type | Description | v2 | v3 | v4 |
get_gene_info | Retrieve gene metadata and constraint metrics (direct lookup by gene_id/gene_symbol) | β | β | β |
get_region_info | Retrieve variant and summary information for a genomic region | β | β | β |
get_variant_info | Retrieve variant metadata and population frequency data (by variantId) | β | β | β |
get_clinvar_variant_info | Retrieve ClinVar variant data and clinical significance | β | β | β |
get_mitochondrial_variant_info | Retrieve mitochondrial variant data and population frequencies | β | β | β |
get_structural_variant_info | Retrieve structural variant (SV) data and population frequencies | β | β | β |
get_copy_number_variant_info | Retrieve copy number variant (CNV) data and population frequencies | β | β | β |
search_for_genes | Search for genes by symbol or name (no direct gene_id lookup in v2/v3) | β | β | β |
search_for_variants | Search for variants by ID, gene, or region | β | β | β |
get_str_info | Retrieve short tandem repeat (STR) data and population frequencies | β | β | β |
get_all_strs | Retrieve all STRs in the dataset | β | β | β |
get_variant_liftover | Retrieve liftover mapping for a variant between genomes | β | β | β |
get_metadata | Retrieve gnomAD browser metadata and API version info | β | β | β |
β = Supported in this version
β = Not supported in this version
Dependencies
Python >= 3.13
aiohttp >= 3.11.18fastmcp >= 2.2.1gql >= 3.5.2httpx >= 0.28.1mcp[cli] >= 1.6.0nest-asyncio >= 1.6.0pytest >= 8.3.5pytest-asyncio >= 0.26.0
Directory Structure
.
βββ gnomad/ # Main package
β βββ __init__.py
β βββ types.py # Type definitions
β βββ queries/ # GraphQL query templates
β β βββ v2/ # v2.1 specific queries
β β βββ v3/ # v3 specific queries
β β βββ v4/ # v4 specific queries
β βββ schemas/ # Versioned schema files
βββ tests/ # Test code and data
β βββ input/ # Test input data
β β βββ analyzed_schemas/ # Analyzed schema data
β β βββ schema2query/ # Schema to query conversion
β β βββ schemas/ # Raw schema files
β βββ output/ # Test output data
β β βββ server/ # Server test outputs
β β βββ v2/ # v2.1 test outputs
β β βββ v3/ # v3 test outputs
β β βββ v4/ # v4 test outputs
β βββ scripts/ # Test utility scripts
β βββ tests/ # Additional test modules
βββ server.py # FastMCP server entrypoint
βββ pyproject.toml # Project metadata
βββ README.md # This file
βββ README_tests.md # Testing documentationSetup
Install dependencies
uv syncActivate the virtual environment
. .venv/bin/activateTest the server
uv --directory ./ run mcp dev server.pyAdd the MCP server to your MCP server list (Claude, Cursor, etc.)
{
"mcpServers": {
"gnomad": {
"command": "uv",
"args": ["--directory", "where you cloned the repo", "run", "server.py"],
"env": {}
}
}
}Run tests
Please see README_tests.md
Query & API Design
Uses the QueryTemplateEngine pattern to manage version-specific GraphQL query templates.
Currently, queries are fixed; see (
./gnomad/queries)The queries were obtained using schema_fetcher.py and schema_analyzer.py
TODO: Dynamic queries
MCP tool endpoints are documented with detailed parameter and output descriptions.
License
This MCP server itself is licensed under the Apache License 2.0 - see the LICENSE file for details.
This project uses the gnomAD API. Please ensure you cite gnomAD when using this tool or its outputs.
Acknowledgements
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.