Plant genomics MCP server — 50+ tools across 23 backends (Ensembl Plants, Phytozome, UniProt, AlphaFold DB, PDBe, InterPro, JASPAR, PANTHER, OrthoDB, AraGWAS, NCBI BLAST, Gramene, KEGG, STRING-DB, ATTED-II, BAR, …) + cross-source synthesis. stdio + Streamable-HTTP.
🌱 plant-genomics-mcp
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
> **56 tools** for plant-genomics locus lookup over the Model Context Protocol —
> 29 single-locus + 1 motif lookup + 1 region query + 1 assembly listing + 1 release report + 1 variant annotator + 1 gene-set enrichment + 1 BLAST search + 2 member lists (family entry, gene tree) + 13 parallel-batch + 5 cross-source synthesis variants.
> 23 free, public sources: Ensembl Plants, Phytozome BioMart, UniProtKB,
> Europe PMC, QuickGO, Planteome, PlantCyc/PMN, g:Profiler, AlphaFold DB, PDBe,
> InterPro, JASPAR, PANTHER, OrthoDB, AraGWAS, 1001 Genomes, NCBI BLAST,
> Gramene, KEGG, STRING-DB, ATTED-II, ThaleMine, and BAR (Bio-Analytic Resource for
> Plant Biology).
📦 Install
Other install paths (pipx, Docker, from source)
💬 Try it
Once connected, ask Claude a plain-language question — you don't have to
name any tool or remember the chain:
> **"Tell me everything about the Arabidopsis gene AT1G01010 — its
> function, GO terms, KEGG pathways, protein-interaction partners, and
> recent papers."**
The server supplies the tools (here: Ensembl Plants, UniProt, QuickGO, KEGG,
STRING-DB and Europe PMC lookups); which ones get called, in what order and in
how many turns is up to the client. In the recording at the top of this page
(a narrower prompt), Claude Code picked the calls itself and returned one
combined answer. Swap in any locus and pass organism= for cross-species —
e.g. rice Os01g0100100 (oryza_sativa) — and each tool maps the organism to
that backend's own identifier.
A worked 64-call run over 114 genes in three organisms, with the 51 gaps it logged (39 since closed), is in examples/arf_family/PAGE.md.
🛠️ Tools
**56 tools across 23 backends** — Ensembl Plants, Phytozome BioMart,
UniProtKB, Europe PMC, QuickGO, Planteome, PlantCyc/PMN, g:Profiler,
AlphaFold DB, PDBe, InterPro, JASPAR, PANTHER, OrthoDB, AraGWAS, 1001 Genomes, NCBI BLAST,
Gramene, KEGG, STRING-DB, ATTED-II, ThaleMine, BAR.
29 single-locus + 1 motif lookup + 1 region query + 1 assembly listing + 1 release report + 1 variant annotator + 1 gene-set
enrichment + 1 BLAST search + 2 member lists + 13 parallel-batch + 5 cross-source synthesis. Most take a
TAIR-style locus (e.g. AT1G01010) plus
optional organism= (slug / scientific name / common name / NCBI taxid
— 12-plant curated coverage matrix at the pgmcp://organisms/coverage
MCP resource). All publish JSON outputSchema, EDAM ontology tags, and
behaviour annotations — every tool is readOnlyHint + openWorldHint, so
hosts can surface them without a destructive-action confirmation prompt.
Full tool matrix
| # | Category | Tool | What it does |
| --- | ----------------------- | --------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 1 | Gene metadata (live) | ensembl_plants_lookup_locus | Fetches gene record from Ensembl Plants REST (any plant species). |
| 2 | Cross-references (live) | get_gene_xrefs | Fetches cross-DB references (UniProt, NCBI Gene, TAIR, GO, …) from Ensembl. |
| 3 | Gene metadata (live) | phytozome_lookup_locus | Fetches gene record from Phytozome BioMart (any Phytozome proteome). |
| 4 | Protein (live) | resolve_locus_to_uniprot | Resolves a locus to its UniProtKB record (Swiss-Prot preferred, TrEMBL OK). |
| 5 | Literature (live) | locus_literature | Searches Europe PMC for papers mentioning the locus (free, no API key). |
| 6 | GO annotations (live) | locus_go_annotations | Fetches QuickGO GO annotations (locus → UniProt → QuickGO). |
| 7 | Sequence search (live) | blast_sequence | NCBI BLAST URLAPI — async Put/Get polling with progress notifications. |
| 8 | Homology (live) | gramene_homologs | Fetches Gramene v69 homology entries (ortholog / paralog) with gene_tree_id. |
| 9 | Pathways (live) | kegg_pathways | Fetches KEGG pathway memberships. 7 organisms: Arabidopsis (ath:, native AGI), + rice (osa:), maize (zma:), soybean (gmx:), barley (hvg:), poplar (pop:), brachypodium (bdi:) bridged via Ensembl → Entrez ID. |
| 10 | Interactions (live) | string_interactions | Fetches STRING-DB first-neighbor interaction partners with per-channel score. |