
DeepDNA local
ai.deepdna由 deepdna.ai 发布v0.1.2更新于 Oct 30, 2026
Reads a raw DNA file on your computer and reports the variants DeepDNA curates, with sources.
发布方自己的服务:DeepDNA
概览
本地 Python 包,读取你电脑上的原始消费级 DNA 文件,报告 DeepDNA 收录位点的结果并附来源。
- 可以做什么
- 读取 23andMe、AncestryDNA 或 MyHeritage/FamilyTreeDNA 导出的 .txt、.csv 或 .zip 文件,报告每个收录位点的状态,并在记录允许时给出变异等位基因拷贝数
- 按指定基因限定读取范围,仅在 G6PD 等 X 染色体位点需要时提供性别
- 通过公共 API 查询某个基因(可选某个药物)的收录指导,只发送基因名和药名
- 计数前先校验文件的链方向,A/T 与 C/G 位点仅在链已确认时计入
- 适用场景
- 适合手上有消费级基因分型原始文件、希望助手展示其在已收录药物基因组学位点上的结果并附指南来源,同时不想上传文件的场景。
- 运行要求
- 通过 uvx 从 PyPI 包 deepdna-mcp 以 stdio 本地运行;需安装 uv,并需联网访问 DeepDNA 公共 API 进行基因与药物查询。未声明账号、API 密钥或环境变量。不支持 VCF 文件。
安装
在 SourceWeft 中
- 打开 控制台中的 DeepDNA local,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
DeepDNA MCP server
A remote Model Context Protocol server that gives AI agents cited pharmacogenomic and gene-variant lookups, so answers can quote CPIC and DPWG guidance and its sources. This repository also holds a local package that reads a raw DNA file on the user's own computer; nothing from the file is sent to DeepDNA, but what the package reports becomes part of the conversation with the AI model.
Streamable HTTP, stateless, no API key, no account. Listed in the official MCP registry as ai.deepdna/knowledge.
Educational information only, not medical advice. The server reports what curated sources and guidelines say about a gene, a variant or a drug–gene pair. It does not diagnose, prescribe or recommend a dose.
Tools
All five tools are read-only.
Two prompts, medication_review and explain_variant, package the common questions for clients that show MCP prompts.
Coverage today is 12 genes: CYP2C19, CYP2C9, CYP2D6, SLCO1B1, VKORC1, UGT1A1, G6PD, MTHFR, COMT, HFE, APOE and BRCA1, with 51 curated drug–gene pairs across 11 of them: 40 cite a CPIC or DPWG guideline, the rest a drug label or the primary literature; the basis field in check_medications says which (guideline is null, or "drug label", when no guideline exists). It is a small, reviewed set, not a mirror of PharmGKB/ClinPGx. Every record lists its sources. The level field (the guideline's evidence grade) is null for every pair today.
Connect
Claude Code
Cursor (~/.cursor/mcp.json) and other clients that use an mcpServers file:
VS Code (.vscode/mcp.json):
Claude Desktop and claude.ai: add https://deepdna.ai/mcp as a custom connector.
Gemini CLI (installs the remote, read-only server https://deepdna.ai/mcp as an extension, not the local package; gemini-extension.json is in this repo):
Try it without a client
The answer carries the CPIC recommendation for clopidogrel by CYP2C19 metabolizer group, the sources it was written from, and the disclaimer. The same data is available as plain REST, documented in the API docs and the OpenAPI spec:
Read a raw DNA file on your own computer
The remote server takes no genotype: its tools have no field for one. For a raw DNA file there is a local package in this repository. It reads the file on the user's computer and reports what it shows at each position DeepDNA curates, with the cited records. Nothing from the file is sent to deepdna.ai: the package downloads the same public records for every user, and lookup_drug_gene sends only the gene and drug names. What read_dna_file returns (the letters and counts at the curated positions) becomes part of the conversation with the AI model your client uses, under that provider's terms.
Claude Code (needs uv; the package is on PyPI):
The plugin/ folder packages the same command as a Claude plugin, for Claude Code and for Cowork sessions on the user's computer.
Clients that use an mcpServers file (if the client cannot find uvx, put its full path, from which uvx, in command):
- Each position gets one of four states:
read,no_call,not_in_file, orunexpected_letters(letters that fit neither the record nor its complement). A missing or unreadable position is unknown, never normal. - For positions the record marks as
countable(no phasing or other variants are needed to read them), it gives how many copies of the variant allele the file shows, with the record's text and sources. geneslimits the answer to what the user asked about. APOE, BRCA1 and HFE are disease-risk genes: they are read only when named ingenes, so the user chooses what to learn.sexis needed only for some chromosome X positions (G6PD).- It checks the file's strand first: at least three positions that are not A/T or C/G must agree, and none disagree. A/T and C/G positions, whose two letters look the same on either strand, are counted only on a confirmed strand.
A count at one position is not a metabolizer status, a diplotype, a diagnosis or a dose. The tools tell the model never to suggest starting, stopping or changing a medication: that stays with the prescriber. VCF files are not supported.
Try it with: "My 23andMe file is at /Users/me/Downloads/genome.txt. What does it show at the CYP2C19 positions DeepDNA curates, and what do the sources say about clopidogrel?" (on Windows, a path such as C:\Users\me\Downloads\genome.txt).
What it is not
- The remote server does not read DNA files. DeepDNA does not parse DNA files on its servers; to read one, use the local package above. A remote lookup carries a gene symbol, an rsID or a drug name. Its tools have no genotype field, and an undeclared argument is refused and not used. The alleles it reports are on the plus strand of GRCh37, as 23andMe raw data reports them.
- Neither server calls phenotypes or doses. Turning a genotype into a metabolizer status needs phasing and the other variants in the gene, which a single lookup or a chip file does not give. Tools such as PharmCAT do that from a VCF.
- Remote usage is counted, people are not. Each request to the remote server is counted (method, tool, the lookup label described below, whether there was an answer, the client's name and version, its user-agent, a country code). IP addresses, request bodies and medication lists are not stored. A value typed into a declared field is recorded only as a short lookup label: an rsID in the form rs123, a gene from a fixed list of known pharmacogenes, or a drug DeepDNA covers; anything else, whatever it is, is recorded as "(other)". Please don't type a personal genetic result into these fields. See the privacy policy. The local package's downloads are ordinary requests to the public API, with the user-agent
deepdna-mcp-local/<version>. - A consumer chip is not a clinical test. Arrays are reliable for common variants and much less so for rare ones; anything that could affect a health decision needs a validated test and a clinician.
Links
- Docs: https://deepdna.ai/docs/#mcp
- Walkthrough with real outputs: https://deepdna.ai/blog/pharmacogenomics-mcp-server/
- Reading a 23andMe file with Claude using the local package, step by step: https://deepdna.ai/blog/read-23andme-file-with-claude/
- Worked example in Python, where your own code goes from a raw DNA file to CPIC phenotypes (neither server does this step): https://deepdna.ai/blog/pharmacogenomics-raw-dna-python/
- Terms: https://deepdna.ai/terms/ · Privacy: https://deepdna.ai/privacy/
This repository holds the documentation and the local package; the remote server is hosted by DeepDNA. Questions and bug reports go in the issues; please don't post a raw DNA file, genotypes or medications there.
Written with AI assistance.
来源:README.md,提交 d835136
工具
0版本历史
2- v0.1.2最新Oct 29, 2026
- v0.1.1Oct 18, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分