MCP-Server

sniff-mcp

world.sniff/sniff-mcp
Gesundheitswesen Wissenschaft & Engineering Öffentlich und erreichbar MCP 2025-11-25

Was dieses MCP kann

Provides cited canine genomics and inherited-disease data, including breed frequencies, variant pathogenicity, disease links, and cross-species genetics research.

ask
Ask Sniff a natural-language canine-genetics question and get a GROUNDED, CITED answer (or an honest abstain). Covers inherited diseases (OMIA) and their human homologs (the dog<->human disease bridge), breed disease/carrier risk, variant pathogenicity grades (AVCG; Boeykens et al. 2024, curated in OMIA), longevity/life-expectancy (McMillan 2024), temperament (Darwin's Ark/Morrill 2022, with breed-explains-X% caveats), and genetic diversity. The engine answers ONLY from cited Sniff atoms and returns `abstained: true` if it lacks grounded data — it never guesses. Educational, not diagnostic (carrier != affected; advise a vet). Returns {answer, citations:[atom_ids], abstained}. USE THIS for any 'what is X / does breed Y get Z / human equivalent of W' question; use the variant/breed/gene tools for structured lookups by identifier.
Eingabeschema
{'type': 'object', 'required': ['question'], 'properties': {'question': {'type': 'string'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
ask_the_graph
THE INSTRUMENT — ask a free-form CROSS-SPECIES genetics question and get FILTERED, HONEST HINTS (never a confident guess). It compiles your question into a typed query plan over the dog<->human edge-graph, runs it deterministically, and scores each answer PATH by its weakest edge — returning ranked hints with an evidence TIER (fact / computational / inferred) + citations, or an honest ABSTAIN with a demand signal when the graph can't answer. BEST FOR model-discovery / translational traversal: 'which dog breeds or genes model human <disease>', 'what is the dog ortholog of <gene>', 'what dog disease is phenotypically like <human disease>'. Answers are HYPOTHESIS-GENERATING, not clinical claims: a `fact` hint = an OMIA-curated model-of; a `computational` hint = a conserved 1:1 dog ortholog (a candidate — never 'dogs get this disease'); `inferred` = shared cross-species phenotype. Returns {plan (what it asked the graph), hints:[{answer, tier, score, path (the cited edges), weakest_edge, provenance}], abstain, demand_signal}. Set narrate=true for a gated one-line prose summary per hint (faithful-or-honest-template; it can never fabricate). Use `ask` instead for owner-facing breed/disease/carrier questions; use THIS for human-disease -> dog-model cross-species queries.
Eingabeschema
{'type': 'object', 'required': ['question'], 'properties': {'narrate': {'type': 'boolean', 'default': False}, 'question': {'type': 'string'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
ask_variant_context
THE headline query. Given a CanFam4 position (e.g. '5:56189113'), return the variant's global + popmax frequency, breed-stratified cross-breed frequencies, ESM2/Pangolin/phyloP pathogenicity, gene context, linked diseases (v1.1), provenance, and deep links — in one call. Pass breed_context to also get that breed's AF + rank. cross_breed_full=True returns all 188 breeds (default: top_n).
Eingabeschema
{'type': 'object', 'required': ['position'], 'properties': {'top_n': {'type': 'integer', 'default': 5}, 'position': {'type': 'string'}, 'breed_context': {'type': 'string', 'default': ''}, 'cross_breed_full': {'type': 'boolean', 'default': False}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
breed_similarity
Genetic distance between two breeds (top-10-PC Euclidean). Lower = more genetically similar.
Eingabeschema
{'type': 'object', 'required': ['breed_a', 'breed_b'], 'properties': {'breed_a': {'type': 'string'}, 'breed_b': {'type': 'string'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
breeds_in_atlas
List all 188 breeds with breed-stratified frequencies in the atlas.
Eingabeschema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
breed_summary
Breed profile: top damaging common variants (ESM2<=-5 & breed AF>=5%), n_dogs, breed group. Descriptive only — not a health ranking.
Eingabeschema
{'type': 'object', 'required': ['breed'], 'properties': {'breed': {'type': 'string'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
breed_variant_frequency
Breed-stratified allele frequency. Give a breed (e.g. 'bernese_mountain_dog') plus either a variant position or a gene symbol. Returns AF (+ rank) for the variant, or per-variant AFs in the gene.
Eingabeschema
{'type': 'object', 'required': ['breed'], 'properties': {'gene': {'type': 'string', 'default': ''}, 'breed': {'type': 'string'}, 'variant': {'type': 'string', 'default': ''}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
disease_bridge
The fused OMIA disease layer as cited atoms. Give a `disease` (name or 'OMIA:001870-9615') for its genes, inheritance, human homolog (OMIM/Mondo bridge), and variant pathogenicity grade (AVCG, ACMG/AMP 5-tier, curated in OMIA) when graded. Or give a `breed` (e.g. 'doberman_pinscher') for the inherited conditions documented in that breed with carrier frequency + confidence tier + grade. Every atom carries its source + atom_id. Educational, not diagnostic.
Eingabeschema
{'type': 'object', 'properties': {'breed': {'type': 'string', 'default': ''}, 'disease': {'type': 'string', 'default': ''}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
disease_links
A canine inherited disease (name or OMIA id) -> its governed OMIA clinical record: mode of inheritance, causal gene(s), curated description (summary / clinical features / molecular genetics / pathology / prevalence), clinical signs as HP/MP phenotype terms (-> Monarch), the human OMIM analog + Mondo id, and the evidence base (peer-reviewed reference count + landmark study) -- plus molecular links (variants/breeds) when the KG carries them. Sourced to OMIA (CC-BY); returns a canonical sniff.world URL. Dog-only. Educational, not diagnostic. For fuzzy candidates use search_diseases.
Eingabeschema
{'type': 'object', 'properties': {'disease': {'type': 'string', 'default': ''}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
disease_lookup
Look up a canine inherited disease by name or OMIA id -> its governed OMIA clinical record (inheritance, causal gene(s), curated description, clinical signs, human OMIM analog + Mondo id, evidence base). Sourced to OMIA (CC-BY); returns a canonical sniff.world URL. Dog-only. For candidate disambiguation use search_diseases; for a disease's molecular links use disease_links.
Eingabeschema
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
genes_indexed
Top genes by number of variants in the atlas (discovery aid).
Eingabeschema
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 50}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
gene_summary
Variants in a gene (by gene symbol), ranked by impact then ESM2 damage. Paginated (limit, default 25); returns total_variants. Use af_min to filter by global AF.
Eingabeschema
{'type': 'object', 'required': ['gene_symbol'], 'properties': {'limit': {'type': 'integer', 'default': 25}, 'af_min': {'type': 'number', 'default': 0.0}, 'gene_symbol': {'type': 'string'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
metadata
Atlas metadata: release, DOI, assembly, variant/breed counts, scope banner, and the RPC catalog.
Eingabeschema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
nearest_breeds
Genetically nearest breeds to the given breed (top-10-PC Euclidean in canine genetic space). Answers 'what breeds are most genetically similar to X?' via the PCA-256 breed co-embedding.
Eingabeschema
{'type': 'object', 'required': ['breed'], 'properties': {'k': {'type': 'integer', 'default': 10}, 'breed': {'type': 'string'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
search_diseases
Search the canine disease catalogue by free text -> ranked candidates [{omia_id, disease, url, score}]. Use before disease_lookup when the exact name is unknown. Dog-only.
Eingabeschema
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'default': 10}, 'query': {'type': 'string'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
semantic_search
Faceted hybrid + semantic-ranker search over the whole knowledge base (diseases, breeds, Scout discoveries). Use for fuzzy/thematic intent ('drug sensitivity in herding dogs', 'breeds prone to eye disease', 'genetically diverse breeds'). entity_type filters to 'disease'|'breed'|'discovery'. filters is an OData facet expression for cross-dimension queries, e.g. "breed_group eq 'herding' and cohort_n ge 30" or "diversity_tier eq 'severe_bottleneck'" (facets: type, breed, breed_group, gene, evidence_tier, confidence_tier, diversity_tier, cohort_n). Returns ranked entities with snippets, dimension fields, links.
Eingabeschema
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string'}, 'top_k': {'type': 'integer', 'default': 8}, 'filters': {'type': 'string', 'default': ''}, 'entity_type': {'type': 'string', 'default': ''}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
variant_lookup
Single-variant lookup by CanFam4 position: ref/alt, global + popmax AF, consequence, gene, ESM2/Pangolin/phyloP, deleteriousness tier, canonical URL, provenance.
Eingabeschema
{'type': 'object', 'required': ['position'], 'properties': {'position': {'type': 'string'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
variant_search
Filtered discovery over all 9.67M variants. Predicates (combine freely): esm_max (ESM2 LLR <=), phylop_min (phyloP >=), popmax_min (popmax AF >=), gene_in (list of gene symbols), consequence, impact (HIGH/MODERATE/LOW/MODIFIER). Returns total_count + a capped list (max 200). Note: popmax may be in a wild population (dingo/village) — check popmax_breed.
Eingabeschema
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 50}, 'impact': {'type': 'string', 'default': ''}, 'esm_max': {'type': 'number', 'default': None}, 'gene_in': {'type': 'array', 'items': {'type': 'string'}, 'default': None}, 'phylop_min': {'type': 'number', 'default': None}, 'popmax_min': {'type': 'number', 'default': None}, 'consequence': {'type': 'string', 'default': ''}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
Hinzugefügt
metadata
17. September 2026 12:55
Hinzugefügt
genes_indexed
17. September 2026 12:55
Hinzugefügt
breeds_in_atlas
17. September 2026 12:55
Hinzugefügt
search_diseases
17. September 2026 12:55
Hinzugefügt
disease_lookup
17. September 2026 12:55
Hinzugefügt
disease_links
17. September 2026 12:55
Hinzugefügt
semantic_search
17. September 2026 12:55
Hinzugefügt
breed_similarity
17. September 2026 12:55
Hinzugefügt
nearest_breeds
17. September 2026 12:55
Hinzugefügt
variant_search
17. September 2026 12:55
Hinzugefügt
breed_summary
17. September 2026 12:55
Hinzugefügt
gene_summary
17. September 2026 12:55
Hinzugefügt
breed_variant_frequency
17. September 2026 12:55
Hinzugefügt
variant_lookup
17. September 2026 12:55
Hinzugefügt
ask_variant_context
17. September 2026 12:55
Hinzugefügt
disease_bridge
17. September 2026 12:55
Hinzugefügt
ask_the_graph
17. September 2026 12:55
Hinzugefügt
ask
17. September 2026 12:55