MCP Servers

MCP servers for plant genomics and research with LLMs: locus lookup, dataset search, phenotyping, phylogenetics, breeding simulation, and the job broker that runs the heavy work.

These are the Model Context Protocol servers I maintain. Most of them are for plant genomics: they let an agent in Claude Code or any other MCP client look up a locus, pull a dataset, measure a plant image, build a tree or simulate a breeding programme without leaving the conversation. Each one is on PyPI and speaks stdio, so it needs one config entry to install.

The design rule I try to hold across all of them is simple: when a tool computes a number, it also returns what the number was computed from. A trait comes with its segmentation mask, a tree with its bootstrap values, a breeding outcome with its spread across replicates. That is not decoration. In each of these cases a wrong answer looks exactly like a right one until you see the supporting output.

Genomics

plant-genomics-mcp

50 tools across 23 public backends: Ensembl Plants, Phytozome, UniProt, AlphaFold DB, PDBe, InterPro, JASPAR, PANTHER, OrthoDB, AraGWAS, NCBI BLAST, Gramene, KEGG, STRING-DB, ATTED-II, BAR and more. Includes cross-source synthesis tools so one locus question does not turn into twenty browser tabs. stdio and Streamable-HTTP. There is a hosted demo on Hugging Face Spaces.

data-aggregator-mcp

Search and fetch datasets across Zenodo, DataCite, NCBI omics (GEO / SRA / BioProject) and the literature (PubMed, OpenAIRE) through one interface with one record format. Finding data on a topic stops depending on which registry you happened to guess first.

plantcv-mcp

Plant trait measurement with PlantCV. Every call returns the trait values and the segmentation overlay they were measured from. A bad segmentation still produces a plausible-looking leaf area, so the overlay is the only way to catch it.

phylokit-mcp

Phylogenetic inference with IQ-TREE 2 via piqtree. infer_tree always runs a bootstrap and returns per-clade support. On an alignment simulated from a known 7-taxon tree and cut to 60 sites, the returned topology contained a clade that does not exist, and the support values were the only part of the output that said so.

breedsim-mcp

Breeding-scheme simulation with AlphaSimR, genomic selection included. run_program runs several replicates and reports per-cycle mean, standard deviation and confidence interval. Five seeds of the same three-cycle programme gave genetic gains with sd 0.247, which is why a single run is not an answer.

jobd

A self-hosted, GPU-aware job broker for your own machines, with the queue exposed over MCP. An agent submits a long job, the broker routes it by GPU and tool tags and serializes GPU access across machines and sessions, and the job outlives the conversation that started it. It is what runs the heavy work the other servers imply.

Not genomics

ldraw-mcp

Renders LDraw / LEGO models to images with real part geometry (studs, glass, tires) through headless Blender and ImportLDraw, so a vision-capable model can actually look at a brick build instead of guessing from a parts list.

tmodloader-mcp

Drives a running tModLoader (Terraria) instance from an agent: launch it, query it, screenshot it, and read the game state back as structured data. Built for testing mods with an agent in the loop.

Install

pip install plant-genomics-mcp data-aggregator-mcp plantcv-mcp phylokit-mcp jobd ldraw-mcp tmodloader-mcp

breedsim-mcp is also on PyPI but needs R 4.3 or newer with a shared library, and installing it compiles AlphaSimR, which takes minutes rather than seconds. Its README covers the prerequisites.

Each server ships an MCP client config example in its README.


Archived and citable — concept DOIs resolve to the latest release:
plant-genomics-mcp · data-aggregator-mcp · plantcv-mcp · phylokit-mcp · breedsim-mcp · ldraw-mcp · jobd
See the publications page for full citations.