Skip to main content
Glama

gnomad-genetics-mcp-server

Server Details

Look up allele frequencies by ancestry, gene constraint, variants, and coverage over gnomAD.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
cyanheads/gnomad-genetics-mcp-server
GitHub Stars
1
Server Listing
@cyanheads/gnomad-genetics-mcp-server

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.5/5 across 7 of 7 tools scored. Lowest: 3.5/5.

Server CoherenceA
Disambiguation5/5

Each tool serves a distinct purpose: retrieving a single variant, listing all variants in a region, fetching coverage, fetching gene constraint, searching ClinVar, and managing staged SQL data. No two tools have overlapping responsibilities.

Naming Consistency4/5

Tools follow a gnomad_ prefix with clear verbs like get_, list_, search_, and a couple with a dataframe_ prefix for describe/query. The pattern is mostly consistent, but the dataframe_ tools deviate slightly by placing the domain before the action.

Tool Count5/5

Seven tools is ideal for a genetics data server, covering primary lookup, filtering, and data staging without over-fragmentation. The scope is well-scoped and each tool earns its place.

Completeness5/5

The surface provides full access to gnomAD data: specific variants, gene-level listings, coverage, constraint, and ClinVar. The dataframe tools enable advanced querying of staged results. No obvious gaps remain.

Available Tools

7 tools
gnomad_dataframe_describegnomad-genetics-mcp-server: dataframe describeA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
canvas_idYesCanvas ID returned by a prior staging call (gnomad_list_gene_variants or gnomad_search_clinvar).

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNoPresent when the call failed. Absent on success.
tablesNoTables staged on the canvas.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint, indicating a safe, non-mutating operation. The description adds behavioral context about what is returned (row count and column schema per table) and the staging concept, which complements the annotations without contradicting them. It does not mention error cases or side effects, but given the strong annotation coverage, this is sufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, two sentences total, with the primary purpose and usage in the first sentence and return details in the second. It is front-loaded, avoids redundancy, and every sentence adds essential information without fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with only one parameter and a rich output schema (present though not shown), the description provides complete context: it explains the staging workflow, the source of the canvas_id, the purpose of writing correct SQL, and what the output will contain (row counts and column schema). This is adequate for an agent to know when and how to use it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter canvas_id is already well-described in the schema: 'Canvas ID returned by a prior staging call (gnomad_list_gene_variants or gnomad_search_clinvar).' The main description repeats this guidance but adds no new semantic details, so it adds minimal value beyond the schema's 100% coverage. This aligns with the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists tables staged on a canvas with their columns, explicitly tying its purpose to enabling correct SQL for gnomad_dataframe_query. It also distinguishes itself from related tools by referencing the staging tools (gnomad_list_gene_variants, gnomad_search_clinvar) and the downstream query tool, making its role in the workflow unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description specifies when to use it: after a staging call, and why: to inspect tables before writing SQL for gnomad_dataframe_query. It provides explicit source of the canvas_id. However, it does not explicitly state when not to use it or mention alternative inspection methods, though the context strongly implies this is the standard inspection step.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gnomad_dataframe_querygnomad-genetics-mcp-server: dataframe queryA
Read-onlyIdempotent
Inspect

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). 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. 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
sqlYesRead-only SQL SELECT. Reference tables by the names the staging tool returned (e.g. gene_variants).
canvas_idYesCanvas ID returned by gnomad_list_gene_variants or gnomad_search_clinvar.

Output Schema

