Gencc Link
FreeNot checkedMCP server that provides tools to query harmonized gene-disease validity data from the Gene Curation Coalition, supporting consensus and conflict detection for
About
MCP server that provides tools to query harmonized gene-disease validity data from the Gene Curation Coalition, supporting consensus and conflict detection for gene-disease assertions.
README
Python 3.12+ CI Conformance License: MIT
An MCP (Model Context Protocol) server that grounds gene-disease validity questions in the Gene Curation Coalition (GenCC) dataset — harmonized across member submitters, with consensus and conflict detection per gene-disease pair.
[!IMPORTANT] Research use only. Not clinical decision support. Do not use for diagnosis, treatment, triage, or patient management.
Why
GenCC has no live API. It ships as a single ~24MB bulk TSV, republished weekly and rate-limited to 20 downloads per IP per day — so an agent cannot query it at all, and a naive integration burns the quota re-downloading it.
Worse, the export is submission-level: one row per submitter assertion. It answers "who said what", never "what does the field think". The judgement a clinician or curator actually wants — is this gene-disease pair settled, and do the curators disagree? — has to be computed.
GenCC-Link builds a local SQLite + FTS5 artifact from that export (fetched
conditionally, so an unchanged week costs a 304 and no quota), and precomputes
per pair the strongest_classification (highest rank across submitters) and a
has_conflict flag when supporting and against assertions coexist. Queries are
local, deterministic, and need no upstream at query time.
Quick start
Hosted, no install:
claude mcp add --transport http gencc-link https://gencc-link.genefoundry.org/mcp
Locally (Python 3.12+, uv) — make data is
the one required step, the server has no data until the export is downloaded
and the database built:
uv sync --group dev
make data # download the GenCC export, build data/gencc.sqlite
make dev # unified REST + MCP server on http://127.0.0.1:8000
claude mcp add --transport http gencc-link http://127.0.0.1:8000/mcp
make mcp-serve starts the stdio server instead (Claude Desktop; see the
MCP connection guide). AUTO_BOOTSTRAP is on by
default outside the container, so the HTTP server will build the database on
first use if you skip make data — at the cost of a slow, surprising first
request. make data-refresh rebuilds only if GenCC published a newer export;
make data-info prints build provenance.
Tools
| Tool | Purpose |
|---|---|
get_server_capabilities |
Tool inventory, classification ranks, response modes, data freshness |
get_gencc_diagnostics |
Build provenance, row/gene/disease/submitter counts, download-quota headroom |
search_genes |
Resolve symbol / HGNC id / partial text to genes (FTS) |
search_diseases |
Resolve title / MONDO / OMIM id to diseases (FTS) |
resolve_identifier |
Map free text to canonical HGNC / MONDO ids |
get_gene_curations |
Every gene-disease assertion for a gene, with strongest classification + conflict |
get_disease_curations |
Every gene asserted for a disease, with strongest classification + conflict |
get_genes_curations |
Batch get_gene_curations: up to 20 genes per call (misses in unresolved) |
get_diseases_curations |
Batch get_disease_curations: up to 20 diseases per call (misses in unresolved) |
get_gene_disease_assertion |
One pair: per-submitter classifications, MOI, PMIDs, URLs + conflict analysis |
find_curations |
Filter assertions by classification / submitter / MOI / conflict (validated enums, ids_only paging, refresh-safe cursor) |
list_submitters |
Submitting organizations and their submission counts |
Leaf names are unprefixed per Tool-Naming Standard v1 — namespacing is the
gateway's job. Behind genefoundry-router
they surface as gencc_<tool> (e.g. gencc_search_genes). Tools whose payloads
vary accept response_mode: minimal | compact (default) | standard |
full; see usage for the workflows, the validated filters, and
the citation contract.
Data & provenance
- Source: the GenCC bulk submissions export (new format) from thegencc.org — ~24MB TSV, republished weekly, no live API.
- Refresh: conditional (
ETag/Last-Modified). An in-app scheduler checks daily and hot-reloads on change; a cron sidecar or Kubernetes CronJob can own it instead. Unchanged exports return304, which is exempt from GenCC's 20 downloads per IP per day quota — as isHEAD. See data lifecycle. - Data licence: CC0 1.0 (public domain). Attribution to GenCC and its contributing member organizations (ClinGen, Genomics England PanelApp, Orphanet, Ambry, Invitae, Illumina, and others) is requested.
- OMIM restriction: OMIM disease text is withheld where licensing forbids it,
so
disease_original_*OMIM fields may be absent. Expected, not a bug. - Not clinical: GenCC data is not intended for direct diagnostic use or medical decision-making without review by a genetics professional.
Cite GenCC as:
DiStefano MT, et al. The Gene Curation Coalition. Genet Med. 2022;24(8):1732-1742. doi:10.1016/j.gim.2022.04.017
Documentation
- Usage — canonical workflows,
response_mode, conflict reading, citation contract,gencc://resources. - MCP connection guide — Claude Code and Claude Desktop (HTTP and stdio) configs, verification, troubleshooting.
- Architecture — why SQLite, the consensus/conflict model, transports, error taxonomy, the federation contract.
- Configuration — every
GENCC_LINK_*variable (a test owns that claim), the Host/Origin request guard, and CORS. - Deployment — Docker, Compose overlays, Kubernetes, reverse proxy, quota safety.
- Data lifecycle — build-on-startup, refresh strategies, hot reload.
- Changelog · AGENTS.md — engineering conventions for agentic tools.
Contributing
See AGENTS.md for engineering conventions, the domain notes, and
the file-size budget. make ci-local is the definition-of-done gate: format,
lint, line budget, README standard, mypy, and tests.
License
MIT © GenCC-Link Contributors. GenCC data is CC0 1.0 (public domain) from thegencc.org; attribution requested.
Install Gencc Link in Claude Desktop, Claude Code & Cursor
unyly install gencc-linkInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add gencc-link -- uvx --from git+https://github.com/berntpopp/gencc-link gencc-linkFAQ
Is Gencc Link MCP free?
Yes, Gencc Link MCP is free — one-click install via Unyly at no cost.
Does Gencc Link need an API key?
No, Gencc Link runs without API keys or environment variables.
Is Gencc Link hosted or self-hosted?
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
How do I install Gencc Link in Claude Desktop, Claude Code or Cursor?
Open Gencc Link on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Gencc Link with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
