关于 sniff-mcp
sniff-mcp 为 Agent 和应用提供跨犬种、变异、基因与疾病的犬类基因组参考数据。响应附有引用和来源信息,并明确标注疾病相关性尚未证实;该项目用于研究,不能用于诊断。
主要功能
- 01查询按犬种划分的变异频率
- 02获取变异和基因注释
- 03搜索犬种与基因组变异
- 04探索变异、基因和疾病关联
- 05获取有引用的回答或拒答
适用场景
- 01比较不同犬种中的某个变异
- 02探索与某基因相关的变异
- 03用自然语言搜索基因组数据
- 04支持犬类遗传学研究
MCP 相关
通过托管的 Streamable HTTP MCP 服务,向 MCP 客户端提供犬类基因组查询和有依据的问答。工具包括 `ask` 和 `disease_bridge`,响应附有引用和来源信息。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.sniff.world/mcp/claude mcp add --transport http world-sniff-sniff https://mcp.sniff.world/mcp/{"mcpServers":{"world-sniff-sniff":{"type":"http","url":"https://mcp.sniff.world/mcp/"}}}在 Cursor 中打开{"servers":{"world-sniff-sniff":{"type":"http","url":"https://mcp.sniff.world/mcp/"}}}在 VS Code 中打开{"mcpServers":{"world-sniff-sniff":{"type":"http","url":"https://mcp.sniff.world/mcp/"}}}{"mcpServers":{"world-sniff-sniff":{"serverUrl":"https://mcp.sniff.world/mcp/"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
sniff-mcp — 可由 Agent 调用的犬类基因组学
犬类 DNA 的参考层。 一个实时开放 API 和 MCP 服务,基于 Sniff Atlas 构建——涵盖 188 个犬种、全基因组范围内 9,667,790 个变异位点(CanFam4)的分品种等位基因频率,并提供 SnpEff 注释、Pangolin 剪接值、Zoonomia phyloP 保守性信息,以及变异 ⇄ 基因 ⇄ 品种 ⇄ 疾病知识图谱。它不会为任何变异判定致病性。每条响应都附有自身的引用和溯源信息。
正在开发与犬类、犬种或犬类健康相关的项目?这里就是数据层。无需密钥,无需注册——将 Agent 或应用指向这里即可。
- 🔌 MCP 端点:
https://mcp.sniff.world/mcp/(Streamable HTTP;当前工具列表见/v1/metadata)——包括ask,一种有依据的犬类遗传学问答工具,只会依据已引用的数据作答,或如实拒绝回答(不会捏造犬类健康建议);以及disease_bridge(提供遗传性疾病原子信息、ACMG 风格的致病性分级,以及犬⇄人同源基因) - 🌐 REST API:
https://api.sniff.world/(OpenAPI 文档 ·llms.txt) - 📚 数据集: 10.5281/zenodo.20566358(CC-BY-4.0)
将其添加到编码 Agent 中(复制粘贴)
托管服务开放使用,无需身份验证。选择你的工具:
Claude Code
claude mcp add --transport http sniff https://mcp.sniff.world/mcp/
Cursor / Windsurf / VS Code——添加到 MCP 配置中(.cursor/mcp.json、mcp.json 等):
{
"mcpServers": {
"sniff": { "url": "https://mcp.sniff.world/mcp/" }
}
}
Claude Desktop 或任何仅支持 stdio 的客户端(通过本地桥接使用托管服务):
{
"mcpServers": {
"sniff": { "command": "npx", "args": ["-y", "sniff-mcp"] }
}
}
就这么简单。向 Agent 提问:“不同犬种中 CPT2 5:56189113 的频率是多少?” 或 “查找 DLA 基因中的 HIGH 影响变异。”
使用 REST API(适用于 Web 应用)
无需 SDK——使用纯 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", "phylop_241way": 6.36,
"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 + annotations + gene + cross-breed + provenance
| Endpoint | 返回内容 |
|---|---|
GET /v1/variant/{pos} | 单个变异:AF、popmax、后果、基因、Pangolin、phyloP |
GET /v1/variant/{pos}/context | 联合查询——一次调用获取变异的所有信息 |
GET /v1/breed/{breed} | 品种概况(主要变异、几何信息、最近的品种) |
GET /v1/breed/{breed}/nearest | 遗传距离最近的品种(PCA 距离) |
GET /v1/gene/{symbol} | 基因中的变异,按影响排序 |
GET /v1/semantic?q= | 自然语言搜索(“古老的北极雪橇犬”) |
GET /v1/search | 在全部 9.67M 个变异中按条件筛选 |
GET /v1/metadata | 发布版本、DOI、计数、范围说明 |
位置使用 CanFam4 chrom:pos 格式(例如 5:56189113)。完整架构:**https://api.sniff.world/openapi.json**。
自托管(可选)
uvx sniff-mcp # run the MCP server locally (needs the release data on disk)
pip install sniff-mcp # or install into your env
参见 ARCHITECTURE.md 和 Dockerfile。使用托管端点最为简单;自托管适用于隔离网络或高流量场景。
它是什么(以及不是什么)
基于 CanVAS(14,478 只狗,采用 Beagle 填补基因型,MAF≥1%)构建,并加入了投射的社区队列。注释不是分类结果:每条响应都会标记 predicted_disease_relevance: "UNPROVEN",而 Pangolin 数值是第三方模型的输出,未经犬类验证。这是一项研究与发现资源,不是临床诊断工具。 适用范围(常见及低频变异,MAF≥1%)和 UNPROVEN 警示会随每条响应附在 provenance 区块中,因此 Agent 引用的任何内容都能保持准确并注明来源。
引用
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}
}
代码 MIT · 数据 CC-BY-4.0 · world.sniff/sniff-mcp · https://sniff.world
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。