ParametersJSON Schema
NameRequiredDescription
rowsNoResult rows (dynamic columns per the SQL projection), capped at the canvas row limit.
errorNoPresent when the call failed. Absent on success.
columnsNoColumn names in the result, in order.
row_countNoNumber of rows the query produced (materialized count).
truncatedNoTrue when the result exceeded the row cap and was clipped.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already include readOnlyHint=true and idempotentHint=true, but the description adds specific constraints beyond those: 'SELECT statements only — writes, DDL, and file/HTTP table functions are rejected by the canvas gate.' It also mentions the workflow dependency on staging tools, which is valuable behavioral context not captured by annotations. The description does not contradict any annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (about 4 sentences), front-loaded with the core purpose, and every sentence adds value: purpose, usage, example use cases, constraints, and prerequisite call. There is no fluff or repetition, making it efficient and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool is a SQL query against staged tables, the description covers all essential context: the staging mechanism (other tools), the required inputs (canvas_id and table_name), the workflow (call describe first), constraints (read-only, rejected functions), and example use cases. The presence of an output schema means detailed return values are not needed. This is complete for a tool of this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters (sql and canvas_id) are fully documented in the schema. The description reinforces their use but does not add new syntactic or semantic details beyond what the schema already provides (e.g., the schema already says 'Read-only SQL SELECT' and 'Canvas ID returned by gnomad_list_gene_variants or gnomad_search_clinvar'). Since the description adds no new parameter-level information, the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states what the tool does: '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).' It specifies the verb (run), the resource (canvas table), and the scope (read-only SQL SELECT), and differentiates from siblings by naming the staging tools and the specific use cases (ranking, grouping, filtering).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit when-to-use guidance: 'Use the canvas_id and table_name those tools returned...' and 'Call gnomad_dataframe_describe first to discover staged table and column names.' It also gives explicit exclusions: 'writes, DDL, and file/HTTP table functions are rejected by the canvas gate.' This gives clear alternatives and context without ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gnomad_get_coveragegnomad-genetics-mcp-server: get coverageA
Read-onlyIdempotent
Inspect

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. 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
geneNoGene — HGNC symbol (e.g. PCSK9) or Ensembl gene ID (e.g. ENSG00000169174). Obtain a stable ID from ensembl_lookup_gene.
regionNoGenomic region chrom-start-stop (1-based inclusive, e.g. 1-55039447-55064852). Mutually exclusive with gene and transcript_id.
datasetNognomAD dataset: gnomad_r4 (GRCh38, default), gnomad_r3 (GRCh38), gnomad_r2_1 (GRCh37), exac (GRCh37). Echoed in output.
transcript_idNoEnsembl transcript ID (e.g. ENST00000302118). Mutually exclusive with gene and region.
coverage_sourceNoRestrict to one coverage track. Omit to return every available track.
reference_genomeNoReference 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.

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNoPresent when the call failed. Absent on success.
noticeNoGuidance when no coverage data is available for the target.
targetNoThe resolved target (gene symbol/ID, transcript ID, or region) the coverage describes.
datasetNoEffective gnomAD dataset.
summariesNoPer-track coverage summaries (exome and/or genome).
target_kindNoWhich target type was queried.
reference_genomeNoEffective reference build.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, so the description doesn't need to repeat safety. It adds behavioral details like echoing the effective dataset and build and returning both tracks by default, which are not in annotations and provide useful operational context. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, front-loaded with the core function, followed by a practical use case and a parameter constraint. Each sentence adds value with no filler, and the structure flows logically from what to why to how.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (6 params), full schema coverage, and an output schema, the description covers the primary use case, key constraints, and return behavior without needing to describe return types. It is complete for the agent to understand when and how to invoke it, though it could explicitly mention that the result contains per-track data, which is implied but not stated outright.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

While the schema has 100% description coverage, the description adds the crucial constraint that exactly one of gene, transcript_id, or region must be supplied, which is not fully explicit in the schema (region is specified as mutually exclusive, but the mutual exclusivity among all three is not enforced in the schema). This extra guidance makes parameter semantics clearer than schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool fetches gnomAD sequencing-coverage summaries for a gene, transcript, or region, listing the specific metrics (mean/median depth, fraction covered by thresholds) and the track separation. This distinguishes it from sibling tools that handle variants, constraints, or dataframes, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides an explicit use case: disambiguating true absent variants from uncallable positions, explaining why a well-covered region is informative. It also states the hard constraint of supplying exactly one of gene, transcript_id, or region, and mentions the optional coverage_source narrowing. This is strong grounding for when to use the tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gnomad_get_gene_constraintgnomad-genetics-mcp-server: get gene constraintA
Read-onlyIdempotent
Inspect

Fetch gnomAD loss-of-function constraint for a gene — pLI (probability of LoF intolerance; >0.9 intolerant), LOEUF (oe_lof_upper, the headline metric; <0.6 intolerant in v4, <0.35 in v2) 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). Many genes have null constraint (sparse upstream) — null fields are reported as such, never fabricated. v4 constraint is flagged beta by the gnomAD team; constraint_flags surfaces any caveats. Echoes the effective dataset and reference build.

