sniff-mcp
Canine genomics for agents: breed allele frequencies, AI pathogenicity + OMIA clinical disease layer
사용해야 할까요
품질 및 안전성
발견 사항 (2)
- LOWbreed_variant_frequency에서
- LOWgenes_indexed에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"sniff-mcp": {
"url": "https://mcp.sniff.world/mcp/"
}
}
}원격 엔드포인트
https://mcp.sniff.world/mcp/streamable-http할 수 있는 일
도구 목록
도구 (18)
🟢ask(question)
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.
입력 스키마
{
"type": "object",
"properties": {
"question": {
"type": "string"
}
},
"required": [
"question"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"additionalProperties": true
}🟡ask_the_graph(question, narrate)
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.
입력 스키마
{
"type": "object",
"properties": {
"question": {
"type": "string"
},
"narrate": {
"default": false,
"type": "boolean"
}
},
"required": [
"question"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"additionalProperties": true
}⚪disease_bridge(disease, breed)
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.
입력 스키마
{
"type": "object",
"properties": {
"disease": {
"default": "",
"type": "string"
},
"breed": {
"default": "",
"type": "string"
}
},
"additionalProperties": false
}출력 스키마
{
"type": "object",
"additionalProperties": true
}🟢ask_variant_context(position, breed_context, top_n, cross_breed_full)
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).
입력 스키마
{
"type": "object",
"properties": {
"position": {
"type": "string"
},
"breed_context": {
"default": "",
"type": "string"
},
"top_n": {
"default": 5,
"type": "integer"
},
"cross_breed_full": {
"default": false,
"type": "boolean"
}
},
"required": [
"position"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"additionalProperties": true
}⚪variant_lookup(position)
Single-variant lookup by CanFam4 position: ref/alt, global + popmax AF, consequence, gene, ESM2/Pangolin/phyloP, deleteriousness tier, canonical URL, provenance.
입력 스키마
{
"type": "object",
"properties": {
"position": {
"type": "string"
}
},
"required": [
"position"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"additionalProperties": true
}⚪breed_variant_frequency(breed, variant, gene)
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.
입력 스키마
{
"type": "object",
"properties": {
"breed": {
"type": "string"
},
"variant": {
"default": "",
"type": "string"
},
"gene": {
"default": "",
"type": "string"
}
},
"required": [
"breed"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"additionalProperties": true
}⚪gene_summary(gene_symbol, af_min, limit)
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.
입력 스키마
{
"type": "object",
"properties": {
"gene_symbol": {
"type": "string"
},
"af_min": {
"default": 0,
"type": "number"
},
"limit": {
"default": 25,
"type": "integer"
}
},
"required": [
"gene_symbol"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"additionalProperties": true
}⚪breed_summary(breed)
Breed profile: top damaging common variants (ESM2<=-5 & breed AF>=5%), n_dogs, breed group. Descriptive only — not a health ranking.
입력 스키마
{
"type": "object",
"properties": {
"breed": {
"type": "string"
}
},
"required": [
"breed"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"additionalProperties": true
}🟢variant_search(esm_max, phylop_min, popmax_min, gene_in, consequence, ...)
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.
입력 스키마
{
"type": "object",
"properties": {
"esm_max": {
"default": null,
"type": "number"
},
"phylop_min": {
"default": null,
"type": "number"
},
"popmax_min": {
"default": null,
"type": "number"
},
"gene_in": {
"default": null,
"items": {
"type": "string"
},
"type": "array"
},
"consequence": {
"default": "",
"type": "string"
},
"impact": {
"default": "",
"type": "string"
},
"limit": {
"default": 50,
"type": "integer"
}
},
"additionalProperties": false
}출력 스키마
{
"type": "object",
"additionalProperties": true
}⚪nearest_breeds(breed, k)
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.
입력 스키마
{
"type": "object",
"properties": {
"breed": {
"type": "string"
},
"k": {
"default": 10,
"type": "integer"
}
},
"required": [
"breed"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"additionalProperties": true
}⚪breed_similarity(breed_a, breed_b)
Genetic distance between two breeds (top-10-PC Euclidean). Lower = more genetically similar.
입력 스키마
{
"type": "object",
"properties": {
"breed_a": {
"type": "string"
},
"breed_b": {
"type": "string"
}
},
"required": [
"breed_a",
"breed_b"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"additionalProperties": true
}🟢semantic_search(query, top_k, entity_type, filters)
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.
입력 스키마
{
"type": "object",
"properties": {
"query": {
"type": "string"
},
"top_k": {
"default": 8,
"type": "integer"
},
"entity_type": {
"default": "",
"type": "string"
},
"filters": {
"default": "",
"type": "string"
}
},
"required": [
"query"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"additionalProperties": true
}🟢disease_links(disease)
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.
입력 스키마
{
"type": "object",
"properties": {
"disease": {
"default": "",
"type": "string"
}
},
"additionalProperties": false
}출력 스키마
{
"type": "object",
"additionalProperties": true
}🟢disease_lookup(query)
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.
입력 스키마
{
"type": "object",
"properties": {
"query": {
"type": "string"
}
},
"required": [
"query"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"additionalProperties": true
}🟢search_diseases(query, limit)
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.
입력 스키마
{
"type": "object",
"properties": {
"query": {
"type": "string"
},
"limit": {
"default": 10,
"type": "integer"
}
},
"required": [
"query"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"additionalProperties": true
}🟢breeds_in_atlas
List all 188 breeds with breed-stratified frequencies in the atlas.
입력 스키마
{
"type": "object",
"properties": {},
"additionalProperties": false
}출력 스키마
{
"type": "object",
"additionalProperties": true
}⚪genes_indexed(limit)
Top genes by number of variants in the atlas (discovery aid).
입력 스키마
{
"type": "object",
"properties": {
"limit": {
"default": 50,
"type": "integer"
}
},
"additionalProperties": false
}출력 스키마
{
"type": "object",
"additionalProperties": true
}⚪metadata
Atlas metadata: release, DOI, assembly, variant/breed counts, scope banner, and the RPC catalog.
입력 스키마
{
"type": "object",
"properties": {},
"additionalProperties": false
}출력 스키마
{
"type": "object",
"additionalProperties": true
}커뮤니티
증거