strchive-link
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@strchive-link look up the pathogenic repeat range for HTT"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
strchive-link
An MCP (Model Context Protocol) server for STRchive, the curated catalog of short-tandem-repeat (STR) disease loci: repeat-count ranges, pathogenic motifs, interruptions and per-assembly coordinates, served from a snapshot pinned to an exact upstream commit and SHA-256, over Streamable HTTP or stdio.
Research use only. Not clinical decision support. Do not use for diagnosis, treatment, triage, or patient management.
Why
Repeat-expansion thresholds are scattered across papers and easy to misquote: HTT has a reduced-penetrance band, RFC1 is pathogenic only for certain motifs, and many loci have no stated intermediate range at all. STRchive curates these per locus with citations.
strchive-link hands an agent that record without paraphrase. Ranges are reported exactly
as the source states them (closed intervals in repeat units). A missing range stays null
with status: not_stated_by_source, and overlapping ranges are kept as stated. Every
alternative pathogenic motif is listed in both gene and reference orientation. Coordinates
are given per assembly (hg38, hg19, T2T) and never converted. Upstream prose is fenced as
untrusted_text. The tools complement PanelApp STR entities and HGNC/HPO/Mondo resolution
elsewhere in the fleet. They do not genotype reads or classify alleles.
Related MCP server: GenomeMCP
Quick start
Hosted — no install, through the GeneFoundry router (namespace strchive, once deployed):
claude mcp add --transport http genefoundry https://genefoundry.org/mcpLocal (Python 3.14+, uv). The server downloads the
pinned file (~526 KB) from GitHub at startup and verifies its digest; set
STRCHIVE_LINK_DATA__LOCAL_PATH to serve a local copy instead:
make install # uv sync --group dev
make dev # unified REST + MCP on http://127.0.0.1:8000/mcp
make mcp-serve # ...or a stdio MCP server, for Claude Desktopclaude mcp add --transport http strchive-link --scope user http://127.0.0.1:8000/mcpServing over HTTP behind a proxy requires adding the public hostname to the exact Host allowlist — read Configuration first.
Tools
Tool | Purpose |
| Start here. Find loci by gene, locus id, MONDO/OMIM/Orphanet id, motif or disease words. |
| One locus: ranges, motifs (all orientations), interruptions, inheritance, coordinates, ids, PMIDs. |
| Which stated ranges contain a repeat count. Descriptive only, not a diagnosis. |
| Discovery surface: tools, signatures, semantics, license, data pin. |
| Whether the pinned snapshot is loaded and its digest verified. |
serverInfo.name is strchive-link, and leaf tool names are intentionally unprefixed per
the GeneFoundry Tool-Naming Standard v1. The canonical gateway namespace token is
strchive: behind genefoundry-router
these surface as strchive_<tool> (e.g. strchive_get_locus).
Every response carries _meta.next_commands and recommended_citation, and honours
response_mode ∈ {minimal, compact, standard, full} (default compact). See
Usage.
Data & provenance
Source —
data/STRchive-loci.jsonfrom dashnowlab/STRchive, pinned to commite964fa88df3b2189ee478cbd6eaad15bb28e3a0a(2026-10-08), SHA-25616301ecb00239f0e3c684913aefc2f48c6f5a7c2a481958aab4db55d282bca86. Every record is schema-validated before it is served. See Data.Refresh — none at runtime: STRchive has no tagged releases, so a new snapshot is a reviewed pin bump and a new release of this server.
Licence — STRchive data are CC BY 4.0 (STRchive by Harriet Dashnow et al.; attribution required). STRchive code is MIT.
Citation — Hiatt L, Weisburd B, Dolzhenko E, Rubinetti V, Avvaru AK, VanNoy GE, Kurtas NE, Rehm HL, Quinlan AR, Dashnow H. STRchive: a dynamic resource detailing population-level and locus-specific insights at tandem repeat disease loci. Genome Med. 2025. doi:10.1186/s13073-025-01454-4.
Documentation
Usage — workflows, range and coordinate semantics,
response_mode, fencing.Configuration — every
STRCHIVE_LINK_*variable, the transports, and the Host / Origin / CORS boundary.Data — the pin, validation, licence, and how to bump the snapshot.
Deployment — the hardened container and the release flow.
Contributing
See AGENTS.md for engineering conventions. make ci-local is the
definition-of-done gate: format, lint, line budget, README standard, mypy strict, and tests.
License
MIT © strchive-link contributors. STRchive data are CC BY 4.0 (Harriet Dashnow et al.); cite them as above.
Available Tools
5 toolscompare_repeat_lengthCompare Repeat Length to STRchive RangesARead-onlyIdempotent
Compare an observed repeat count (repeat units, i.e. motif copies) with the ranges STRchive states for one locus and list every range that contains it (overlapping ranges can both match; none may match). Descriptive only, NOT a diagnosis. motif_dependent=true flags loci (e.g. RFC1) where motif identity, not length alone, decides the category. Signature: compare_repeat_length(locus, repeat_count).
Inputs: locus (required), repeat_count (required).
get_diagnosticsGet DiagnosticsARead-onlyIdempotent
Report whether the pinned STRchive snapshot is loaded and verified: upstream commit, expected vs actual SHA-256, and locus count. Use it to confirm the data version or diagnose an upstream_unavailable error. Signature: get_diagnostics().
Inputs: no named parameters.
get_locusGet STRchive LocusARead-onlyIdempotent
Get one STRchive tandem-repeat disease locus: benign/intermediate/pathogenic repeat-count ranges exactly as the source states them (closed [min,max] in repeat units; a range the source does not state is null with status not_stated_by_source), pathogenic/benign/unknown motifs and interruptions in gene and reference orientation (all alternative pathogenic motifs, e.g. RFC1), inheritance, evidence level, hg38/hg19/T2T coordinates (BED 0-based half-open; never lifted over), MONDO/OMIM ids and PMIDs. Signature: get_locus(locus, response_mode=).
Inputs: locus (required), response_mode.
get_server_capabilitiesGet Server CapabilitiesARead-onlyIdempotent
Return the strchive-link discovery surface: tools with call signatures, argument aliases, response modes, range/coordinate semantics, error codes, limits, data pin, license and citation. detail='full' adds the usage notes. Signature: get_server_capabilities(detail=).
Inputs: detail.
search_lociSearch STRchive LociARead-onlyIdempotent
Search the STRchive catalog of tandem-repeat (STR) disease loci. query matches, in rank order: an exact locus id / gene symbol / disease abbreviation; a MONDO:/OMIM:/ORPHA: id; a repeat motif in either orientation (e.g. CAG, AAGGG); words in the disease name, then in source tags (e.g. 'ataxia'), then in the locus HPO phenotype labels. Each row's matched_on says which. Omit query to list every locus. Returns results with total/truncated/next_offset. Signature: search_loci(query=, limit=, offset=, response_mode=).
Inputs: limit, query, offset, response_mode.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 5 tools
Each tool targets a clearly different object: server metadata (get_server_capabilities), data provenance (get_diagnostics), catalog search (search_loci), single-record fetch (get_locus), and a derived comparison (compare_repeat_length). The search/fetch pair is a standard, well-understood split, and compare_repeat_length is explicitly distinguished from get_locus as a descriptive comparison rather than a record dump. No two tools appear interchangeable.
All five names follow a strict snake_case verb_noun pattern (get_*, search_*, compare_*), with the verb accurately signaling the operation type. No camelCase or stylistic mixing.
Five tools is a tight, well-earned surface for a read-only locus lookup service: discovery, diagnostics, search, fetch, and one analytical helper. Nothing appears redundant or missing at the count level.
The read-only lifecycle for the domain is well covered: enumerate/search, retrieve full record, interpret an observation against ranges, plus provenance and capability discovery. Minor gaps remain, such as querying loci by genomic coordinate/region or comparing multiple loci or samples in one call, which an agent would have to loop over manually.
Maintenance
Related MCP Connectors
Pharmacogenomics for AI agents: cited drug–gene, gene and rsID lookups plus a medication screen.
Find pharmacogenomics guidelines, translate diplotypes, and retrieve prescribing recommendations.
A read-only verified record of agent-operable GTM tools: search, fetch, compare, track changes.
Ancestry allele frequencies, LoF constraint, variant lists, and coverage from gnomAD, with ClinVar.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables AI assistants to query genetic variant data, gene constraints, and population genetics information from the gnomAD (Genome Aggregation Database) through its GraphQL API. Supports searching for genes and variants, retrieving constraint scores, analyzing population frequencies, and accessing genomic coverage data.910MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to query clinical genomics databases, retrieve supporting literature, analyze population genetics, and visualize biological pathways.18MIT
- AlicenseAqualityDmaintenanceEnables AI-driven pharmacogenomic analysis by querying structured genetic variant, drug response, and disease risk data. Supports natural language questions about medications, traits, and health risks based on user genome data, with privacy-first local execution.1625 npm12MIT
- AlicenseNot gradedqualityDmaintenanceProvides programmatic access to curated SNP data by trait, enabling LLM-powered applications to search, interpret, and discover genetic variants.MIT