Skip to content
Back to search
100
MCP live v0.5.0 MCP 2026-07-28 http

brapi-mcp-server

io.github.cyanheads/brapi-mcp-server

Collaborative BrAPI v2.1 MCP workspace — studies, germplasm, genotypes across Breedbase, T3, more.

Watch this dependency

Get before/after evidence when observed tools, schemas, authentication access, availability or the endpoint changes.

Inspect evidence and set up a watch Share public evidence report
Uptime
100.0%
5 direct probes · 30d
Response
1782ms
last probe
Tools
22
callable
Resources
9
readable
Prompts
2
available
Score: 100/100
Handshake verified by our own probe.
why this score
pass Answers the MCP handshake 50/50
The handshake and the list calls succeeded on the primary URL.
pass Lists tools, resources or prompts 30/30
22 tools, 9 resources, 2 prompts returned.
pass 3 or more catalogue items 10/10
33 items in total; 3 or more earns these points.
pass Describes itself 10/10
98 characters; more than 30 earns these points.

Tools · 22

brapi_connect

Open a connection to a BrAPI v2 server, authenticate, and return the full orientation envelope (server identity, capability profile, content summary, suggested next tools). Other BrAPI tools connect a…

brapi_build_phenotype_matrix

Pull observations across one or more studies and pivot them into a germplasm × trait matrix materialized as a canvas dataframe. Returns a dataframe handle (read it with brapi_dataframe_describe and br…

brapi_server_info

Return the full orientation envelope for a BrAPI connection — server identity, capabilities, content counts, suggested finders, and notes. Pass forceRefresh to refetch the cached capability scan; pass…

brapi_describe_filters

List the valid filter names for a BrAPI endpoint (studies, germplasm, observations, variables, images, variants, locations) — companion lookup for the `extraFilters` passthrough on any `find_*` tool. …

brapi_find_studies

Locate studies matching crop, trial type, season, location, or program. Enriches results with program/trial/location context in one call. results[] holds the leading matches up to loadLimit and a 24,0…

brapi_get_study

Fetch a single study by DbId with its program, trial, and location records resolved where those lookups succeed. Response includes cheap observation/observation-unit/variable counts as drill-down sign…

brapi_find_germplasm

Find germplasm by name, synonym, accession number, PUI, crop, or free-text query. Matches across registered synonyms. results[] holds the leading matches up to loadLimit and a 24,000-byte budget; when…

brapi_get_germplasm

Fetch a single germplasm by DbId with attributes and direct parents. Response companions report study count, direct parent count, and direct descendant count — signals for pedigree depth and observati…

brapi_walk_pedigree

Walk germplasm ancestry or descendancy as a deduplicated DAG with cycle detection and depth limits. leafCount counts graph terminals, confirmedLeafCount counts successfully verified leaves, and fronti…

brapi_germplasm_performance

Aggregate a single germplasm's observations across studies, returning per-variable statistics (n, mean, median, sd, min, max), contributing studies, seasons, and collection coverage. SGN/Breedbase use…

brapi_find_variables

Find observation variables (traits) by name, trait class, ontology term, or free-text query. Free-text queries are ranked against every fetched row by PUI, name, synonym, and trait text; a candidate c…

brapi_find_observations

Pull observation records filtered by study, germplasm, variable, season, or observation unit. Without a studies, trials, observationUnits, or observations anchor, a GET query first runs a one-row coun…

brapi_find_images

Filter images by observation unit, observation, study, descriptive ontology term, file name, or MIME type. Returns metadata only — use brapi_get_image to fetch bytes inline. results[] holds the leadin…

brapi_get_image

Fetch image bytes for up to 5 imageDbIds and return them inline as `type: image` content blocks. Falls back to the metadata `imageURL` when the server lacks dedicated image-content delivery or that re…

brapi_find_locations

Find research stations / field sites by country, abbreviation, type, location ID, or free-text. Countries filter by ISO 3166-1 alpha-3 code via countryCodes, or by free-form English country name via c…

brapi_find_variants

Find variant records by variant set, reference sequence, or genomic region (start/end, 0-based inclusive / exclusive per the BrAPI spec; servers may differ). results[] holds the leading matches up to …

brapi_find_genotype_calls

Pull genotype calls for a germplasm × variant set. Filter to bound cost — at minimum, set `variantSetDbId` or `germplasmDbIds`. The upstream pull is capped by deployment policy; when the pull is trunc…

brapi_export_genotype_matrix

Pull genotype calls for a germplasm × variant set and pivot them into a matrix. `matrix-json` registers a wide canvas dataframe; `vcf-lite` adds VCF-subset text in `vcf`; `plink` adds .ped/.map text i…

brapi_dataframe_describe

Start here after a spillover. Lists dataframes (or describes one) with columns, row counts, and originating-source provenance. The dataframe name appears inline on every find_* response that spilled (…

brapi_dataframe_query

Run SQL across in-memory dataframes. Dataframes auto-populate when find_* tools spill (named `df_<uuid>`) — the dataframe name appears inline on every find_* response that spilled (`result.dataframe.t…

brapi_raw_get

Passthrough to BrAPI GET /{path} without foreign-key resolution. List results (result array or result.data) return a leading preview within loadLimit and a 24,000-byte budget on each serialized row re…

brapi_raw_search

Passthrough to BrAPI POST /search/{noun}, polling async search IDs. Sends loadLimit as the initial pageSize unless body.page/pageSize drives explicit paging. List previews fit loadLimit and a 24,000-b…

Resources · 9

brapi-server-info

Orientation envelope for the default BrAPI connection — identity, capabilities, content counts, suggested finders, notes. Same payload as the brapi_server_info tool.

brapi://server/info
brapi-calls

Capability profile for the default BrAPI connection — supported services, their HTTP methods, declared versions, and crops list. Mirrors what /serverinfo + /calls returned at the last load.

brapi://calls
BrAPI filter catalog · germplasm

Filter names accepted by /germplasm on a BrAPI v2.1 server.

brapi://filters/germplasm
BrAPI filter catalog · images

Filter names accepted by /images on a BrAPI v2.1 server.

brapi://filters/images
BrAPI filter catalog · locations

Filter names accepted by /locations on a BrAPI v2.1 server.

brapi://filters/locations
BrAPI filter catalog · observations

Filter names accepted by /observations on a BrAPI v2.1 server.

brapi://filters/observations
BrAPI filter catalog · studies

Filter names accepted by /studies on a BrAPI v2.1 server.

brapi://filters/studies
BrAPI filter catalog · variables

Filter names accepted by /variables on a BrAPI v2.1 server.

brapi://filters/variables
BrAPI filter catalog · variants

Filter names accepted by /variants on a BrAPI v2.1 server.

brapi://filters/variants

Prompts · 2

brapi_eda_study

Run an exploratory-data-analysis pass over a single BrAPI study — structure, variables, coverage, outliers, missing data — using the curated brapi_* tools.

brapi_meta_analysis

Run a cross-study meta-analysis on a germplasm × trait combination — resolve trait, find studies, pull observations, harmonize scales, summarize across studies.

How to use

Add to your Claude Desktop / Cursor / Cline MCP config:

{
  "mcpServers": {
    "brapi-mcp-server": {
      "url": "https://brapi.caseyjhand.com/mcp",
      "transport": "http"
    }
  }
}