sniff-mcp

Canine genomics for agents: breed allele frequencies, AI pathogenicity + OMIA clinical disease layer

사용해야 할까요

품질 및 안전성

B
설명 품질
91%
스키마 완전성
72%
이름 품질
81%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (2)

  • LOWTool 'breed_variant_frequency' description lacks action verbbreed_variant_frequency에서
  • LOWTool 'genes_indexed' description lacks action verbgenes_indexed에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~2,738토큰 (도구 정의)
~598 B일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 2.14%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`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
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 18개
검증됨버전이 기록되지 않음도구 18개