MCP App Store
by KeenEthics
Mutant Genomics icon

Mutant Genomics

By Mutant Biotech LLC

Get New App Alerts

Overview

Ask which Mutant findings best fit the health history or records you share in this ChatGPT conversation. You can also explore findings or add DNA data. Mutant does not automatically access your medical records; genetic findings are hypotheses, not diagnoses.

Tools

create_report

ChatGPT
Creates a Mutant analysis from locally processed DNA data. Called by the DNA import interface with the normalized subset of Mutant-relevant variants; the raw DNA file is never uploaded. Retrying with the same import_request_id returns the existing analysis instead of creating another one.

explain_health_hypothesis

ChatGPT
Explain one ranked Mutant finding. Use when the user asks what a finding means, why it ranked, how strong it is, what supports it, what would strengthen or weaken it, or asks questions such as "What is the B12 one?" or "Explain my #1 finding." Returns a concise, grounded explanation: what it means, why it appeared (evidence architecture and ranking), and what could clarify it (the interpretation boundary, any material data gap, and at most two primary confirmation checks). Explain the support architecture before individual genes or variants. Pattern-led support describes how support was calculated, not that it is broadly distributed; use the dominant driver, its share, and participating-variant counts rather than implying breadth. Use get_supporting_evidence when the user asks for detailed modules, patterns, variants, sources, tests, or exact scores. Personal history, symptoms, laboratory results, medications, and prior reactions may be attributed to the user only when the user or an authorized context source supplied them; catalog cofactors, confounders, cautions, and guardrails are general guidance and must never be restated as the user's history or experience. Keep genetic findings distinct from symptoms or test results the user has not reported, and use priority_score only for ordering and genetic_support only for strength within the analyzed evidence; neither is a disease probability. Only when the request itself asked to explain this finding (by rank or name, including a deliberate "Explain" click), when the host supports Apps SDK UI, call show_analysis_followups once with the same analysis_version and this hypothesis id so the card can offer the next question; do not call it when this tool was supporting research for an open-ended topic or symptom question. Keep the explanation itself in the conversation and do not restate the card.

get_analysis_context

ChatGPT
Return the interpretation contract and starting context for a ready Mutant analysis: how scores and evidence should be explained, important boundaries and limitations, access scope, a compact preview of the highest-ranked hypotheses, and useful next questions. Use this for a specific analysis question after status reports ready. For an initial or broad overview, call show_analysis_overview so the card displays findings and hints, and do not use this tool to reproduce that ranked list in prose. Use list_health_hypotheses for subsequent browsing, searching, sorting, pagination, or comparisons. Tool selection: "What can Mutant tell me?" and "What does my DNA say about my health?" call get_analysis_status, then show_analysis_overview; "Show or compare my top three" and "Find thyroid-related hypotheses" call list_health_hypotheses (with a query when searching); "Explain the B12 finding" calls explain_health_hypothesis. Never ask the user for an analysis ID; the current analysis is resolved from the connection.

get_analysis_status

ChatGPT
Check whether the user has connected DNA, whether an analysis is ready, what their plan permits, and what to do next. Use this first when readiness is unknown. Read experience_state and capabilities rather than inferring readiness yourself. Three entry prompts can open a fresh conversation: "Which of my Mutant findings best fits the health history or records I've shared here?", "Show my current Mutant findings.", and "Help me add my DNA data to Mutant.". Call this tool first for all three. For the comparison prompt, compare only against health history or records actually shared in this ChatGPT conversation; when none were shared, ask what the user wants to share and do not imply access to records. Pass only catalog-topic keywords to list_health_hypotheses, never the user's health-history prose. For the add-DNA prompt, call show_dna_import. If the result has experience_state="NO_DNA", do not answer with import instructions: call show_dna_import in the same turn so the DNA import UI is rendered. When experience_state is "READY", "READY_REFRESH_AVAILABLE", or "READY_REFRESH_PROCESSING" and the user is opening Mutant or asking a broad opening question ("What are my top hypotheses?", "What did Mutant find?", "Show my results", or a general overview), call show_analysis_overview in the same turn whenever capabilities.can_show_overview is true. This status tool mounts no card by itself: only show_analysis_overview renders one. Its card shows the ranked findings and hints, and in the two "READY_REFRESH_*" states it also shows the optional refresh banner while the current results stay usable. Do not answer a broad opening question with list_health_hypotheses, do not write a duplicate prose list of the same findings, and do not ask which finding to explore in prose. When experience_state is "PROCESSING_INITIAL" or "REFRESH_PROCESSING_NO_USABLE_ANALYSIS": - Do not call analysis, overview, hypothesis, evidence, or genetic-context tools while no usable analysis exists. - Do not describe, preview, or speculate about future unavailable capabilities, even when asked what will become available. Do not infer future availability from the existence of other MCP tools or from entitlement metadata. - Do not enumerate future genes, modules, rsIDs, variants, hypotheses, scores, or patterns. - Never promise a future capability. "Once processing completes, I can show your DNA at the marker level" is a forbidden response. - When a Mutant component is rendering this state, let it own the experience; do not add unsolicited processing narration. - If the user explicitly asks what is happening or what comes next, answer briefly using only the current status payload, without predicting capabilities or completion time. - When the component owns polling, do not initiate assistant polling loops or tell the user to keep asking for updates. - Silence is preferred over describing unavailable Mutant capabilities. The DNA import component polls its own app-only poll_analysis_status tool while experience_state is a processing state, so do not tell the user to keep asking whether processing has finished, do not re-call this tool to poll, and do not narrate the analysis status while that component is active.

get_genetic_context

