mcpField
P
Plant Genomics

Plant Genomics

本地服务
github.com科研与教育82 天前更新

关于 Plant Genomics

Plant Genomics 是面向植物研究的 MCP 服务,让 AI Agent 查询 24 个公共数据库中的基因数据。它覆盖 12 种植物,并提供跨来源综合查询。

主要功能

  1. 01查询植物基因记录与序列
  2. 02获取蛋白质结构和功能注释
  3. 03查询通路、互作与表达数据
  4. 04分析同源基因、变异和文献
  5. 05批量查询并综合多源结果

适用场景

  1. 01整理基因功能与 GO 注释
  2. 02查找蛋白互作和 KEGG 通路
  3. 03比较不同来源的同源基因结果

MCP 相关

作为 MCP 服务,向 AI Agent 提供 58 个只读工具,访问 24 个后端及相关资源和提示词。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"musharna-plant-genomics": {
"command": "uvx",
"args": [
"plant-genomics-mcp"
]
}
}
}
启动命令uvx plant-genomics-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypiplant-genomics-mcp1.30.0

工具

56

收录的工具列表 · 更新于 1 天前

参数类型必填说明
locusstring是例如:AT1G01010(拟南芥)、Os01g0100100(水稻)
organismstring|integer否植物物种——接受规范 slug、学名或常用名,或 NCBI taxid

详细介绍

plant-genomics-mcp

plant-genomics-mcp 是一个 MCP 服务,让 AI Agent 能够在 24 个免费的公共数据库中查询植物基因,涵盖 Ensembl Plants、UniProt、KEGG、STRING 和 AlphaFold,并精选覆盖 12 种植物。

CI PyPI Python License DOI Glama

Claude Code (Opus 5.5) 使用 plant-genomics-mcp 1.29.1 回答关于拟南芥 NAC001(AT1G01010)的提示词:Ensembl Plants 记录(Chr 1:3,631-5,899,protein_coding)和 UniProtKB 条目 Q0WV96(NAC1_ARATH,已审核,429 aa)。真实输出,已裁剪

安装

# uv fetches and runs it on demand
claude mcp add plant-genomics --scope local -- uvx plant-genomics-mcp
其他安装方式(pipx、Docker、从源代码安装)
# pipx — installs the CLI onto your PATH
pipx install plant-genomics-mcp
claude mcp add plant-genomics --scope local -- plant-genomics-mcp

# GHCR Docker image
docker pull ghcr.io/musharna/plant-genomics-mcp:latest
claude mcp add plant-genomics --scope local -- \
  docker run --rm -i ghcr.io/musharna/plant-genomics-mcp:latest

# From source
git clone https://github.com/musharna/plant-genomics-mcp.git
cd plant-genomics-mcp
python -m venv .venv && .venv/bin/pip install -e .
claude mcp add plant-genomics --scope local -- "$(pwd)/.venv/bin/plant-genomics-mcp"

试用

用自然语言提问;客户端会选择相应的工具:

“告诉我有关拟南芥基因 AT1G01010 的所有信息——它的功能、GO 术语、KEGG 通路、蛋白质相互作用伙伴,以及近期论文。”

要查询其他物种,请说出物种名称或传入 organism=(例如水稻 Os01g0100100、 oryza_sativa)。下面是一次已记录的直系同源基因查询:Claude 检查了三个来源,并指出其中哪个来源不支持水稻匹配结果:

Claude Code(Opus 5.5)在调用 plant-genomics-mcp 6 次后得出结论:AT1G01010 的水稻直系同源基因为 Os07g0683200(Gramene v69 ortholog_one2many,是 Ensembl 基因树 EPlGT01160000455820 中唯一的水稻成员);两个来源中都没有玉米直系同源基因;OrthoDB 的 NAC 组中没有水稻或玉米成员,因此不支持水稻匹配结果

两张截图对应的提示词和完整回答:examples/assets/cards/RUN.md。

examples/arf_family/PAGE.md 记录了一次完整示例:针对三种生物的 114 个基因进行了 64 次调用,并记录了 51 个数据缺口(其中 39 个已补齐)。各工具的使用演练,包括只需一次调用即可生成的基因档案 gene_report_AT1G01010.md,请参阅 examples/。

基准测试结果

