Pod

Available as Markdown and JSON. Pod is also available over MCP.

Reported issues for gnomad-genetics-mcp-server

Pod holds 16 of 17 GitHub reports that passed its relevance review. This can include external user reports, maintainer-confirmed bugs, and concrete feature gaps. Treat them as evidence to inspect, not a count of distinct defects.

Back to gnomad-genetics-mcp-server.

Most discussed

bug(gnomad_get_variant): absent coordinate IDs fail as graphql_error instead of not-found

Server version

0.2.1

mcp-ts-core version

0.12.3

Runtime

Bun

Runtime version

Bun 1.4.0 / Node v26.5.0

Transport

HTTP (Streamable HTTP)

Description

An absent coordinate variant surfaces as a generic GraphQL failure instead of as absence. For a missing variant, gnomAD returns HTTP 200 with one pathless error, {"message":"Variant not found"}, and data: {"variant": null, "clinvar_variant": null} on all four datasets. gnomAD strips path from every error it…

Read the thread · 2026-08-31 · closed · 4 comments

bug(gnomad_get_variant): failed[] items drop the failure's reason and recovery hint

Server version

0.3.0

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

stdio

Description

gnomad_get_variant catches each item's service error and records only err.message in failed[].error. The error's data.reason and recovery hint are dropped, so a caller reading failed[] cannot branch on why an item failed or learn its next step. An item that exhausts retries reads gnomAD is unavailable or rate-limited. with no guidance,…

Read the thread · 2026-09-30 · closed · 1 comment

bug(chromosome-m): mitochondrial IDs, regions, and genes return false absence

Server version

0.3.0

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

stdio

Description

gnomAD serves mitochondrial variants through separate fields (mitochondrial_variant, gene.mitochondrial_variants, mitochondrial_coverage). The server accepts chromosome M in coordinate variant IDs and regions and resolves mitochondrial genes, but it queries only the nuclear fields, which answer with nothing. Callers get absence for variants…

Read the thread · 2026-09-30 · closed · 1 comment

bug(gnomad_search_clinvar): query syntax in gene escapes the [gene] field

Server version

0.2.2

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

stdio

Description

gnomad_search_clinvar splices gene into the ESearch term as ${gene}[gene] with no character check. A value carrying E-utilities query syntax (parentheses, brackets, quotes, a trailing OR/AND/NOT) detaches the [gene] tag, NCBI rewrites the term to [All Fields], and the tool returns other genes' records labeled as the requested gene.…

Read the thread · 2026-09-24 · closed · 1 comment

bug(upstream-errors): gnomAD's caller-correctable 500 messages retry as upstream_unavailable

Server version

0.2.2

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

stdio

Description

gnomAD answers some caller-correctable requests with HTTP 500 and a user-facing GraphQL message. The server classifies every 5xx as upstream_unavailable, retries it four times, and drops the message. A region under the 2.5 Mb span limit that holds more than gnomAD's per-region ceiling of 30,000 variants is the case no local pre-check can predict…

Read the thread · 2026-09-24 · closed · 1 comment

bug(error-contracts): sanitizer reasons reach callers undeclared

Server version

0.2.2

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

stdio

Description

The gnomAD and ClinVar services put a typed data.reason on every failure, but the tools' and resources' errors[] contracts declare few of them. Callers receive reasons no definition advertises, and every undeclared reason except the two the sanitizer hard-codes reaches the wire with no recovery hint. Undeclared today:

| Surface | Reachable,…

Read the thread · 2026-09-24 · closed · 1 comment

bug(canvas): staging tools return ~120 KB per call — preview budget lands on both surfaces

Server version

0.2.2

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

stdio

Description

With DataCanvas enabled, gnomad_search_clinvar and gnomad_list_gene_variants call spillover() with previewChars: 60_000, and the preview rows land on both surfaces — structuredContent.preview and the format() text. One call therefore returns roughly twice the preview budget, ~30k tokens, before the caller has asked for anything beyond…

Read the thread · 2026-09-24 · closed · 1 comment

bug(gnomad_get_variant): gnomad_r3 SpliceAI values become NaN and fail every batch containing one

Server version

0.2.2

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

stdio

Description

On gnomad_r3, gnomAD returns splice_ai as a score followed by the SpliceAI event in parentheses, e.g. "0.00 (no_consequence)". GnomadService maps every predictor with Number(p.value), so these values become NaN. gnomad_get_variant output validation then rejects the whole response, losing every variant in the batch, including those…

Read the thread · 2026-09-24 · closed · 1 comment

Most recent

bug(gnomad_get_coverage): positions counts gnomAD's coverage buckets, not bases

Server version

0.3.0

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

stdio

