Skip to content
MCP ThesaurusMCP Thesaurus

sniff mcp

CommunityIncomplete39/100Claim

streamable-httpMITupdated 2mo ago

The reference layer for dog DNA. A live, open API + MCP server over the Sniff Atlas β€” breed-stratified allele frequencies for 9,667,790 variants across 188 dog breeds (CanFam4), calibrated AI pathogenicity (ESM2, AUC 0.935 vs OMIA), Pangolin splice, Zoonomia phyloP conservation, and a variant ⇄ gene ⇄ breed ⇄ disease knowledge graph. Every response carries its own citation + provenance.

SourceWebsite

What can you do with sniff mcp?

sniff-mcp β€” agent-callable canine genomics

PyPI npm MCP Registry DOI Data: CC-BY-4.0

The reference layer for dog DNA. A live, open API + MCP server over the Sniff Atlas β€” breed-stratified allele frequencies for 9,667,790 variants across 188 dog breeds (CanFam4), calibrated AI pathogenicity (ESM2, AUC 0.935 vs OMIA), Pangolin splice, Zoonomia phyloP conservation, and a variant ⇄ gene ⇄ breed ⇄ disease knowledge graph. Every response carries its own citation + provenance.

Building anything with dogs, breeds, or canine health? This is the data layer. No key, no signup β€” point your agent or app at it and go.

  • πŸ”Œ MCP endpoint: https://mcp.sniff.world/mcp/ (Streamable HTTP, 15 tools) β€” including ask, a grounded canine-genetics Q&A that answers only from cited data or honestly abstains (no hallucinated dog-health advice), and disease_bridge (inherited-disease atoms with ACMG-style pathogenicity grades + the dog⇄human homolog)
  • 🌐 REST API: https://api.sniff.world/ (OpenAPI docs Β· llms.txt)
  • πŸ“š Dataset: 10.5281/zenodo.20566358 (CC-BY-4.0)

Add it to your coding agent (copy-paste)

The hosted server is open and needs no auth. Pick your tool:

Claude Code

claude mcp add --transport http sniff https://mcp.sniff.world/mcp/

Cursor / Windsurf / VS Code β€” add to your MCP config (.cursor/mcp.json, mcp.json, etc.):

{
  "mcpServers": {
    "sniff": { "url": "https://mcp.sniff.world/mcp/" }
  }
}

Claude Desktop or any stdio-only client (uses the hosted server via a local bridge):

{
  "mcpServers": {
    "sniff": { "command": "npx", "args": ["-y", "sniff-mcp"] }
  }
}

That's it. Ask your agent: "What's the frequency of CPT2 5:56189113 across breeds?" or "Find HIGH-impact variants in DLA genes."


Use the REST API (for web apps)

No SDK needed β€” it's plain HTTP/JSON.

curl https://api.sniff.world/v1/variant/5:56189113
{
  "variant_id": "5:56189113", "ref": "A", "alt": "G",
  "global_af": 0.0185, "popmax_af": 0.591, "popmax_breed": "akita",
  "consequence": "missense_variant", "impact": "MODERATE",
  "gene": "CPT2", "esm2_llr": -6.1, "deleteriousness_tier": "...",
  "provenance": { "dataset_doi": "10.5281/zenodo.20566358",
                  "predicted_disease_relevance": "UNPROVEN", "...": "..." }
}
// JavaScript / TypeScript
const r = await fetch("https://api.sniff.world/v1/variant/5:56189113/context?breed=akita");
const ctx = await r.json(); // frequency + pathogenicity + gene + cross-breed + provenance
Endpoint What it returns
GET /v1/variant/{pos} single variant: AF, popmax, consequence, gene, ESM2/Pangolin/phyloP
GET /v1/variant/{pos}/context the joined query β€” everything about a variant in one call
GET /v1/breed/{breed} breed profile (top variants, geometry, nearest breeds)
GET /v1/breed/{breed}/nearest genetically nearest breeds (PCA distance)
GET /v1/gene/{symbol} variants in a gene, ranked by impact
GET /v1/semantic?q= natural-language search ("ancient arctic sled dogs")
GET /v1/search filtered discovery across all 9.67M variants
GET /v1/metadata release, DOI, counts, scope banner

Positions are CanFam4 chrom:pos (e.g. 5:56189113). Full schema: https://api.sniff.world/openapi.json.


Self-host (optional)

uvx sniff-mcp          # run the MCP server locally (needs the release data on disk)
pip install sniff-mcp  # or install into your env

See ARCHITECTURE.md and Dockerfile. The hosted endpoint is the easy path; self-hosting is for air-gapped or high-volume use.


What it is (and isn't)

Built from CanVAS (14,478 dogs, Beagle-imputed, MAFβ‰₯1%) plus projected community cohorts. Pathogenicity is computational β€” every prediction is flagged predicted_disease_relevance: "UNPROVEN". This is a research and discovery resource, not a clinical diagnostic. The scope (common + low-frequency variants, MAFβ‰₯1%) and the UNPROVEN caveat ride in every response's provenance block, so anything an agent quotes stays honest and self-citing.

Citation

Gehring, M. (2026). Sniff Atlas. Zenodo. https://doi.org/10.5281/zenodo.20566358 (CC-BY-4.0)

@dataset{sniff_atlas_2026,
  author    = {Gehring, Matt},
  title     = {Sniff Atlas},
  year      = {2026},
  publisher = {Zenodo},
  doi       = {10.5281/zenodo.20566358},
  url       = {https://sniff.world}
}

Code MIT Β· Data CC-BY-4.0 Β· world.sniff/sniff-mcp Β· https://sniff.world