Skip to main content
Glama

Variant

variant
Read-onlyIdempotent

Variant by chr-pos-ref-alt (e.g. "1-55051215-G-A") or rsid (e.g. "rs1801133"). Coordinates must match the dataset's genome build: the default gnomad_r4 is GRCh38, so a GRCh37/hg19 position will not be found — pass dataset "gnomad_r2_1" for GRCh37.

Input Schema

NameRequiredDescriptionDefault
datasetNoDefault gnomad_r4.
variant_idYes

Output Schema

NameRequiredDescriptionDefault
variantNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedOutput schema / properties / variant / properties / transcript_consequences / items / properties / hgvsp / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / variant / properties / transcript_consequences / items / properties / is_canonical / type
      Previous value: -"boolean"New value: +[
      +  "boolean",
      +  "null"
      +]
  2. Changed2 schema fields changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "variant_id": "1-55051215-G-A"
      +  },
      +  {
      +    "dataset": "gnomad_r4",
      +    "variant_id": "rs1801133"
      +  }
      +]
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "variant": {
      +      "properties": {
      +        "alt": {
      +          "description": "Alternate allele",
      +          "type": "string"
      +        },
      +        "chrom": {
      +          "description": "Chromosome",
      +          "type": "string"
      +        },
      +        "clinvar": {
      +          "properties": {
      +            "clinical_significance": {
      +              "description": "ClinVar clinical significance",
      +              "type": "string"
      +            },
      +            "gold_stars": {
      +              "description": "ClinVar review status stars",
      +              "type": "number"
      +            },
      +            "submissions": {
      +              "items": {
      +                "properties": {
      +                  "clinical_significance": {
      +                    "description": "Submission clinical significance",
      +                    "type": "string"
      +                  },
      +                  "review_status": {
      +                    "description": "Submission review status",
      +                    "type": "string"
      +                  }
      +                },
      +                "type": "object"
      +              },
      +              "type": "array"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "exome": {
      +          "properties": {
      +            "ac": {
      +              "description": "Allele count",
      +              "type": "number"
      +            },
      +            "af": {
      +              "description": "Allele frequency",
      +              "type": "number"
      +            },
      +            "an": {
      +              "description": "Allele number",
      +              "type": "number"
      +            },
      +            "homozygote_count": {
      +              "description": "Count of homozygotes",
      +              "type": "number"
      +            },
      +            "populations": {
      +              "items": {
      +                "properties": {
      +                  "ac": {
      +                    "description": "Population allele count",
      +                    "type": "number"
      +                  },
      +                  "af": {
      +                    "description": "Population allele frequency",
      +                    "type": "number"
      +                  },
      +                  "an": {
      +                    "description": "Population allele number",
      +                    "type": "number"
      +                  },
      +                  "id": {
      +                    "description": "Population identifier",
      +                    "type": "string"
      +                  }
      +                },
      +                "type": "object"
      +              },
      +              "type": "array"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "genome": {
      +          "properties": {
      +            "ac": {
      +              "description": "Allele count",
      +              "type": "number"
      +            },
      +            "af": {
      +              "description": "Allele frequency",
      +              "type": "number"
      +            },
      +            "an": {
      +              "description": "Allele number",
      +              "type": "number"
      +            },
      +            "homozygote_count": {
      +              "description": "Count of homozygotes",
      +              "type": "number"
      +            },
      +            "populations": {
      +              "items": {
      +                "properties": {
      +                  "ac": {
      +                    "description": "Population allele count",
      +                    "type": "number"
      +                  },
      +                  "af": {
      +                    "description": "Population allele frequency",
      +                    "type": "number"
      +                  },
      +                  "an": {
      +                    "description": "Population allele number",
      +                    "type": "number"
      +                  },
      +                  "id": {
      +                    "description": "Population identifier",
      +                    "type": "string"
      +                  }
      +                },
      +                "type": "object"
      +              },
      +              "type": "array"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "pos": {
      +          "description": "Genomic position",
      +          "type": "number"
      +        },
      +        "ref": {
      +          "description": "Reference allele",
      +          "type": "string"
      +        },
      +        "reference_genome": {
      +          "description": "Reference genome version",
      +          "type": "string"
      +        },
      +        "rsids": {
      +          "description": "rsID identifiers",
      +          "type": [
      +            "array",
      +            "null"
      +          ]
      +        },
      +        "transcript_consequences": {
      +          "items": {
      +            "properties": {
      +              "consequence_terms": {
      +                "description": "VEP consequence terms",
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              "gene_id": {
      +                "description": "Ensembl gene ID",
      +                "type": "string"
      +              },
      +              "gene_symbol": {
      +                "description": "Gene symbol",
      +                "type": "string"
      +              },
      +              "hgvsc": {
      +                "description": "HGVS cDNA notation",
      +                "type": "string"
      +              },
      +              "hgvsp": {
      +                "description": "HGVS protein notation",
      +                "type": "string"
      +              },
      +              "is_canonical": {
      +                "description": "Whether transcript is canonical",
      +                "type": "boolean"
      +              },
      +              "transcript_id": {
      +                "description": "Ensembl transcript ID",
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "variant_id": {
      +          "description": "Variant identifier (chr-pos-ref-alt format)",
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    }
      +  },
      +  "type": "object"
      +}
  3. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral context: the genome build mismatch failure mode and the dataset-specific coordinate requirement. It doesn't describe return format, but the output schema exists, so that burden is reduced. 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?

Two sentences, both dense with useful information. The identifier formats and examples are front-loaded, and the genome build caveat follows naturally. No wasted words.

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?

For a 2-parameter read-only lookup with an output schema, the description is nearly complete. It covers the identifier formats, the critical genome build mismatch issue, and the alternative dataset. The only minor gap is that it doesn't explicitly state what the tool returns, but the output schema covers that. The sibling list shows this is one of several entity-lookup tools, and the description sufficiently differentiates it.

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 description coverage is 50%: the dataset parameter has a description, but variant_id has none. The description compensates by explaining the two accepted formats for variant_id (chr-pos-ref-alt and rsid) with examples, and clarifies the dataset parameter's role in genome build selection. This adds meaning beyond the schema, though it could be even more explicit about the dataset parameter's allowed values.

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 states a specific verb ('Variant') and resource (variant by chr-pos-ref-alt or rsid), with concrete examples. It clearly distinguishes this from siblings like gene and region by naming the identifier formats. The title is generic, but the description fully specifies what the tool does.

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 tells when to use this tool (querying a variant by chr-pos-ref-alt or rsid) and provides a critical usage condition: matching the dataset's genome build. It names the alternative dataset (gnomad_r2_1) for GRCh37, which is a clear when-to-use/alternative distinction. This is explicit guidance beyond what the schema provides.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.