Ancestry allele frequencies, LoF constraint, variant lists, and coverage from gnomAD, with ClinVar.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
List the tables staged on a canvas and their columns (name and type) so you can write correct SQL for gnomad_dataframe_query. Use the canvas_id returned by gnomad_list_gene_variants or gnomad_search_clinvar. Returns one entry per table with its row count and column schema.
Canvas ID returned by a prior staging call (gnomad_list_gene_variants or gnomad_search_clinvar).
List the tables staged on a canvas and their columns (name and type) so you can write correct SQL for gnomad_dataframe_query. Use the canvas_id returned by gnomad_list_gene_variants or gnomad_search_clinvar. Returns one entry per table with its row count and column schema.
| Argument | Type | Description |
|---|---|---|
| canvas_id* | string | Canvas ID returned by a prior staging call (gnomad_list_gene_variants or gnomad_search_clinvar). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"canvas_id"
],
"properties": {
"canvas_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{10}$",
"description": "Canvas ID returned by a prior staging call (gnomad_list_gene_variants or gnomad_search_clinvar)."
}
},
"additionalProperties": false
}Run a read-only SQL SELECT against a canvas table staged by gnomad_list_gene_variants (table gene_variants) or gnomad_search_clinvar (table clinvar_variants) and return one page of the result. Use the canvas_id and table_name those tools returned to rank by allele frequency, group by consequence class, count loss-of-function variants, or filter the full set the inline preview only sampled. A page holds up to limit rows (default 100, max 500) and ends early once its rows reach 10,000 characters of JSON; continue from next_offset until it is null. Each page re-runs the SQL, so stable paging needs an ORDER BY over a unique key (such as variant_id) and an unchanged table. Paging reaches the server row cap: above it total is null and later rows are reachable only by filtering or aggregating in SQL. SELECT statements only — writes, DDL, and file/HTTP table functions are rejected by the canvas gate. Call gnomad_dataframe_describe first to discover staged table and column names.
| Argument | Type | Description |
|---|---|---|
| sql* | string | Read-only SQL SELECT. Reference tables by the names the staging tool returned (e.g. gene_variants). Add an ORDER BY over a unique key when paging. |
| limit | integer | Maximum rows on the page (1–500). A page also ends before its rows pass 10,000 characters of JSON. |
| offset | integer | Row offset of the page to return. Start at 0, then pass next_offset from the previous page. |
| canvas_id* | string | Canvas ID returned by gnomad_list_gene_variants or gnomad_search_clinvar. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"canvas_id",
"sql"
],
"properties": {
"sql": {
"type": "string",
"minLength": 1,
"description": "Read-only SQL SELECT. Reference tables by the names the staging tool returned (e.g. gene_variants). Add an ORDER BY over a unique key when paging."
},
"limit": {
"type": "integer",
"default": 100,
"maximum": 500,
"minimum": 1,
"description": "Maximum rows on the page (1–500). A page also ends before its rows pass 10,000 characters of JSON."
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 9007199254740991,
"minimum": 0,
"description": "Row offset of the page to return. Start at 0, then pass next_offset from the previous page."
},
"canvas_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{10}$",
"description": "Canvas ID returned by gnomad_list_gene_variants or gnomad_search_clinvar."
}
},
"additionalProperties": false
}Fetch gnomAD sequencing-coverage summary across a gene, transcript, or region — mean and median read depth, plus the mean fraction of samples covered at each depth threshold (1× through 100×), separated by exome and genome track. gnomAD reports coverage in buckets: 1 bp for a region spanning under 850 bp, wider for larger targets (bucket_size), and a gene or transcript is summarized over its exons ±75 bp, not its introns. Use this to disambiguate a true absent variant from an uncallable position: a variant missing from a well-covered region is informative, while one missing from a poorly-covered region is not. Supply exactly one of gene, transcript_id, or region. The optional coverage_source narrows to one track; by default both available tracks are returned. Echoes the effective dataset and build. Data source: gnomAD (Broad Institute) — https://gnomad.broadinstitute.org/
| Argument | Type | Description |
|---|---|---|
| gene | any | Gene — HGNC symbol (e.g. PCSK9) or Ensembl gene ID (e.g. ENSG00000169174). Obtain a stable ID from ensembl_lookup_gene. Mitochondrial genes (e.g. MT-TL1) are not served. Mutually exclusive with transcript_id and region; blank means omitted. |
| region | any | Genomic region chrom-start-stop (1-based inclusive, e.g. 1-55039447-55064852): chromosome 1–22, X, or Y with an optional chr prefix (mitochondrial regions are not served) and a span (stop − start) under 2,500,000 bp. Mutually exclusive with gene and transcript_id. |
| dataset | string | gnomAD dataset: gnomad_r4 (GRCh38, default), gnomad_r3 (GRCh38), gnomad_r2_1 (GRCh37), exac (GRCh37). Echoed in output. |
| transcript_id | string |
Fetch gnomAD loss-of-function constraint for a gene — pLI (probability of LoF intolerance; >0.9 intolerant), LOEUF (oe_lof_upper, the headline metric) plus its lower bound, observed/expected ratios for LoF, missense, and synonymous variation, and the three Z-scores. This is the orthogonal axis to allele frequency: a loss-of-function variant matters far more in a gene intolerant to being broken. Accepts an HGNC symbol (PCSK9) or an Ensembl gene ID (ENSG00000169174). constraint_release names the release the metrics come from: gnomAD v4.1.2 for gnomad_r4 and gnomad_r3 (gnomAD publishes no v3 constraint), gnomAD v2.1.1 for gnomad_r2_1, and ExAC r0.3 for exac. gnomAD recommends LOEUF < 0.45 to call a gene LoF-intolerant on v4.1.2 and LOEUF < 0.35 on v2.1.1. ExAC r0.3 publishes only pLI, the Z-scores, and observed/expected counts, so on exac the ratios and LOEUF are null, constraint_flags is empty, and pLI is the intolerance measure. Many genes have null constraint (sparse upstream) — null fields are reported as such, never fabricated. Echoes the effective dataset and reference build. Data source: gnomAD (Broad Institute) — https://gnomad.broadinstitute.org/
| Argument | Type | Description |
|---|---|---|
| gene* | string | Gene — HGNC symbol (e.g. PCSK9) or Ensembl gene ID (e.g. ENSG00000169174). Obtain a stable ID from ensembl_lookup_gene. |
| dataset | string | gnomAD dataset: gnomad_r4 (GRCh38, default), gnomad_r3 (GRCh38), gnomad_r2_1 (GRCh37), exac (GRCh37). Echoed in output. |
| reference_genome | string | Reference build. Derived from dataset when omitted (v4/v3=GRCh38, v2.1/ExAC=GRCh37). If supplied it must match the dataset, or the call is rejected. Keep aligned with ensembl coordinates. |
Fetch the full gnomAD population record for one or more variants — allele count/number/frequency overall and broken down per genetic-ancestry group, homozygote and hemizygote counts, quality flags, transcript consequence, in-silico predictor scores, and joined ClinVar clinical significance. The "how common, is it benign" answer in one call. Accepts a batch of up to 25 IDs (chrom-pos-ref-alt or rsID) with per-item partial success: a malformed or absent ID lands in failed[] — with its reason and a recovery hint — without failing the others. An empty found[] for a well-formed ID means the variant is not in the chosen dataset — pair with gnomad_get_coverage to confirm the position is callable before concluding true absence. Data source: gnomAD (Broad Institute) — https://gnomad.broadinstitute.org/
| Argument | Type | Description |
|---|---|---|
| dataset | string | gnomAD dataset: gnomad_r4 (GRCh38, default), gnomad_r3 (GRCh38), gnomad_r2_1 (GRCh37), exac (GRCh37). Echoed in output. |
| variants* | array | 1–25 variant IDs (chrom-pos-ref-alt or rsID) to look up in one batched call. |
| reference_genome | string | Reference build. Derived from dataset when omitted (v4/v3=GRCh38, v2.1/ExAC=GRCh37). If supplied it must match the dataset, or the call is rejected. Keep aligned with ensembl coordinates. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"variants"
],
"properties": {
"dataset": {
"enum": [
"gnomad_r4",
"gnomad_r3",
"gnomad_r2_1",
"exac"
],
"type": "string",
"description": "gnomAD dataset: gnomad_r4 (GRCh38, default), gnomad_r3 (GRCh38), gnomad_r2_1 (GRCh37), exac (GRCh37). Echoed in output."
},
"variants": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"description": "Variant ID — chrom-pos-ref-alt (1-based, e.g. 1-55051215-G-GA) on chromosome 1–22, X, or Y with an optional chr prefix, or an rsID (rs11591147). Mitochondrial IDs (M, MT, chrM) are not served. Obtain a variantId from ensembl_predict_variant or a VCF. Malformed IDs are reported per-item in failed[], not rejected wholesale."
},
"maxItems": 25,
"minItems": 1,
"description": "1–25 variant IDs (chrom-pos-ref-alt or rsID) to look up in one batched call."
},
"reference_genome": {
"enum": [
"GRCh38",
"GRCh37"
],
"type": "string",
"description": "Reference build. Derived from dataset when omitted (v4/v3=GRCh38, v2.1/ExAC=GRCh37). If supplied it must match the dataset, or the call is rejected. Keep aligned with ensembl coordinates."
}
},
"additionalProperties": false
}List every gnomAD variant in a gene, transcript, or region with allele frequencies and predicted consequences, optionally filtered to one consequence class (lof, missense, synonymous, other) and/or a maximum allele frequency. A result too large to inline is staged on a DataCanvas table named gene_variants, returned as canvas_id and table_name beside an inline preview — call gnomad_dataframe_describe for its columns, then gnomad_dataframe_query to rank by AF, count by consequence, or group across every row rather than the preview. A result that fits inline stages no table unless canvas_id is supplied. When the canvas is disabled (CANVAS_PROVIDER_TYPE=none) the tool returns a capped inline preview and the SQL path is unavailable. Supply exactly one of gene, transcript_id, or region. Echoes the effective dataset and build. Data source: gnomAD (Broad Institute) — https://gnomad.broadinstitute.org/
| Argument | Type | Description |
|---|---|---|
| gene | any | Gene — HGNC symbol (e.g. PCSK9) or Ensembl gene ID (e.g. ENSG00000169174). Obtain a stable ID from ensembl_lookup_gene. Mitochondrial genes (e.g. MT-TL1) are not served. Mutually exclusive with transcript_id and region; blank means omitted. |
| max_af | number | Keep only variants with allele frequency ≤ this value (0–1). Variants with null AF are always kept. |
| region | any | Genomic region chrom-start-stop (1-based inclusive, e.g. 13-32315474-32400266): chromosome 1–22, X, or Y with an optional chr prefix (mitochondrial regions are not served), a span (stop − start) under 2,500,000 bp, and at most ~30,000 variants. Mutually exclusive with gene and transcript_id. |
| dataset | string |
Search ClinVar (NCBI E-utilities) for a gene and return its classified variants — clinical significance, review status with a 0–4 star rating, associated conditions, molecular consequences, submission counts, and gnomAD-compatible identifiers (canonical SPDI, rsIDs, GRCh38 variant ID for gnomad_get_variant) — turning the variant-level significance gnomAD joins into a gene-panel curation view. Optionally filter by clinical_significance (e.g. pathogenic) and a minimum star rating. Each call returns one window of up to 500 ClinVar records: total_found is the ClinVar candidate count for the search terms, taken before the significance and star filters narrow each window, and next_offset continues through the rest via offset. A window too large to inline is staged on a DataCanvas table named clinvar_variants, returned as canvas_id and table_name beside an inline preview — call gnomad_dataframe_describe for its columns, then gnomad_dataframe_query to rank or count across the window. A window that fits inline stages no table unless canvas_id is supplied. Keyless, but honors NCBI_API_KEY for a higher rate limit. When the canvas is disabled the tool returns a capped inline preview. Credit: ClinVar, NCBI.
| Argument | Type | Description |
|---|---|---|
| gene* | string | Gene HGNC symbol (e.g. PCSK9). ClinVar indexes HGNC symbols only — Ensembl gene IDs (ENSG…) are not resolved here, unlike the other gnomAD tools; resolve one to its symbol via ensembl_lookup_gene. |
| limit | integer | ClinVar records to fetch in this window (1–500). Counted before the clinical_significance and min_review_stars filters, so a window can return fewer rows. |
| offset | integer | Zero-based position of the first ClinVar record in this window. Pass next_offset from the previous call to continue. |
| Ensembl transcript ID (e.g. ENST00000302118). Mutually exclusive with gene and region; blank means omitted. |
| coverage_source | string | Restrict to one coverage track. Omit to return every available track. |
| reference_genome | string | Reference build. Derived from dataset when omitted (v4/v3=GRCh38, v2.1/ExAC=GRCh37). If supplied it must match the dataset, or the call is rejected. Keep aligned with ensembl coordinates. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"gene": {
"anyOf": [
{
"type": "string",
"minLength": 2,
"description": "Gene — HGNC symbol (e.g. PCSK9) or Ensembl gene ID (e.g. ENSG00000169174). Obtain a stable ID from ensembl_lookup_gene."
},
{
"type": "string",
"maxLength": 0,
"description": "Blank — the gene is treated as omitted."
}
],
"description": "Gene — HGNC symbol (e.g. PCSK9) or Ensembl gene ID (e.g. ENSG00000169174). Obtain a stable ID from ensembl_lookup_gene. Mitochondrial genes (e.g. MT-TL1) are not served. Mutually exclusive with transcript_id and region; blank means omitted."
},
"region": {
"anyOf": [
{
"type": "string",
"const": ""
},
{
"type": "string",
"pattern": "^(?:chr)?[0-9A-Z]+-\\d+-\\d+$",
"description": "Genomic region chrom-start-stop (1-based inclusive, e.g. 1-55039447-55064852) on chromosome 1–22, X, or Y, optional chr prefix."
}
],
"description": "Genomic region chrom-start-stop (1-based inclusive, e.g. 1-55039447-55064852): chromosome 1–22, X, or Y with an optional chr prefix (mitochondrial regions are not served) and a span (stop − start) under 2,500,000 bp. Mutually exclusive with gene and transcript_id."
},
"dataset": {
"enum": [
"gnomad_r4",
"gnomad_r3",
"gnomad_r2_1",
"exac"
],
"type": "string",
"description": "gnomAD dataset: gnomad_r4 (GRCh38, default), gnomad_r3 (GRCh38), gnomad_r2_1 (GRCh37), exac (GRCh37). Echoed in output."
},
"transcript_id": {
"type": "string",
"description": "Ensembl transcript ID (e.g. ENST00000302118). Mutually exclusive with gene and region; blank means omitted."
},
"coverage_source": {
"enum": [
"exome",
"genome"
],
"type": "string",
"description": "Restrict to one coverage track. Omit to return every available track."
},
"reference_genome": {
"enum": [
"GRCh38",
"GRCh37"
],
"type": "string",
"description": "Reference build. Derived from dataset when omitted (v4/v3=GRCh38, v2.1/ExAC=GRCh37). If supplied it must match the dataset, or the call is rejected. Keep aligned with ensembl coordinates."
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"gene"
],
"properties": {
"gene": {
"type": "string",
"minLength": 2,
"description": "Gene — HGNC symbol (e.g. PCSK9) or Ensembl gene ID (e.g. ENSG00000169174). Obtain a stable ID from ensembl_lookup_gene."
},
"dataset": {
"enum": [
"gnomad_r4",
"gnomad_r3",
"gnomad_r2_1",
"exac"
],
"type": "string",
"description": "gnomAD dataset: gnomad_r4 (GRCh38, default), gnomad_r3 (GRCh38), gnomad_r2_1 (GRCh37), exac (GRCh37). Echoed in output."
},
"reference_genome": {
"enum": [
"GRCh38",
"GRCh37"
],
"type": "string",
"description": "Reference build. Derived from dataset when omitted (v4/v3=GRCh38, v2.1/ExAC=GRCh37). If supplied it must match the dataset, or the call is rejected. Keep aligned with ensembl coordinates."
}
},
"additionalProperties": false
}| gnomAD dataset: gnomad_r4 (GRCh38, default), gnomad_r3 (GRCh38), gnomad_r2_1 (GRCh37), exac (GRCh37). Echoed in output. |
| canvas_id | string | Optional canvas ID from a prior call, to reuse the same canvas. When supplied, this call always writes its result to the gene_variants table on that canvas, replacing (not appending to) the previous one — even when the result fits inline; a result with no variants removes the table. Omit to stage on a fresh canvas only when the result is too large to inline. |
| transcript_id | string | Ensembl transcript ID (e.g. ENST00000302118). Mutually exclusive with gene and region; blank means omitted. |
| reference_genome | string | Reference build. Derived from dataset when omitted (v4/v3=GRCh38, v2.1/ExAC=GRCh37). If supplied it must match the dataset, or the call is rejected. Keep aligned with ensembl coordinates. |
| consequence_class | string | Keep only variants in this consequence class. Omit to return all classes. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"gene": {
"anyOf": [
{
"type": "string",
"minLength": 2,
"description": "Gene — HGNC symbol (e.g. PCSK9) or Ensembl gene ID (e.g. ENSG00000169174). Obtain a stable ID from ensembl_lookup_gene."
},
{
"type": "string",
"maxLength": 0,
"description": "Blank — the gene is treated as omitted."
}
],
"description": "Gene — HGNC symbol (e.g. PCSK9) or Ensembl gene ID (e.g. ENSG00000169174). Obtain a stable ID from ensembl_lookup_gene. Mitochondrial genes (e.g. MT-TL1) are not served. Mutually exclusive with transcript_id and region; blank means omitted."
},
"max_af": {
"type": "number",
"maximum": 1,
"minimum": 0,
"description": "Keep only variants with allele frequency ≤ this value (0–1). Variants with null AF are always kept."
},
"region": {
"anyOf": [
{
"type": "string",
"const": ""
},
{
"type": "string",
"pattern": "^(?:chr)?[0-9A-Z]+-\\d+-\\d+$",
"description": "Genomic region chrom-start-stop (1-based inclusive, e.g. 13-32315474-32400266) on chromosome 1–22, X, or Y, optional chr prefix."
}
],
"description": "Genomic region chrom-start-stop (1-based inclusive, e.g. 13-32315474-32400266): chromosome 1–22, X, or Y with an optional chr prefix (mitochondrial regions are not served), a span (stop − start) under 2,500,000 bp, and at most ~30,000 variants. Mutually exclusive with gene and transcript_id."
},
"dataset": {
"enum": [
"gnomad_r4",
"gnomad_r3",
"gnomad_r2_1",
"exac"
],
"type": "string",
"description": "gnomAD dataset: gnomad_r4 (GRCh38, default), gnomad_r3 (GRCh38), gnomad_r2_1 (GRCh37), exac (GRCh37). Echoed in output."
},
"canvas_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{10}$",
"description": "Optional canvas ID from a prior call, to reuse the same canvas. When supplied, this call always writes its result to the gene_variants table on that canvas, replacing (not appending to) the previous one — even when the result fits inline; a result with no variants removes the table. Omit to stage on a fresh canvas only when the result is too large to inline."
},
"transcript_id": {
"type": "string",
"description": "Ensembl transcript ID (e.g. ENST00000302118). Mutually exclusive with gene and region; blank means omitted."
},
"reference_genome": {
"enum": [
"GRCh38",
"GRCh37"
],
"type": "string",
"description": "Reference build. Derived from dataset when omitted (v4/v3=GRCh38, v2.1/ExAC=GRCh37). If supplied it must match the dataset, or the call is rejected. Keep aligned with ensembl coordinates."
},
"consequence_class": {
"enum": [
"lof",
"missense",
"synonymous",
"other"
],
"type": "string",
"description": "Keep only variants in this consequence class. Omit to return all classes."
}
},
"additionalProperties": false
}| canvas_id | string | Optional canvas ID from a prior call, to reuse the same canvas. When supplied, each search writes its window to the clinvar_variants table on that canvas, replacing (not appending to) the previous one — even when the window fits inline; a window with no rows removes the table. An Ensembl gene ID searches nothing and leaves the canvas as it was. Omit to stage on a fresh canvas only when the window is too large to inline. |
| min_review_stars | integer | Keep only variants with at least this gold-star review rating (0–4). |
| clinical_significance | string | Filter by ClinVar clinical significance term (e.g. pathogenic, likely_pathogenic, uncertain significance), matched as whole words; underscores read as spaces. Blank means no filter. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"gene"
],
"properties": {
"gene": {
"type": "string",
"minLength": 2,
"description": "Gene HGNC symbol (e.g. PCSK9). ClinVar indexes HGNC symbols only — Ensembl gene IDs (ENSG…) are not resolved here, unlike the other gnomAD tools; resolve one to its symbol via ensembl_lookup_gene."
},
"limit": {
"type": "integer",
"default": 500,
"maximum": 500,
"minimum": 1,
"description": "ClinVar records to fetch in this window (1–500). Counted before the clinical_significance and min_review_stars filters, so a window can return fewer rows."
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 2147483647,
"minimum": 0,
"description": "Zero-based position of the first ClinVar record in this window. Pass next_offset from the previous call to continue."
},
"canvas_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{10}$",
"description": "Optional canvas ID from a prior call, to reuse the same canvas. When supplied, each search writes its window to the clinvar_variants table on that canvas, replacing (not appending to) the previous one — even when the window fits inline; a window with no rows removes the table. An Ensembl gene ID searches nothing and leaves the canvas as it was. Omit to stage on a fresh canvas only when the window is too large to inline."
},
"min_review_stars": {
"type": "integer",
"maximum": 4,
"minimum": 0,
"description": "Keep only variants with at least this gold-star review rating (0–4)."
},
"clinical_significance": {
"type": "string",
"description": "Filter by ClinVar clinical significance term (e.g. pathogenic, likely_pathogenic, uncertain significance), matched as whole words; underscores read as spaces. Blank means no filter."
}
},
"additionalProperties": false
}