mcpField
S
sniff-mcp

sniff-mcp

远程服务
sniff.world科研与教育02 周前更新

关于 sniff-mcp

sniff-mcp 为 Agent 和应用提供跨犬种、变异、基因与疾病的犬类基因组参考数据。响应附有引用和来源信息,并明确标注疾病相关性尚未证实;该项目用于研究,不能用于诊断。

主要功能

  1. 01查询按犬种划分的变异频率
  2. 02获取变异和基因注释
  3. 03搜索犬种与基因组变异
  4. 04探索变异、基因和疾病关联
  5. 05获取有引用的回答或拒答

适用场景

  1. 01比较不同犬种中的某个变异
  2. 02探索与某基因相关的变异
  3. 03用自然语言搜索基因组数据
  4. 04支持犬类遗传学研究

MCP 相关

通过托管的 Streamable HTTP MCP 服务,向 MCP 客户端提供犬类基因组查询和有依据的问答。工具包括 `ask` 和 `disease_bridge`,响应附有引用和来源信息。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://mcp.sniff.world/mcp/
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

sniff-mcp — 可由 Agent 调用的犬类基因组学

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

犬类 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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。