Skip to main content
Glama

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).

demo report

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.zip shows 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 watch re-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 Code

Any 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 tools
analyzeA

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

    A3.5/5.0

    Scored across 10 tools

    Disambiguation4/5

    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.

    Naming Consistency3/5

    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.

    Tool Count5/5

    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.

    Completeness4/5

    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

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      C
      maintenance
      Enables file operations (PDF, Office, images, archives, media) through natural language, with tools for reading, writing, converting, and analyzing files locally.
      1
      -
    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables 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.
      -
    • A
      license
      A
      quality
      C
      maintenance
      Enables 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.
      9
      8
      MIT