ParametersJSON Schema
NameRequiredDescriptionDefault
geneYesGene — HGNC symbol (e.g. PCSK9) or Ensembl gene ID (e.g. ENSG00000169174). Obtain a stable ID from ensembl_lookup_gene.
datasetNognomAD dataset: gnomad_r4 (GRCh38, default), gnomad_r3 (GRCh38), gnomad_r2_1 (GRCh37), exac (GRCh37). Echoed in output.
reference_genomeNoReference 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.

Output Schema

ParametersJSON Schema
NameRequiredDescription
pliNopLI — probability of LoF intolerance; >0.9 intolerant. Null when unavailable.
errorNoPresent when the call failed. Absent on success.
lof_zNoLoF constraint Z-score. Null when unavailable.
mis_zNoMissense constraint Z-score. Null when unavailable.
syn_zNoSynonymous constraint Z-score. Null when unavailable.
oe_lofNoObserved/expected LoF ratio. Null when unavailable.
oe_misNoObserved/expected missense ratio. Null when unavailable.
oe_synNoObserved/expected synonymous ratio. Null when unavailable.
symbolNoHGNC gene symbol.
datasetNoEffective gnomAD dataset.
exp_lofNoExpected LoF variant count. Null when unavailable.
exp_misNoExpected missense count. Null when unavailable.
exp_synNoExpected synonymous count. Null when unavailable.
gene_idNoEnsembl gene ID resolved for the gene.
obs_lofNoObserved LoF variant count. Null when unavailable.
obs_misNoObserved missense count. Null when unavailable.
obs_synNoObserved synonymous count. Null when unavailable.
oe_lof_lowerNoLOEUF confidence-interval lower bound. Null when unavailable.
oe_lof_upperNoLOEUF (oe_lof_upper) — the headline intolerance metric. Null when unavailable.
constraint_flagsNoConstraint caveat flags (e.g. beta/experimental notes for v4).
reference_genomeNoEffective reference build.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations include readOnlyHint, openWorldHint, and idempotentHint, but the description goes beyond by disclosing that null fields are reported as such (never fabricated), the v4 constraint is flagged beta, and constraint_flags surfaces caveats. It also states the tool echoes the effective dataset and build, which is important for understanding output. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is information-dense but not overly long. It front-loads the primary purpose and then provides necessary interpretive context. A few minor redundancies with schema (echoes dataset/build) exist but are not wasteful. It is well-structured with clear sentences, earning a 4 rather than 5 due to slight redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity and the rich output schema, the description covers all critical aspects: acceptance criteria for gene IDs, dataset options, interpretation thresholds, data quality caveats (null fields, beta flag, constraint_flags), and alignment with the reference genome. It is complete for an agent to decide and invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so each parameter's description is detailed (e.g., gene accepts HGNC or Ensembl ID, dataset enum values, reference_genome derivation from dataset). The description adds value by explaining the relationship between dataset and reference build and emphasizing that reference_genome must match dataset or the call is rejected, which is not explicit in the schema. However, it does not add further parameter-level semantics beyond what schema provides, hence not a 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool fetches gnomAD loss-of-function constraint for a gene, listing specific metrics (pLI, LOEUF, Z-scores). It distinguishes itself from sibling tools by emphasizing the constraint/orthogonal axis to allele frequency, and it accepts HGNC symbol or Ensembl ID, which is unique among the listed siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly explains when to use this tool: for assessing gene constraint, the orthogonal axis to allele frequency, which complements variant-level tools like gnomad_get_variant. It also provides concrete thresholds for interpreting pLI and LOEUF, guiding the agent on how to interpret results, and advises obtaining stable IDs from ensembl_lookup_gene. It does not explicitly name alternatives but clearly contrasts with allele frequency tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gnomad_get_variantgnomad-genetics-mcp-server: get variantA
Read-onlyIdempotent
Inspect

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[] 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
datasetNognomAD dataset: gnomad_r4 (GRCh38, default), gnomad_r3 (GRCh38), gnomad_r2_1 (GRCh37), exac (GRCh37). Echoed in output.
variantsYes1–25 variant IDs (chrom-pos-ref-alt or rsID) to look up in one batched call.
reference_genomeNoReference 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.

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNoPresent when the call failed. Absent on success.
foundNoVariants resolved to a population record.
failedNoPer-item failures: malformed IDs, variants absent from the dataset, or upstream errors.
datasetNoEffective gnomAD dataset used for the batch.
reference_genomeNoEffective reference build used for the batch.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses per-item partial success (malformed/absent IDs land in failed[]), and explains that an empty found[] for a well-formed ID means absence from the dataset. This adds concrete behavioral details beyond the readOnly/idempotent annotations, with no contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is thorough but well-structured, with a clear progression from purpose to batch behavior to pairing advice. While long, each sentence contributes useful detail without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (batch processing, open-world hint, output schema), the description covers critical operational aspects: partial success handling, empty results interpretation, and caution about callability. It is complete for the tool's scope.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