我们将使用该服务的 Claude 与使用网页搜索的 Claude 进行了比较。在 36 个多步骤基因问题中,每题运行 3 次,Haiku 5.5 使用该服务时每次运行都答对 31 题,使用网页搜索时答对 9 题:这是预先注册的胜出结果(Holm 校正后的 McNemar p = 2.1e-5),成本仅为 0.07 倍。Sonnet 5.5 打平(35 题和 35 题;耗时为 0.65 倍,成本为 1.49 倍)。使用 Opus 5.5(于 2026-10-18 重新运行)时,两者都答对了全部 108 题;该服务的中位耗时更短(0.77 倍,95% CI 为 0.64 至 0.96),但成本更高(1.72 倍,1.46 至 2.24)。在一项更难的任务中,针对 25 个玉米 v4 基因 ID 查找 v5 基因及其所有 UniProt 登录号(10 道留出题,Sonnet 5.5),该服务答对 10 题,网页搜索答对 0 题;每题均给出了答案(符号检验 p = 0.002;结果)。

正确、错误和拒答答案的堆叠条形图,每种配置共 156 题。仅使用 Claude:36 题正确,3 题错误,117 题拒答。Claude 配合网页搜索:151 题正确,4 题错误,1 题拒答。Claude 配合 plant-genomics-mcp:156 题正确。两个不使用模型的基线:每种问题类型给出一个固定答案,52 题中答对 3 题;从基因 ID 读取染色体,12 题中答对 0 题

图表展示的是 Opus 5.5 对 52 道植物基因查询题的作答结果:网页搜索答对 156 题中的 151 题,该服务答对 156 题中的 156 题,差异不显著(McNemar p = 0.125)。答案依据该服务读取的数据库,因此这项测试评估的是查询能力,而非数据库的正确性。题目由我们编写,欢迎外部重新运行。方法;Haiku 和 Sonnet。

工具

58 个工具,覆盖 24 个后端:

领域工具
基因记录ensembl_plants_lookup_locus、phytozome_lookup_locus、get_gene_xrefs、bar_gene_summary、tair_locus_info、maize_gene_model_translation
序列get_sequence、blast_sequence
蛋白质和结构resolve_locus_to_uniprot、uniprot_id_mapping、interpro_domains、alphafold_structure、experimental_structures
功能locus_go_annotations、locus_plant_ontology、locus_gene_rifs、go_enrichment、locus_literature
通路kegg_pathways、plantcyc_locus_info
相互作用和表达string_interactions、experimental_interactions、bar_aiv_interactions、atted_coexpression、bar_efp_expression
同源性和家族gramene_homologs、ensembl_plants_paralogs、orthodb_orthologs、panther_family、gene_tree_members、entry_members
TF 基序tf_binding_motifs、jaspar_motif
变异locus_variants、vep_annotate、aragwas_associations、arabidopsis_natural_variation
区域和组装ensembl_region_query、ensembl_plants_assembly
溯源upstream_release
批处理和综合batch_*(12 个)、batch_locus_call、*_synth(3 个)、consensus_homologs、gene_report

大多数工具接受一个基因位点(例如 AT1G01010)和可选的 organism=。所有工具都标记为只读。每个工具的功能、后端列表、MCP 资源和提示词、所有环境变量以及错误模型,详见: docs/reference.md。

配置

stdio(plant-genomics-mcp,默认值)无需配置。 plant-genomics-mcp-http 在 http://host:port/mcp 提供可流式传输的 HTTP 服务; 没有公开端点,因此需自行运行,并使用自己的令牌进行保护。

变量适用情况作用
PLANT_GENOMICS_MCP_HTTP_TOKEN仅 HTTP 传输/mcp 的 Bearer 令牌;必须至少为 32 个字符,否则 HTTP 服务会在启动时中止。使用 openssl rand -hex 32 生成。
PLANT_GENOMICS_MCP_NCBI_EMAIL使用 BLAST 时NCBI 要求提供的联系邮箱。未设置时 → 使用占位符并在每次调用时发出警告;NCBI 可能会限流。

开发

.venv/bin/pip install -e '.[dev]'                         # or: uv sync --extra dev
.venv/bin/pytest -q                                       # unit tests
PLANT_GENOMICS_MCP_LIVE=1 .venv/bin/pytest -q             # adds live network probes
PLANT_GENOMICS_MCP_STDIO_SMOKE=1 .venv/bin/pytest -q      # adds stdio smoke
.venv/bin/ruff check .

单独运行 uv sync 不会安装测试依赖项。CI 会在禁用网络的情况下,使用 Python 3.11–3.14 运行单元测试套件和 stdio 冒烟测试。每周任务会针对冻结快照检查 27 个位点,并在出现偏差时发送通知 (docs/benchmarking.md)。设置说明:CONTRIBUTING.md。 发行说明:CHANGELOG.md。

许可证

MIT,详见 LICENSE。底层服务(Ensembl Plants、 Phytozome、TAIR、PlantCyc、BAR)各自有使用条款;批量查询前请先查看。

评论

支持 Markdown

第一次接触 MCP?

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

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