Skip to main content
Glama

Find GenCC Curations

find_curations
Read-onlyIdempotent

Filter or browse aggregated gene-disease validity assertions by classification, submitter, inheritance, gene, disease, or conflict status, with paging.

Instructions

Filter aggregated gene-disease assertions by classification(s), submitter(s), mode of inheritance, gene, disease, or conflict status, with limit/offset paging. Example: classification=['Definitive'], moi='Autosomal dominant', submitter=['ClinGen']. With NO filters it browses the whole catalog one page at a time (default 50 rows). classification/submitter/moi match at the submission level (any submitter), not the consensus -- each row's matched field names the triggering submission. Filter values are validated (case-insensitive); out-of-vocabulary values return invalid_input with the accepted set (case-insensitive; see get_server_capabilities / list_submitters), and an unresolvable gene or disease returns not_found. A filter passed as a blank string / empty list is rejected -- omit a filter to browse. Pass ids_only=true to return only {gene_curie, disease_curie} pairs for cheap paging. Large sweeps: follow truncated.next_cursor (an opaque, release-bound page token) via _meta.next_commands; a cursor minted under a prior data release is rejected so a weekly refresh can't silently skip or duplicate rows.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
moiNoRestrict to one mode-of-inheritance title (closed vocabulary; case-insensitive; see get_server_capabilities.inheritance_modes).
limitNoRows per page (1-200; values above 200 are clamped).
cursorNoOpaque, release-bound page token from a prior truncated.next_cursor.
offsetNoZero-based row offset for paging.
diseaseNoRestrict to one disease (MONDO/OMIM CURIE or exact title); unresolvable -> not_found.
ids_onlyNoReturn only {gene_curie, disease_curie} pairs for cheap paging.
submitterNoRestrict to these submitters by title (e.g. ClinGen) or GenCC submitter CURIE; validated case-insensitively against the live roster (see list_submitters).
gene_symbolNoRestrict to one gene (approved symbol or HGNC CURIE); unresolvable -> not_found.
has_conflictNoKeep only pairs with (true) or without (false) a submitter conflict.
response_modeNoVerbosity: minimal | compact | standard | full.compact
classificationNoRestrict to submissions carrying one of these GenCC classification titles (closed vocabulary; case-insensitive).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.8.7
    • changedInput schema / properties / moi / anyOf
      Previous value: -[
      -  {
      -    "enum": [
      -      "Autosomal dominant",
      -      "Autosomal recessive",
      -      "Mitochondrial",
      -      "Semidominant",
      -      "Unknown",
      -      "X-linked",
      -      "X-linked recessive",
      -      "Y-linked inheritance"
      -    ],
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "enum": [
      +      "Autosomal dominant",
      +      "Autosomal recessive",
      +      "Digenic inheritance",
      +      "Mitochondrial",
      +      "Semidominant",
      +      "Unknown",
      +      "X-linked",
      +      "X-linked recessive",
      +      "Y-linked inheritance"
      +    ],
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  2. Changed23 schema fields changedv0.8.2
    • changedInput schema / properties / classification / anyOf
      Previous value: -[
      -  {
      -    "items": {
      -      "type": "string"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "items": {
      +      "enum": [
      +        "Definitive",
      +        "Strong",
      +        "Moderate",
      +        "Supportive",
      +        "Limited",
      +        "Disputed Evidence",
      +        "Refuted Evidence",
      +        "Animal Model Only",
      +        "No Known Disease Relationship"
      +      ],
      +      "type": "string"
      +    },
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / classification / description
      Added value: +"Restrict to submissions carrying one of these GenCC classification titles (closed vocabulary; case-insensitive)."
    • addedInput schema / properties / classification / examples
      Added value: +[
      +  [
      +    "Definitive"
      +  ],
      +  [
      +    "Definitive",
      +    "Strong"
      +  ]
      +]
    • addedInput schema / properties / cursor / description
      Added value: +"Opaque, release-bound page token from a prior truncated.next_cursor."
    • addedInput schema / properties / disease / description
      Added value: +"Restrict to one disease (MONDO/OMIM CURIE or exact title); unresolvable -> not_found."
    • addedInput schema / properties / disease / examples
      Added value: +[
      +  "MONDO:0011450"
      +]
    • addedInput schema / properties / gene_symbol / description
      Added value: +"Restrict to one gene (approved symbol or HGNC CURIE); unresolvable -> not_found."
    • addedInput schema / properties / gene_symbol / examples
      Added value: +[
      +  "BRCA1",
      +  "HGNC:1100"
      +]
    • addedInput schema / properties / has_conflict / description
      Added value: +"Keep only pairs with (true) or without (false) a submitter conflict."
    • removedInput schema / properties / hgnc_id
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null
      -}
    • addedInput schema / properties / ids_only / description
      Added value: +"Return only {gene_curie, disease_curie} pairs for cheap paging."
    • addedInput schema / properties / limit / description
      Added value: +"Rows per page (1-200; values above 200 are clamped)."
    • addedInput schema / properties / limit / examples
      Added value: +[
      +  50
      +]
    • changedInput schema / properties / moi / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "enum": [
      +      "Autosomal dominant",
      +      "Autosomal recessive",
      +      "Mitochondrial",
      +      "Semidominant",
      +      "Unknown",
      +      "X-linked",
      +      "X-linked recessive",
      +      "Y-linked inheritance"
      +    ],
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / moi / description
      Added value: +"Restrict to one mode-of-inheritance title (closed vocabulary; case-insensitive; see get_server_capabilities.inheritance_modes)."
    • addedInput schema / properties / moi / examples
      Added value: +[
      +  "Autosomal dominant"
      +]
    • addedInput schema / properties / offset / description
      Added value: +"Zero-based row offset for paging."
    • addedInput schema / properties / offset / examples
      Added value: +[
      +  0
      +]
    • addedInput schema / properties / response_mode / examples
      Added value: +[
      +  "compact"
      +]
    • changedInput schema / properties / submitter / anyOf
      Previous value: -[
      -  {
      -    "items": {
      -      "type": "string"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "items": {
      +      "enum": [
      +        "Ambry Genetics",
      +        "Baylor College of Medicine Research Center",
      +        "Broad Center for Mendelian Genomics",
      +        "ClinGen",
      +        "Franklin by Genoox",
      +        "G2P",
      +        "Genomics England PanelApp",
      +        "Illumina",
      +        "King Faisal Specialist Hospital and Research Center",
      +        "Labcorp Genetics (formerly Invitae)",
      +        "Laboratory for Molecular Medicine",
      +        "LiferaOmics",
      +        "Myriad Women's Health",
      +        "Natera",
      +        "Orphanet",
      +        "PMGRC",
      +        "PanelApp Australia",
      +        "Stanford Center for Undiagnosed Diseases",
      +        "University of Washington Center for Rare Disease Research (UW-CRDR)"
      +      ],
      +      "type": "string"
      +    },
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / submitter / description
      Added value: +"Restrict to these submitters by title (e.g. ClinGen) or GenCC submitter CURIE; validated case-insensitively against the live roster (see list_submitters)."
    • addedInput schema / properties / submitter / examples
      Added value: +[
      +  [
      +    "ClinGen"
      +  ]
      +]
    • changedOutput schema / (root)
      Previous value: -{
      -  "additionalProperties": true,
      -  "properties": {
      -    "_meta": {
      -      "additionalProperties": true,
      -      "description": "Per-call envelope metadata.",
      -      "properties": {
      -        "citation_ref": {
      -          "type": "string"
      -        },
      -        "citation_short": {
      -          "type": "string"
      -        },
      -        "data_license": {
      -          "type": "string"
      -        },
      -        "elapsed_ms": {
      -          "type": "number"
      -        },
      -        "gencc_release": {
      -          "type": "string"
      -        },
      -        "next_commands": {
      -          "items": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "arguments": {
      -                "additionalProperties": true,
      -                "type": "object"
      -              },
      -              "tool": {
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "tool",
      -              "arguments"
      -            ],
      -            "type": "object"
      -          },
      -          "type": "array"
      -        },
      -        "recommended_citation": {
      -          "type": "string"
      -        },
      -        "request_id": {
      -          "type": "string"
      -        },
      -        "response_mode": {
      -          "type": "string"
      -        },
      -        "tool": {
      -          "type": "string"
      -        },
      -        "unsafe_for_clinical_use": {
      -          "type": "boolean"
      -        }
      -      },
      -      "type": "object"
      -    },
      -    "count": {
      -      "type": "integer"
      -    },
      -    "error_code": {
      -      "type": "string"
      -    },
      -    "field_errors": {
      -      "items": {
      -        "additionalProperties": true,
      -        "type": "object"
      -      },
      -      "type": "array"
      -    },
      -    "filters": {
      -      "additionalProperties": true,
      -      "type": "object"
      -    },
      -    "headline": {
      -      "type": "string"
      -    },
      -    "message": {
      -      "type": "string"
      -    },
      -    "recovery_action": {
      -      "type": "string"
      -    },
      -    "results": {
      -      "items": {
      -        "additionalProperties": true,
      -        "type": "object"
      -      },
      -      "type": "array"
      -    },
      -    "retryable": {
      -      "type": "boolean"
      -    },
      -    "success": {
      -      "type": "boolean"
      -    },
      -    "total": {
      -      "type": "integer"
      -    },
      -    "truncated": {
      -      "additionalProperties": true,
      -      "properties": {
      -        "hint": {
      -          "type": "string"
      -        },
      -        "next_cursor": {
      -          "type": "string"
      -        },
      -        "next_offset": {
      -          "type": "integer"
      -        },
      -        "returned": {
      -          "type": "integer"
      -        },
      -        "total": {
      -          "type": "integer"
      -        }
      -      },
      -      "type": "object"
      -    }
      -  },
      -  "required": [
      -    "success"
      -  ],
      -  "type": "object"
      -}New value: +null
  3. First observedv0.5.3

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and the description adds substantial behavioral context beyond that: submission-level matching with a `matched` field, case-insensitive validation with invalid_input/not_found error semantics, blank-filter rejection, ids_only cheap paging, and release-bound cursors that are rejected across releases to prevent silent skips/duplicates. This is rich, non-obvious behavior that an agent needs to know.

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 dense but well-organized: the first sentence states the core function, the example illustrates usage, and the remaining sentences cover edge cases and paging. It is longer than average, but every sentence earns its place by disclosing non-obvious behavior. Slight deduction for density; it could be split into clearer paragraphs, but it is front-loaded and not padded.

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 an 11-parameter, 0-required, no-output-schema tool, the description covers the essential operational context: filter semantics, validation failures, paging via cursor/offset/limit, ids_only mode, and release-bound cursor behavior. The absence of an output schema raises the burden, and the description compensates by explaining the `matched` field and truncated.next_cursor. Nothing critical is missing for an agent to call this tool correctly.

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 every parameter's meaning, defaults, and constraints. The description adds a few cross-cutting semantics (e.g., blank string/empty list rejection, cursor release-binding, ids_only purpose), but it does not need to repeat per-parameter details. Baseline 3 is appropriate because the schema carries the heavy lifting and the description adds only marginal parameter-level value.

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 verb ('Filter aggregated gene-disease assertions') and enumerates the filter dimensions (classification, submitter, MOI, gene, disease, conflict status) plus paging. It clearly distinguishes this browse/filter tool from the sibling get_gene_curations/get_disease_curations tools by emphasizing the aggregated, cross-submitter catalog and the no-filter browse mode.

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 gives explicit when-to-use guidance: use it to browse the whole catalog when no filters are passed, and it explains the submission-level vs consensus matching semantics. It also names sibling tools (get_server_capabilities, list_submitters) for resolving valid filter values, and warns when a filter is rejected. This is strong routing and usage context.

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