While schema coverage is 100% with detailed descriptions, the description adds practical context on obtaining variant IDs (e.g., from VCF or ensembl_predict_variant) and clarifies the 1-based chrom-pos-ref-alt format, slightly enhancing parameter understanding beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool fetches gnomAD population records for variants, lists included data types (allele counts, frequencies, quality flags, etc.), and distinguishes from siblings by focusing on the 'how common, is it benign' answer.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides usage guidance by mentioning pairing with gnomad_get_coverage to confirm callability and implying this tool for frequency/clinical significance, though it could more explicitly state when to prefer related tools like gnomad_get_gene_constraint or gnomad_list_gene_variants.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gnomad_list_gene_variantsgnomad-genetics-mcp-server: list gene variantsA
Read-onlyIdempotent
Inspect

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. The full result is staged on a DataCanvas table named gene_variants and an inline preview is returned alongside canvas_id and table_name — run gnomad_dataframe_query against them to rank by AF, count by consequence, or group across the complete set rather than the preview. When the canvas is disabled (CANVAS_PROVIDER_TYPE != duckdb) the tool returns a capped inline preview with spilled=false and canvas_id empty; the SQL path is then unavailable. Supply exactly one of gene, transcript_id, or region. Echoes the effective dataset and build.

ParametersJSON Schema
NameRequiredDescriptionDefault
geneNoGene — HGNC symbol (e.g. PCSK9) or Ensembl gene ID (e.g. ENSG00000169174). Obtain a stable ID from ensembl_lookup_gene.
max_afNoKeep only variants with allele frequency ≤ this value (0–1). Variants with null AF are always kept.
regionNoGenomic region chrom-start-stop (1-based inclusive). Mutually exclusive with gene and transcript_id.
datasetNognomAD dataset: gnomad_r4 (GRCh38, default), gnomad_r3 (GRCh38), gnomad_r2_1 (GRCh37), exac (GRCh37). Echoed in output.
canvas_idNoOptional canvas ID from a prior call, to reuse the same canvas. Reusing it REPLACES (overwrites) the gene_variants table with this call's results — it does not append. Omit to start a fresh canvas; the response returns a new one.
transcript_idNoEnsembl transcript ID (e.g. ENST00000302118). Mutually exclusive with gene and region.
reference_genomeNoReference 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_classNoKeep only variants in this consequence class. Omit to return all classes.

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNoPresent when the call failed. Absent on success.
totalNoTotal matching variants (staged row count when spilled, else preview length).
noticeNoGuidance when no variants matched, or when the canvas is disabled and the preview is capped.
datasetNoEffective gnomAD dataset.
previewNoInline preview rows — the immediate answer.
spilledNoTrue when the full result was staged on the canvas beyond the preview.
canvas_idNoCanvas ID — pass to gnomad_dataframe_query. Empty string when canvas is disabled.
table_nameNoCanvas table holding the full set (gene_variants); empty when not spilled.
reference_genomeNoEffective reference build.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only mark readOnly, idempotent, and openWorld; the description goes far beyond by detailing the canvas staging behavior (table name, preview, canvas_id), the spill condition when canvas is disabled, the exact overwrite semantics for canvas_id reuse, and the echo of effective dataset/build. This is rich behavioral disclosure not present in annotations, and it doesn't contradict them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact but dense with information, using parallel structure and clear clauses. It front-loads the primary action and scoping, then adds necessary caveats (canvas behavior, exclusivity). Every sentence carries meaningful value; there is no repetitive or filler text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (8 params, canvas interaction, conditional behaviors) and the presence of a full schema and output schema, the description is remarkably complete. It covers all operational behaviors, follow-up steps, and edge cases (e.g., null AF handling, canvas disabled). The description fully compensates for any gaps the annotations or schema do not address.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and each parameter has detailed descriptions, but the tool-level description adds crucial cross-parameter semantics: the mutual exclusivity of gene/transcript_id/region, the relationship between dataset and reference_genome, and the effect of max_af on null AF variants. These relationships are not fully captured in schema field descriptions and are essential for correct invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description specifies the action (list every gnomAD variant) with clear scoping (in a gene, transcript, or region) and key outputs (allele frequencies, predicted consequences). It distinguishes from siblings like gnomad_get_variant (which fetches a single variant) and gnomad_get_coverage, and even names the alternative gnomad_dataframe_query for post-querying.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use this tool and when not: it lists the required exclusivity condition (exactly one of gene, transcript_id, or region), the optional filters (consequence_class, max_af), and the follow-up path via gnomad_dataframe_query. It also warns about canvas behavior when disabled, giving clear usage context without needing to infer from siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gnomad_search_clinvargnomad-genetics-mcp-server: search clinvarA
Read-onlyIdempotent
Inspect

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, and submission counts — 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. The full set is staged on a DataCanvas table named clinvar_variants with an inline preview; query it with gnomad_dataframe_query to rank or count across the complete set. Keyless, but honors NCBI_API_KEY for a higher rate limit. When the canvas is disabled the tool returns a capped inline preview with spilled=false. Credit: ClinVar, NCBI.

