mcpField
P
Plant Genomics

Plant Genomics

Local
github.comScience & Education8Updated 2d ago

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

  1. 01Look up plant gene records and sequences
  2. 02Retrieve protein structures and functional annotations
  3. 03Query pathways, interactions, and expression data
  4. 04Analyze homologs, variants, and literature
  5. 05Run batch queries and synthesize results

Use cases

  1. 01Compile gene functions and GO annotations
  2. 02Find protein interactions and KEGG pathways
  3. 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.

mcp.json · Universal config
{
"mcpServers": {
"musharna-plant-genomics": {
"command": "uvx",
"args": [
"plant-genomics-mcp"
]
}
}
}
Run commanduvx plant-genomics-mcp

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
pypiplant-genomics-mcp1.30.0

Tools

56

Saved tool list · updated 1d ago

ParameterTypeRequiredDescription
locusstringYese.g. AT1G01010 (Arabidopsis), Os01g0100100 (rice)
organismstring|integerNoPlant organism — accepts canonical slug (arabidopsis_thaliana), scientific or common name, or NCBI taxid

Details

From the project README

plant-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.

CI PyPI Python License DOI Glama

Claude Code (Opus 5.5) with plant-genomics-mcp 1.29.1 answering a prompt about Arabidopsis NAC001 (AT1G01010): the Ensembl Plants record (Chr 1:3,631-5,899, protein_coding) and UniProtKB entry Q0WV96 (NAC1_ARATH, reviewed, 429 aa). Real output, trimmed

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:

Claude Code (Opus 5.5) after 6 plant-genomics-mcp calls: AT1G01010's rice ortholog is Os07g0683200 (Gramene v69 ortholog_one2many, the only rice member of Ensembl gene tree EPlGT01160000455820); no maize ortholog in either; OrthoDB's NAC group has no rice or maize member, so it 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).

Stacked bar chart of right, wrong and declined answers, 156 per setup. Claude alone: 36 right, 3 wrong, 117 declined. Claude with web search: 151 right, 4 wrong, 1 declined. Claude with plant-genomics-mcp: 156 right. Two no-model baselines: one constant answer per kind of question, 3 of 52 right; chromosome read from the gene ID, 0 of 12 right

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:

AreaTools
Gene recordsensembl_plants_lookup_locus, phytozome_lookup_locus, get_gene_xrefs, bar_gene_summary, tair_locus_info, maize_gene_model_translation
Sequenceget_sequence, blast_sequence
Protein and structureresolve_locus_to_uniprot, uniprot_id_mapping, interpro_domains, alphafold_structure, experimental_structures
Functionlocus_go_annotations, locus_plant_ontology, locus_gene_rifs, go_enrichment, locus_literature
Pathwayskegg_pathways, plantcyc_locus_info
Interactions and expressionstring_interactions, experimental_interactions, bar_aiv_interactions, atted_coexpression, bar_efp_expression
Homology and familiesgramene_homologs, ensembl_plants_paralogs, orthodb_orthologs, panther_family, gene_tree_members, entry_members
TF motifstf_binding_motifs, jaspar_motif
Variationlocus_variants, vep_annotate, aragwas_associations, arabidopsis_natural_variation
Regions and assembliesensembl_region_query, ensembl_plants_assembly
Provenanceupstream_release
Batch and synthesisbatch_* (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.

VariableWhenEffect
PLANT_GENOMICS_MCP_HTTP_TOKENHTTP transport onlyBearer token for /mcp; must be ≥32 chars or the HTTP server aborts at startup. Generate openssl rand -hex 32.
PLANT_GENOMICS_MCP_NCBI_EMAILIf you use BLASTNCBI 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

Markdown supported

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.