Description

gnomAD returns region, gene, and transcript coverage in buckets of max(floor(span / 500), 1) bp (graphql-api/src/queries/coverage-queries.ts in broadinstitute/gnomad-browser). getCoverage() reports positions: bins.length, which the output schema describes as "Number of base positions summarized across the target", so any target longer…

Read the thread · 2026-09-30 · open · 0 comments

bug(canvas): fit-inline calls mint empty canvases and leave reused tables stale

Server version

0.2.2

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

HTTP (Streamable HTTP)

Description

gnomad_list_gene_variants and gnomad_search_clinvar call canvas.acquire(input.canvas_id, ctx) before spillover() decides whether to stage anything. Two defects follow:

Read the thread · 2026-09-24 · closed · 1 comment

bug(gnomad_search_clinvar): format() claims the canvas is disabled when it is enabled

Server version

0.2.2

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

HTTP (Streamable HTTP)

Description

With CANVAS_PROVIDER_TYPE=duckdb set, gnomad_search_clinvar given an Ensembl gene ID renders **Canvas disabled** — inline preview only., which tells the model the SQL path is unavailable when it is available. The Ensembl-ID short-circuit returns canvas_id: '' without calling canvas.acquire(), and format() treats any…

Read the thread · 2026-09-20 · closed · 1 comment

bug(gnomad_dataframe_query): bound results without cross-surface data loss

Server version

0.2.1

mcp-ts-core version

0.12.3

Runtime

Bun

Runtime version

Bun 1.4.0 / Node v26.5.0

Transport

HTTP (Streamable HTTP)

Description

Related: #21, #37

gnomad_dataframe_query puts every row the SQL produces into structuredContent.rows, up to the canvas row cap (CANVAS_DEFAULT_ROW_LIMIT, 10,000 by default), while format() renders the first 50 and then … and N more row(s). content[] readers cannot reach the rest, one call can return…

Read the thread · 2026-08-31 · closed · 1 comment

bug(region): unsupported chromosomes and out-of-range regions retry as upstream_unavailable

Server version

0.2.1

mcp-ts-core version

0.12.3

Runtime

Bun

Runtime version

Bun 1.4.0 / Node v26.5.0

Transport

HTTP (Streamable HTTP)

Description

Related: #1, #39

gnomAD rejects a region deterministically, with HTTP 500 and a GraphQL error message, on every dataset when it breaks any of these rules:

Read the thread · 2026-08-31 · closed · 1 comment

bug(gnomad_get_gene_constraint): exac serves v2.1.1 metrics and no output names the constraint release

Server version

0.2.1

mcp-ts-core version

0.12.3

Runtime

Bun

Runtime version

Bun 1.4.0 / Node v26.5.0

Transport

stdio

Description

gnomad_get_gene_constraint sends gnomAD only the reference genome and echoes the requested dataset as provenance. gene.gnomad_constraint takes no arguments, so the build picks the table (gnomAD v4.1.2 on GRCh38, v2.1.1 on GRCh37). ExAC constraint lives in gene.exac_constraint (GRCh37), which the server never requests. So…

Read the thread · 2026-08-31 · closed · 1 comment

bug(docker): multi-arch image ships the builder's @duckdb binding, not the target platform's

Related: #7

Dockerfile:80 copies node_modules/@duckdb out of the build stage:

COPY --from=build /usr/src/app/node_modules/@duckdb ./node_modules/@duckdb

Since Dockerfile:7 pins the build stage to --platform=$BUILDPLATFORM, that stage resolves dependencies for the builder's platform, not the target's. @duckdb/node-bindings declares one optionalDependency per platform and installs exactly one of them:

$ ls node_modules/@duckdb          # on an arm64 macOS…

[Read the thread](https://github.com/cyanheads/gnomad-genetics-mcp-server/issues/24) · 2026-08-25 · closed · 1 comment

### feat(config): default MCP_SESSION_MODE to stateless across env, Docker, and src

`Dockerfile` sets `ENV MCP_SESSION_MODE="stateless"`, but `.env.example` carries a commented `# MCP_SESSION_MODE=stateful`, whose comment documents the value set as `stateful | stateless (default: stateful)`. The container and the same code run via `bunx`, `npm start`, or from source therefore resolve to different session modes — stateless in Docker, stateful everywhere else, since the framework schema defaults to `auto` and `auto` resolves to `stateful`.

The hosted deployment runs stateless…

[Read the thread](https://github.com/cyanheads/gnomad-genetics-mcp-server/issues/23) · 2026-08-22 · closed · 1 comment

The remaining reports are on [the project's issue tracker](https://github.com/cyanheads/gnomad-genetics-mcp-server/issues).