ParametersJSON Schema
NameRequiredDescriptionDefault
geneYesGene 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.
canvas_idNoOptional canvas ID from a prior call, to reuse the same canvas. Reusing it REPLACES (overwrites) the clinvar_variants table with this call's results — it does not append. Omit to start a fresh canvas; the response returns a new one.
min_review_starsNoKeep only variants with at least this gold-star review rating (0–4).
clinical_significanceNoFilter by ClinVar clinical significance term (e.g. pathogenic, likely_pathogenic, benign).

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNoPresent when the call failed. Absent on success.
totalNoTotal matching ClinVar records (staged row count when spilled, else preview length).
noticeNoGuidance when no ClinVar records matched, or when the canvas is disabled and the preview is capped.
previewNoInline preview rows — the immediate answer.
spilledNoTrue when the full result was staged on the canvas beyond the preview.
canvas_idNoCanvas ID — pass to gnomad_dataframe_query. Empty string when canvas is disabled.
table_nameNoCanvas table holding the full set (clinvar_variants); empty when not spilled.
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotation Contradiction: readOnlyHint is true, but the description says the full set is staged on a DataCanvas table and the schema notes that reusing a canvas_id REPLACES the table. This describes a write/side-effect behavior that conflicts with the read-only annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the purpose, then covers filters, DataCanvas staging, query alternative, API-key behavior, and fallback behavior. It is somewhat dense and includes minor extras like 'Credit: ClinVar, NCBI', but every major sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the external source, rate-limit behavior, DataCanvas staging, disabled-canvas fallback, filtering options, and the recommended way to query the complete result set. The output schema handles return-value expectations. The readOnlyHint contradiction leaves the overall behavioral context slightly incoherent, preventing a perfect score.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all four parameters thoroughly. The description adds only light extra meaning, such as examples for clinical_significance ('pathogenic') and the 0–4 star rating concept; it does not materially compensate beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific action and resource: 'Search ClinVar (NCBI E-utilities) for a gene and return its classified variants.' It clearly differentiates this tool from gnomAD-native siblings by emphasizing an external ClinVar source, gene-level classification, and a 'gene-panel curation view.'

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description supplies clear context: you use this tool when you need ClinVar variant classifications for a gene, with optional filters and a staged DataCanvas table for further querying via gnomad_dataframe_query. It does not explicitly state when not to use it or name alternative tools beyond the dataframe query direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • F
    license
    B
    quality
    D
    maintenance
    Enables AI assistants to query genetic variant data, gene constraints, and population genetics information from the gnomAD (Genome Aggregation Database) through its GraphQL API. Supports searching for genes and variants, retrieving constraint scores, analyzing population frequencies, and accessing genomic coverage data.
    9
    10
  • F
    license
    A
    quality
    A
    maintenance
    Enables querying rare-variant, gene-based association results across ~1.2M individuals from 10 global biobanks, supporting phenome-wide scans, replication screens across ancestries, and candidate list evaluation for 44 harmonized traits.
    4
  • A
    license
    B
    quality
    D
    maintenance
    Provides a programmatic interface to the Genome Aggregation Database (gnomAD) API across versions v2.1.1, v3.1.2, and v4.1.0. It enables users to query gene metadata, variant information, population frequencies, and ClinVar data through a unified schema.
    12
    6
    Apache 2.0

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.