gnomancer
This MCP server lets an AI assistant run and query gnomancer’s local DNA analysis reports without uploading raw genotype files.
Analyze raw DNA files from AncestryDNA, 23andMe, MyHeritage, FamilyTreeDNA, LivingDNA, VCF, or ZIP archives, optionally in fast mode.
Get report summaries: quality, lineages, ancestry estimate, multi-site readings, and at-a-glance digest.
Retrieve individual report sections by partial heading.
Look up genotype and interpretation for a single rsID.
Access health-sensitive ClinVar pathogenic/likely-pathogenic findings when asked.
Access PharmCAT star-allele diplotypes and drug-metabolism phenotypes when asked.
Re-check ClinVar for classification changes at the user’s sites.
Compare relatives’ raw DNA files for shared DNA, relationship estimates, shared lines, and parent-child allele checks.
Generate and embed a plain-language narrative into the report via narrative_prompt and set_narrative.
Take the raw file you already downloaded from AncestryDNA, 23andMe, MyHeritage, FamilyTreeDNA or LivingDNA (or a VCF) and turn it into one readable report. Everything runs on your computer. Nothing is uploaded.
Quick start
pipx install gnomancer # Python 3.10+; Java 17+ for the mtDNA haplogroup and PharmCAT steps
gnomancer ~/Downloads/AncestryDNA.zip # first run fetches the open-source tools and references once (~250 MB)Open AncestryDNA_analysis/REPORT.html. No Python? curl -fsSL https://gnomancer.com/install.sh | bash sets everything up (macOS and Linux; Windows via WSL).

