About Plant Genomics
Plant Genomics is an MCP server for plant researchers and AI agents to query gene data across 24 public databases. It covers 12 plants and can synthesize results across sources.
Key features
- 01Look up plant gene records and sequences
- 02Retrieve protein structures and functional annotations
- 03Query pathways, interactions, and expression data
- 04Analyze homologs, variants, and literature
- 05Run batch queries and synthesize results
Use cases
- 01Compile gene functions and GO annotations
- 02Find protein interactions and KEGG pathways
- 03Compare homolog results across sources
MCP support
As an MCP server, it exposes 58 read-only tools to AI agents, connecting them to 24 backends as well as related resources and prompts.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
56Saved tool list · updated 1d ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| locus | string | Yes | e.g. AT1G01010 (Arabidopsis), Os01g0100100 (rice) |
| organism | string|integer | No | Plant organism — accepts canonical slug (arabidopsis_thaliana), scientific or common name, or NCBI taxid |
Details
From the project READMEplant-genomics-mcp
plant-genomics-mcp is an MCP server that lets AI agents look up plant genes in 24 free public databases, from Ensembl Plants and UniProt to KEGG, STRING and AlphaFold, with curated coverage of 12 plants.

Install
# uv fetches and runs it on demand
claude mcp add plant-genomics --scope local -- uvx plant-genomics-mcp
Other install paths (pipx, Docker, from source)
# 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"
Try it
Ask in plain language; the client picks the tools:
"Tell me everything about the Arabidopsis gene AT1G01010 — its function, GO terms, KEGG pathways, protein-interaction partners, and recent papers."
For another species, name it or pass organism= (e.g. rice Os01g0100100,
oryza_sativa). A recorded ortholog run, where Claude checked three sources
and said which one does not back the rice match:

Prompts and full answers for both screenshots: examples/assets/cards/RUN.md.
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. Per-tool walkthroughs, including
the one-call gene dossier gene_report_AT1G01010.md, are in
examples/.
What the benchmark shows
Claude with the server was compared with Claude using web search. On 36 multi-step gene questions, 3 runs each, Haiku 5.5 got 31 right in every run with the server and 9 with web search: a pre-registered win (Holm-adjusted McNemar p = 2.1e-5), at 0.07 times the cost. Sonnet 5.5 tied (35 and 35; 0.65× the time, 1.49× the cost). With Opus 5.5 (the re-run 2026-10-18) both got all 108 right; the server was faster at the median (0.77×, 95% CI 0.64 to 0.96) and dearer (1.72×, 1.46 to 2.24). On a harder task, 25 maize v4 gene IDs to v5 genes and every UniProt accession (10 held-out questions, Sonnet 5.5), the server got 10 right and web search 0, declining each (sign test p = 0.002; results).

The chart: Opus 5.5 on 52 plant gene-lookup questions, 151 of 156 right with web search and 156 of 156 with the server, not separated (McNemar p = 0.125). The key comes from the databases the server reads, so this tests the lookups, not whether the databases are right. We wrote the questions; an outside re-run is welcome. Method; Haiku and Sonnet.
Tools
58 tools across 24 backends:
| Area | Tools |
|---|---|
| Gene records | ensembl_plants_lookup_locus, phytozome_lookup_locus, get_gene_xrefs, bar_gene_summary, tair_locus_info, maize_gene_model_translation |
| Sequence | get_sequence, blast_sequence |
| Protein and structure | resolve_locus_to_uniprot, uniprot_id_mapping, interpro_domains, alphafold_structure, experimental_structures |
| Function | locus_go_annotations, locus_plant_ontology, locus_gene_rifs, go_enrichment, locus_literature |
| Pathways | kegg_pathways, plantcyc_locus_info |
| Interactions and expression | string_interactions, experimental_interactions, bar_aiv_interactions, atted_coexpression, bar_efp_expression |
| Homology and families | gramene_homologs, ensembl_plants_paralogs, orthodb_orthologs, panther_family, gene_tree_members, entry_members |
| TF motifs | tf_binding_motifs, jaspar_motif |
| Variation | locus_variants, vep_annotate, aragwas_associations, arabidopsis_natural_variation |
| Regions and assemblies | ensembl_region_query, ensembl_plants_assembly |
| Provenance | upstream_release |
| Batch and synthesis | batch_* (12), batch_locus_call, *_synth (3), consensus_homologs, gene_report |
Most take a locus (e.g. AT1G01010) and an optional organism=. Every tool is
marked read-only. What each tool does, the list of backends, the MCP resources
and prompts, all environment variables and the error model:
docs/reference.md.
Configuration
stdio (plant-genomics-mcp, the default) needs no configuration.
plant-genomics-mcp-http serves streamable HTTP at http://host:port/mcp;
there is no public endpoint, so you run it yourself, behind your own token.
| Variable | When | Effect |
|---|---|---|
PLANT_GENOMICS_MCP_HTTP_TOKEN | HTTP transport only | Bearer token for /mcp; must be ≥32 chars or the HTTP server aborts at startup. Generate openssl rand -hex 32. |
PLANT_GENOMICS_MCP_NCBI_EMAIL | If you use BLAST | NCBI etiquette contact. Unset → placeholder + per-call warning; NCBI may throttle. |
Development
.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 .
A bare uv sync omits the test dependencies. CI runs the unit suite and the
stdio smoke on Python 3.11–3.14 with the network blocked. A weekly job checks
27 loci against a frozen snapshot and pages on drift
(docs/benchmarking.md). Setup: CONTRIBUTING.md.
Release notes: CHANGELOG.md.
License
MIT, see LICENSE. The underlying services (Ensembl Plants,
Phytozome, TAIR, PlantCyc, BAR) have their own terms of use; check them before
bulk querying.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.