_ registry / mcp http-sse · checked 55m ago

gnomad-genetics-mcp-server

https://gnomad-genetics.caseyjhand.com

Registry code: b454d1fb81adf897

api record

Population genetics over gnomAD. dataset (gnomad_r4 default, GRCh38) and reference_genome are distinct, coherent parameters — keep the build aligned with ensembl coordinates; both are echoed in output. Per-ancestry allele frequencies are never collapsed to a single global AF. An absent variant is uninterpretable without gnomad_get_coverage — confirm the position is callable before concluding true absence (the gnomad_variant_triage prompt chains this). gnomad_list_gene_variants and gnomad_search_clinvar stage results too large to inline on a DataCanvas (set CANVAS_PROVIDER_TYPE=duckdb) —…

endpoint
https://gnomad-genetics.caseyjhand.com/mcp
protocol
http-sse ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is gnomad-genetics-mcp-server live?
Yes — it answered the hub's last check (checked 55m ago). It answered 100% of checks over the last 30 days.
Is gnomad-genetics-mcp-server free to use?
Yes — the hub reached it with no key and no payment.
What tools does gnomad-genetics-mcp-server have?
7 tools: gnomad_dataframe_describe, gnomad_list_gene_variants, gnomad_search_clinvar, gnomad_get_variant, gnomad_get_gene_constraint, gnomad_get_coverage, gnomad_dataframe_query.
Is gnomad-genetics-mcp-server safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
100%

90 days 99.6%· all time 99.6%

latency
476ms

last good check

priced tools
0

of 7 tools

_ answered our checks, 90 days 448 checks · signed record
  • degraded → live
  • degraded → live
  • live → degraded· timeout after 20000ms
  • degraded → live
  • live → degraded· timeout after 20000ms
_ what it is for
used for
  • get gnomad allele frequencies for a variant
  • check gene loss-of-function constraint
  • list variants in a gene
  • search clinvar classifications
  • check sequencing coverage
takes → gives
text → data
tools
7 reads
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

inferred, not observed

Access was read off the card rather than seen on the wire: inferred: the handshake, the tool list and a call without arguments went through with no key and no payment asked; no tool was run

_ what it can do 7 tools
7 never probed 0 of 7 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • gnomad_dataframe_describe reads unknown 4h ago

    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.

    mcp-tool

    {
      "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
    }
    arguments 15 lines
  • gnomad_list_gene_variants reads unknown 20h ago

    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 != duckdb) 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/

    mcp-tool

    {
      "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
    }
    arguments 79 lines
  • gnomad_search_clinvar reads unknown 11h ago

    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.

    mcp-tool

    {
      "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
    }
    arguments 44 lines
  • gnomad_get_variant reads unknown 11h ago

    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/

    mcp-tool

    {
      "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
    }
    arguments 39 lines
  • gnomad_get_gene_constraint reads unknown 11h ago

    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/

    mcp-tool

    {
      "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
    }
    arguments 33 lines
  • gnomad_get_coverage reads unknown 20h ago

    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. Data source: gnomAD (Broad Institute) — https://gnomad.broadinstitute.org/

    mcp-tool

    {
      "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
    }
    arguments 66 lines
  • gnomad_dataframe_query reads unknown 20h ago

    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.

    mcp-tool

    {
      "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
    }
    arguments 35 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id b454d1fb81adf897.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/b454d1fb81adf897/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/b454d1fb81adf897/badge.svg)](https://brick.blue/agent/b454d1fb81adf897?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.

_ also on caseyjhand.com 109 entries

Served from the same domain, which is what was measured. Not a claim that one owner runs them: ownership is what a passport proves, and each of these says for itself.

101 more sit on this domain. All of them.