Related MCP server: Knowledge Assistant MCP
What you get
Plain language first. An at-a-glance digest, then a narrative your own AI assistant can write from a prompt the run gives you.
Lineages. Y haplogroup (yhaplo, plus Yleaf on current YFull/FTDNA/ISOGG trees) and mtDNA haplogroup (Haplogrep3), each with population context.
Traits and ancestry markers. About 110 well-replicated sites: pigmentation, lactose, caffeine, bitter taste, blood group and more.
Health, carefully. Carrier sites, common risk variants, a ClinVar scan of every typed site with plausibility scoring, and PharmCAT pharmacogenomics. All collapsed by default so nobody sees a result they didn't ask for.
Family mode.
gnomancer family dad.zip mom.zip me.zipshows shared DNA and the likely relationship for each pair, which lines you share, and which parent each of your alleles came from.Stays current.
gnomancer watchre-checks ClinVar each month and tells you only what was reclassified at sites you carry.Honest limits. Every section says what the chip can and cannot tell you.
Use it from your AI assistant
gnomancer is also an MCP server. Connect it and ask "what does my report say about caffeine?"
claude mcp add gnomancer -- uvx gnomancer serve # Claude CodeAny MCP client works the same way: the command is uvx with arguments gnomancer serve. For Claude Desktop, Cursor and LM Studio (for a local model), add it to the client's mcpServers JSON:
{"mcpServers": {"gnomancer": {"command": "uvx", "args": ["gnomancer", "serve"]}}}For Codex, add it to ~/.codex/config.toml:
[mcp_servers.gnomancer]
command = "uvx"
args = ["gnomancer", "serve"]Tested with Claude Code and with a generic MCP client; reports from other clients are welcome.
The assistant never gets the raw file. It gets the report's results, and can look up the genotype at a single site when a question needs it; the health tables are separate tools fetched only on request. The repo also works as a Claude plugin (skills/gnomancer/SKILL.md).
Privacy
Your genotype file never leaves your machine. The only network traffic is the one-time download of public tools and references. The optional --ai flag sends the structured results (not the file) to the Anthropic API to write the narrative, and only when you ask. If you connect an AI assistant through the MCP server, it sees what it asks for: the report's results, and the genotype at any single site it looks up. With a cloud assistant those go to its provider; with a local model they stay on your machine.
Not medical advice
A genotyping array reads about 0.02% of the genome at pre-chosen sites, and its calls at rare sites are wrong often enough that a clinical lab found 40% did not confirm. gnomancer tells you what the chip says and how far to trust it. Confirm anything that matters with a clinical-grade test and a clinician or genetic counselor.
More
Discord community · CLI options · vendors and quirks · the marker panel · tools under the hood · development · MCP registry · contributing
MIT licensed. The tools it downloads keep their own licenses; see NOTICE.md for credits.
mcp-name: com.gnomancer/gnomancer
Available Tools
10 toolsanalyzeA
Run gnomancer on a raw DNA file (AncestryDNA, 23andMe, MyHeritage, FamilyTreeDNA, LivingDNA, VCF; .zip OK). Takes one to three minutes; the very first run also downloads ~250 MB of open-source tools and references (a few minutes), automatically. fast=True skips Yleaf, ClinVar and PharmCAT. Returns the output directory, report paths and the at-a-glance digest. gnomancer uploads nothing; the returned results go to your model provider like any tool output.
Inputs: path (required), fast, out_dir, ancestry.
clinvar_findingsA
ClinVar scan results (pathogenic / likely-pathogenic alleles carried, with plausibility confidence and flags). Health-sensitive: call only when the user asks about disease risk or carrier status.
Inputs: report_dir.
clinvar_watchB
Re-check ClinVar for this report: downloads a new ClinVar release if NCBI published one, rescans the user's sites and reports only classification changes (newly pathogenic, downgraded, review-status changes). The first run writes a baseline. Health-sensitive: run when the user asks.
Inputs: force, report_dir. Returns: result
familyB
Compare two or more relatives' raw DNA files: shared DNA per pair with a relationship estimate, shared maternal/ paternal lines, side-by-side panel genotypes and, for parent-parent-child sets, which parent each allele came from plus a Mendelian-consistency check. Runs locally. Returns the pair table and report paths.
Inputs: paths (required), names, out_dir, haplogroups.
lookupA
Genotype and reading for one rsID. Uses the curated panel when the site is in it; otherwise reads the single site from the user's raw file (nothing else is read or returned). Says so if the chip did not type the site.
Inputs: rsid (required), report_dir.
narrative_promptA
The prompt for writing the plain-language narrative that goes at the top of the report. Follow it exactly, then pass your text to set_narrative.
Inputs: report_dir. Returns: result
pharmacogenomicsA
PharmCAT star-allele diplotypes and phenotypes per gene, with coverage. Provisional: untyped positions are assumed reference. Call when the user asks about medications or drug metabolism.
Inputs: report_dir.
sectionA
Return one section of REPORT.md by (partial, case-insensitive) heading, e.g. 'Paternal', 'Marker panel', 'PharmCAT'. With no name, lists the available section headings.
Inputs: name, report_dir. Returns: result
set_narrativeB
Embed a narrative summary (yours, written from narrative_prompt) at the top of the report. Saves summary.md and regenerates REPORT.html / REPORT.md with the same options as the original run.
Inputs: text (required), report_dir.
summaryA
Headline results of the current (or given) report: quality, lineages, ancestry estimate, multi-site readings and the at-a-glance digest. No health tables; use clinvar_findings / pharmacogenomics for those.
Inputs: report_dir.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 10 tools
Each tool targets a distinct slice: analyze runs the pipeline, summary/section read results, clinvar_findings and clinvar_watch separate initial scan from re-check, and lookup handles one rsID. The only mild overlap is summary vs. section (both surface report content) and the narrative_prompt/set_narrative pair, but descriptions make the intended flow clear.
All names are lowercase snake_case, but the conventions mix: mostly bare nouns (summary, section, family, pharmacogenomics, clinvar_findings) with a couple of verbs/verb_noun forms (analyze, set_narrative, lookup). Readable but not a single predictable verb_noun pattern.
Ten tools is well within the ideal range and each has a clear job in a DNA-report pipeline: run analysis, read results, targeted health queries, relative comparison, and report authoring. Nothing looks redundant or missing at the count level.
The surface covers the full lifecycle from raw-file analysis through summaries, section extraction, targeted lookups, ClinVar/PharmCAT results, family comparison, and narrative embedding. Minor gaps exist: tools take a 'given' report but nothing lists or enumerates existing reports, and there is no cleanup/delete or option-tuning tool beyond re-running analyze.
Maintenance
Related MCP Connectors
Your DNA wellness report for AI: caffeine, sleep, training, nutrients. Hand-checked, no diagnoses.
Build an ATS-friendly resume and check it against a job description, fully offline.
Read and search folders on your own computer with explicit consent. Files are never uploaded.
Educational insights from your lab results, DNA files and wearable data. EU-hosted, GDPR-first.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceEnables file operations (PDF, Office, images, archives, media) through natural language, with tools for reading, writing, converting, and analyzing files locally.1-
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with local documents (PDF, Markdown, TXT) through tools for discovery, reading, extraction, summarization, comparison, keyword extraction, search, and analysis, ensuring privacy and offline capability.-
- AlicenseAqualityCmaintenanceEnables agents to locally analyze Huawei Health export data, retrieve activity summaries, tracks, samples, and health context, and generate structured report evidence with optional environmental data.98MIT
- FlicenseAqualityCmaintenanceEnables local analysis of unstructured documents (PDF, DOCX, PPTX, SVG, PNG) by extracting text and structure with citation anchors, and verifies summaries against source material before a human approves saving a report.9-