ChatGPT
Inspect unique analyzed markers by hypothesis, gene, module, or rsID, including call state, contribution status, and all pattern memberships (a marker appears once, with every pattern membership nested). Use for marker-level questions or independent genetic exploration permitted by the user's plan; do not use it for a plain-language hypothesis explanation. Module summaries are returned only with include_modules or when the request is module-scoped.

get_snp_catalog

ChatGPT
Returns the Mutant SNP and variant catalog used internally by the DNA import component. This tool is application infrastructure and should not be used to interpret genetics or answer health questions. It is called by the DNA import interface, not by the assistant.

get_supporting_evidence

ChatGPT
Return one focused evidence layer for a hypothesis: matched patterns, unique supporting variants, module scoring traces, source citations, or detailed test guidance. Use only after the hypothesis is known and only for the evidence type the user requested; do not return all evidence kinds together. Use kind "modules" for the expanded module scoring trace (the concise module breakdown is already in explain_health_hypothesis); pass include_context true only when contextual, non-contributing markers are also needed. Use kind "tests" for detailed assay guidance ("show me every relevant test" or "what should I discuss with my clinician").

list_health_hypotheses

ChatGPT
List or search the health hypotheses in the current analysis. Send catalog-topic keywords only, never patient-specific health information. Free accounts see their fixed top three; Full accounts can search the whole analyzed set. This is never the initial display route: for a broad opening question ("What are my top hypotheses?", "Show my results", "What did Mutant find?"), call get_analysis_status then show_analysis_overview so the card presents the ranked findings and hints. Use this tool after that for browsing, pagination, topic search, sorting, and explicit comparisons such as "Compare my top three," and never to reproduce the overview card's list in prose. Only when the request itself asked to compare two or more accessible findings, when the host supports Apps SDK UI, call show_analysis_followups once with the same analysis_version and the compared hypothesis ids; do not call it for a topic search, a no-match or browse answer, or a request that compares findings with the user's health history or records. Every success returns a server-authored search_scope describing what the search actually covered: hypothesis_scope, the searched and unsearched ranked counts, and broader_ranked_search_available. When a topic query returns no items, answer once from that scope instead of treating the miss as proof the topic is absent. A Free no_match_in_accessible_scope means only that the accessible top three did not match; it does not say whether the locked ranked set contains the topic, so never speculate about a specific locked finding and never claim Mutant Full will find it. State the wider-search sentence only when broader_ranked_search_available is true; a Full no_match_in_ranked_search_fields is limited to the catalog search fields (name, summary, plain-language summary, and type), not every biological evidence layer. Do not compare unseen scores, invent gene or variant mechanisms, or pitch a paid plan change; the entitlement boundary is a factual scope statement, and follow-up questions about plan capabilities may be answered from search_scope.

poll_analysis_status

ChatGPT
Component-owned analysis status read. Called only by the Mutant DNA import component while it polls for a processing analysis; hidden from the model. Returns the same authoritative status payload as get_analysis_status without polling next-action hints or suggested prompts.

show_analysis_followups

ChatGPT
Display a compact follow-up card with context-specific next steps. Call this once only when the user's request itself asked to explain, interpret, or understand one identified finding (by rank or name, including a deliberate "Explain" action), or to compare two or more accessible findings (for example "Compare my top three"). Decide this from the user's requested task, not from which tools you called: do not infer eligibility because explain_health_hypothesis or list_health_hypotheses was used as supporting research. Do not call it for an open-ended topic or symptom question (for example "What can you say about my thyroid issues?" or "What about histamine?") even if the answer discusses one ranked finding; nor for a catalog search, a no-match answer, an evidence or marker lookup, a broad overview, a processing/import/recovery turn, an incidental mention, or a request that already compares findings with the user's health history or records. When eligible, pass the same analysis_version and the hypothesis ids the answer covered (at most three) when the host supports Apps SDK UI; a mismatch is rejected rather than silently switching revisions. The actions must be relevant and must not repeat the question just answered; if neither server-selected action is a relevant next step, omit the card rather than showing generic buttons. This card never replaces or repeats the chat answer: keep your explanation in ChatGPT and let the card offer the next question. Do not call it for a broad opening question (use show_analysis_overview) and do not mount it more than once per answer. If the host cannot render UI or this call fails, the chat answer still stands.

show_analysis_overview

ChatGPT
Display the Mutant analysis card with accessible findings and suggested questions. Call this for any broad opening question ("What are my top hypotheses?", "What did Mutant find?", "Show my results", or a general overview) and when a user opens Mutant: when get_analysis_status reports experience_state READY, READY_REFRESH_AVAILABLE, or READY_REFRESH_PROCESSING with can_show_overview true, call this tool in the same turn and let the card present the results. The card is the display route for the ranked findings; in the two READY_REFRESH_* states it also shows the optional refresh banner while the current results stay usable. Do not answer the same question with list_health_hypotheses and do not restate the card's list in prose. The card is bound to the analysis revision returned here; pass displayed_analysis_version on follow-up analysis calls. For a specific question, use the analysis tools directly instead of reopening the card.

show_dna_import

ChatGPT
Displays and manages the complete Mutant DNA import workflow, for an initial upload or an explicitly selected analysis refresh. The component handles file selection, local DNA processing, report creation, processing-status polling, and the completion UI. Call it immediately when get_analysis_status reports dna_status="missing". For mode="regenerate", call it only when regeneration is required or the user asks to refresh. When a protected operation is refused with a CONSENT_REQUIRED next_action, call this tool with view="consent" to open the privacy choices directly; do not tell the user to upload DNA and do not describe the refusal as an outage. After calling this tool, do not ask the user to check analysis status manually, do not restate DNA status, analysis status, or import instructions from earlier tool results, and do not tell the user to upload DNA: the component owns the whole flow.

Capabilities

Interactive

Example Prompts

Click any prompt to copy it.

Similar Apps