关于 DeepDNA local
DeepDNA local 是一个本地软件包,可读取支持的原始 DNA 文件,并报告经整理的基因变异位点及其引用来源,适合查询药物基因组学资料的用户。DNA 文件保留在本机,但返回结果会进入 AI 对话。
主要功能
- 01在本地读取支持的 DNA 导出文件
- 02报告整理过的变异位点
- 03标示已读取和缺失位点状态
- 04可按基因筛选结果
- 05提供记录及来源引用
适用场景
- 01检查 DNA 文件中的整理位点
- 02查阅有来源依据的基因变异信息
- 03将结果限制为指定基因
MCP 相关
本地软件包向 MCP 客户端提供 `read_dna_file` 和 `lookup_drug_gene` 工具。DNA 解析在用户电脑上进行;查询时会将基因和药物名称发送至公共 API。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
2收录的工具列表 · 更新于 1 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| sex | any | 否 | 仅在用户提供时填写:某些 X 染色体位置(G6PD)需要此信息 |
| path | string | 是 | 此计算机上原始 DNA 文件的完整路径,例如 /Users/name/Downloads/genome.txt |
| genes | any | 否 | 用户询问的基因符号,例如 ["CYP2C19"] |
详细介绍
DeepDNA MCP 服务
一个远程 Model Context Protocol 服务,可为 AI Agent 提供带引用的药物基因组学和基因变异查询结果,让回答能够引用 CPIC 和 DPWG 指南及其来源。此仓库还包含一个本地程序包,可在用户自己的计算机上读取原始 DNA 文件;文件中的任何内容都不会发送到 DeepDNA,但该程序包报告的内容会成为与 AI 模型对话的一部分。
https://deepdna.ai/mcp
采用 Streamable HTTP,无状态,无需 API 密钥或账号。已列入官方 MCP 注册表,名称为 ai.deepdna/knowledge。
仅供教育参考,不构成医疗建议。本服务会报告经整理的来源和指南对基因、变异或药物–基因组合的说法。它不会诊断、开药或推荐剂量。
工具
| 工具 | 返回内容 |
|---|---|
list_genes | 知识库中的基因列表,以及每个基因的一句话摘要和类别 |
lookup_gene | 关于某个基因的所有整理信息:功能、包含 rsID 的关键变异、表型、药物相互作用、消费级基因分型芯片能和不能说明的内容,以及来源 |
lookup_variant | 按 dbSNP rsID 查询某个变异:基因、星号等位基因或常用名称、GRCh37 正链上的等位基因、效应、频率说明和来源。只接受 rsID,不接受基因型 |
lookup_drug_gene | 某个基因的指南;也可以指定一种药物:指南(如有,则为 CPIC 或 DPWG)、摘要、表型组和来源 |
check_medications | 将通用药物名称列表分为有整理记录的药物(基因,以及 basis 字段:CPIC 或 DPWG 指南、药品标签或原始文献)和未涵盖的药物。无需基因型 |
这五个工具均为只读。
两个提示词 medication_review 和 explain_variant 汇总了常见问题,供支持 MCP 提示词的客户端使用。
目前涵盖 12 个基因:CYP2C19、CYP2C9、CYP2D6、SLCO1B1、VKORC1、UGT1A1、G6PD、MTHFR、COMT、HFE、APOE 和 BRCA1;其中 11 个基因涉及 51 个经整理的药物–基因组合:40 个引用 CPIC 或 DPWG 指南,其余引用药品标签或原始文献;check_medications 中的 basis 字段会说明依据(若没有指南,则 guideline 为 null 或 "drug label")。这是一个小型、经过审核的数据集,并非 PharmGKB/ClinPGx 的镜像。每条记录都列出其来源。目前所有组合的 level 字段(指南的证据等级)均为 null。
连接
Claude Code
claude mcp add --transport http deepdna https://deepdna.ai/mcp
Cursor(~/.cursor/mcp.json)及其他使用 mcpServers 文件的客户端:
{
"mcpServers": {
"deepdna": { "type": "http", "url": "https://deepdna.ai/mcp" }
}
}
VS Code(.vscode/mcp.json):
{
"servers": {
"deepdna": { "type": "http", "url": "https://deepdna.ai/mcp" }
}
}
Claude Desktop 和 claude.ai: 将 https://deepdna.ai/mcp 添加为自定义连接器。
Gemini CLI(将远程只读服务 https://deepdna.ai/mcp 安装为扩展,而非本地程序包;此仓库中包含 gemini-extension.json):
gemini extensions install https://github.com/alfonsoguv/deepdna-mcp
不使用客户端,直接试用
curl -s https://deepdna.ai/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"lookup_drug_gene","arguments":{"gene":"CYP2C19","drug":"clopidogrel"}}}'
回答包含按 CYP2C19 代谢者组划分的氯吡格雷 CPIC 建议、撰写该建议所依据的来源,以及免责声明。同样的数据也可通过纯 REST 接口获取,详见 API 文档和 OpenAPI 规范:
GET https://deepdna.ai/api/v1/pgx/CYP2C19/clopidogrel
GET https://deepdna.ai/api/v1/variants/rs4244285
在自己的电脑上读取原始 DNA 文件
远程服务不接收基因型:它的工具没有用于输入基因型的字段。对于原始 DNA 文件,本仓库中提供了一个本地软件包。它会在用户的电脑上读取文件,并报告文件在 DeepDNA 收录的各个位点显示的内容及引用的记录。文件中的任何内容都不会发送到 deepdna.ai:该软件包会为每位用户下载相同的公开记录,而 lookup_drug_gene 只会发送基因和药物名称。read_dna_file 返回的内容(收录位点上的字母和计数)会根据服务提供商的条款,成为与客户端所用 AI 模型对话的一部分。
Claude Code(需要 uv;软件包发布在 PyPI 上):
claude mcp add deepdna-local -- uvx [email protected]
plugin/ 文件夹将相同的命令打包为 Claude 插件,供 Claude Code 和用户电脑上的 Cowork 会话使用。
使用 mcpServers 文件的客户端(如果客户端找不到 uvx,请将通过 which uvx 获取的完整路径填入 command):
{
"mcpServers": {
"deepdna-local": { "command": "uvx", "args": ["[email protected]"] }
}
}
| 工具 | 返回内容 |
|---|---|
read_dna_file | 23andMe、AncestryDNA 或 MyHeritage/FamilyTreeDNA 导出文件(.txt、.csv 或 .zip)在每个收录位点显示的内容 |
lookup_drug_gene | 根据公开 API 提供某个基因的指导,可选针对某种药物。只发送基因和药物名称 |
- 每个位点会获得以下四种状态之一:
read、no_call、not_in_file或unexpected_letters(既不符合记录、也不符合其互补链的字母)。缺失或无法读取的位点状态为未知,绝不视为正常。 - 对于记录标记为
countable的位点(无需定相或其他变异即可读取),工具会根据文件显示的内容,给出变异等位基因的拷贝数,并附上记录中的文本和来源。 genes用于将回答限定为用户询问的内容。APOE、BRCA1 和 HFE 是疾病风险基因:只有在genes中点名时才会读取,因此由用户选择要了解哪些内容。- 只有部分 X 染色体位点(G6PD)需要提供
sex。 - 工具会先检查文件的链方向:至少三个非 A/T 或 C/G 位点必须一致,且不能有任何不一致。A/T 和 C/G 位点的两个字母在任一链上看起来都相同,因此只有在链方向得到确认后才会计数。
单个位点的计数不代表代谢状态、双倍型、诊断结果或剂量。工具会告知模型,绝不能建议开始、停止或更改药物治疗:这应由处方医生决定。不支持 VCF 文件。
可以这样试用:"我的 23andMe 文件位于 /Users/me/Downloads/genome.txt。DeepDNA 收录的 CYP2C19 位点显示了什么?关于 clopidogrel,来源中又有哪些说法?"(在 Windows 上,路径可写为 C:\Users\me\Downloads\genome.txt)。
不是什么
- 远程服务不会读取 DNA 文件。 DeepDNA 服务器上的解析功能已在 API 中说明,但目前处于私测阶段,尚未部署。远程查询会携带基因符号、rsID 或药物名称。其工具没有基因型字段,未声明的参数会被拒绝,不会被使用。报告的等位基因位于 GRCh37 的正链上,与 23andMe 原始数据的报告方式一致。
- 两个服务都不会判断表型或剂量。 将基因型转化为代谢者状态需要进行单倍型分相,并考虑该基因中的其他变异;单次查询或芯片文件无法提供这些信息。PharmCAT 等工具可通过 VCF 完成这一工作。
- 远程使用量会被统计,但不会统计使用者人数。 远程服务会统计每次请求(方法、工具、下文所述的查询标签、是否有答案、客户端的名称和版本、其 user-agent、国家代码)。不会存储 IP 地址、请求正文或药物列表。输入已声明字段的值只会记录为简短的查询标签:格式为 rs123 的 rsID、已知药物基因固定列表中的基因,或 DeepDNA 收录的药物;其他任何值均记录为“(other)”。请不要在这些字段中输入个人遗传结果。请参阅隐私政策。本地软件包的下载是对公共 API 的普通请求,其 user-agent 为
deepdna-mcp-local/<version>。 - 消费级芯片不是临床检测。 芯片对常见变异的检测结果可靠性较高,对罕见变异则低得多;任何可能影响健康决策的事项都需要经过验证的检测和临床医生的指导。
链接
- 文档:https://deepdna.ai/docs/#mcp
- 含真实输出的演练:https://deepdna.ai/blog/pharmacogenomics-mcp-server/
- 使用本地软件包和 Claude 逐步读取 23andMe 文件:https://deepdna.ai/blog/read-23andme-file-with-claude/
- Python 实例:用你自己的代码将原始 DNA 文件转换为 CPIC 表型(这一步两个服务都不执行):https://deepdna.ai/blog/pharmacogenomics-raw-dna-python/
- 条款:https://deepdna.ai/terms/ · 隐私:https://deepdna.ai/privacy/
此代码库包含文档和本地软件包;远程服务由 DeepDNA 托管。请在 issues 中提交问题和错误报告;请勿在那里发布原始 DNA 文件、基因型或药物信息。
由 AI 协助撰写。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。