Brapi MCP Server

@cyanheads/brapi-mcp-server A collaborative BrAPI v2.1 workspace for multi-agent research via MCP. Search studies, germplasm, genotypes, & more - across Breedbase, T3, Sweetpotatobase, & any BrAPI v2-compliant server. Its 25 documented tools cover brapi, dataframe, germplasm, observations.

People who work with brapi, dataframe and germplasm and want it reachable from Claude, Cursor, VS Code, or another MCP client. The project is written in TypeScript.

VERIFIED ACTIVE

LAST COMMIT 2026-09-24 · ★ 4 · #162 OF 998 MAINTAINED OTHER · VERIFIED 2026-09-30

Apache-2.0 · TypeScript servers · how we verify → /methodology

01 · Install Brapi MCP Server

before you install - you'll need

Set MCP_LOG_LEVEL, BRAPI_BTI_CASSAVA_USERNAME, BRAPI_BTI_CASSAVA_PASSWORD, BRAPI_PROD_BASE_URL, BRAPI_PROD_API_KEY, BRAPI_PROD_API_KEY_HEADER before connecting. MCP_TRANSPORT_TYPE is optional or environment-specific per the README.

Claude Code

claude mcp add cyanheads-brapi-mcp-server --transport http https://brapi.caseyjhand.com/mcp

Claude Desktop / Cursor / VS Code - add to config

{
  "mcpServers": {
    "cyanheads-brapi-mcp-server": {
      "url": "https://brapi.caseyjhand.com/mcp"
    }
  }
}

Same JSON for Cursor. For VS Code, rename the top-level key from `mcpServers` to `servers`.

Using another client? Same JSON, different key

Claude Desktop · mcpServers

Cursor · mcpServers

VS Code · servers

Windsurf · mcpServers

Zed · context_servers

Cline · mcpServers

Roo Code · mcpServers

Continue · mcpServers

LibreChat · mcpServers

Gemini CLI · mcpServers

Codex CLI · mcp_servers

Full setup guides: every client.

02 · Evidence

https://brapi.caseyjhand.com/mcp

transport: streamable-http

endpoint alive - responded to MCP initialize · probed 2026-09-30

Security posture

What to check before giving this server access to your agent - from the registry, GitHub, and our own probes. We don't score safety; we show what's verifiable.

runs as local process (stdio) - runs on your machine with your user's permissions · remote - your agent's requests go to brapi.caseyjhand.com

endpoint auth accepted our unauthenticated MCP initialize - no credentials needed to connect

license Apache-2.0 - declared in the repository

npm package @cyanheads/brapi-mcp-server - published under the repo owner's npm scope (@cyanheads)

registry namespace io.github.cyanheads is GitHub-verified and matches the repo owner

03 · What Brapi MCP Server can do

Prose above is summarized from the project's README and registry record - no invented capabilities.

What you can build

With this server connected, an agent can list valid filter names for an endpoint, for use in any finder's extraFilters, find studies by crop, trial type, season, location, or program, fetch a study with program, trial, and location resolved, plus companion counts, and find germplasm by name, synonym, accession, PUI, crop, or free text.

The 25 tools it gives your agent

Extracted from the project's README - what brapi-mcp-server lets an agent do.

brapi_connect
- Authenticate to a BrAPI v2 server, register it under an alias, and return the orientation envelope
brapi_server_info
- Re-fetch the orientation envelope for a registered alias, optionally refreshing capabilities
brapi_describe_filters
- List valid filter names for an endpoint, for use in any finder's extraFilters
brapi_find_studies
- Find studies by crop, trial type, season, location, or program
brapi_get_study
- Fetch a study with program, trial, and location resolved, plus companion counts
brapi_find_germplasm
- Find germplasm by name, synonym, accession, PUI, crop, or free text
brapi_get_germplasm
- Fetch a germplasm with attributes, direct parents, and companion counts
brapi_walk_pedigree
- Walk ancestry or descendancy as a deduplicated DAG with cycle detection
brapi_find_variables
- Find observation variables by name, trait class, or ontology term, with free-text ranking
brapi_find_observations
- Pull observation records by study, germplasm, variable, season, or unit
brapi_find_images
- Find image metadata by unit, observation, study, ontology term, or MIME type
brapi_get_image
- Fetch up to 5 images inline as image content blocks
show all 25 tools
brapi_find_locations
- Find research stations by country, type, abbreviation, or bounding box
brapi_find_variants
- Find variants by variant set, reference, or genomic region
brapi_find_genotype_calls
- Pull genotype calls through async search, bounded by a deployment pull ceiling
brapi_dataframe_describe
- List dataframes, or describe one with columns, row count, and provenance
brapi_dataframe_query
- Run read-only SQL across dataframes
brapi_dataframe_drop
- _Opt-in._ Drop a dataframe by name
brapi_dataframe_export
- _Opt-in, stdio-only._ Export a dataframe to disk as CSV, Parquet, or JSON
brapi_build_phenotype_matrix
- Build a germplasm × trait matrix from one or more studies as a dataframe
brapi_germplasm_performance
- Per-variable aggregates (n, mean, median, sd, min, max) for one germplasm across its studies
brapi_export_genotype_matrix
- Pivot a variant set's calls into a germplasm × variant matrix, with VCF-lite or PLINK text
brapi_submit_observations
- _Opt-in._ Two-phase observation write: preview validates, apply confirms and writes
brapi_raw_get
- Passthrough to any GET /{path} endpoint no curated tool covers
brapi_raw_search
- Passthrough to any POST /search/{noun} endpoint, with async polling handled

Latest releases

v0.8.0 · 2026-09-24

Env credential pairing, session-gated caller auth, typed auth errors · Operator env credentials only travel to the base URL configured with them: a differing caller baseUrl is refused (auth_base_url_mismatch)…

v0.7.13 · 2026-09-19

mcp-ts-core 0.13.6, stateful session mode declared in src · Session mode declared in src/index.ts (default: 'stateful', require: 'stateful'): an HTTP start with MCP_SESSION_MODE=stateless now fails at startup instead…

v0.7.12 · 2026-09-13

Framework adoption and alias credential parsing · Empty and unsubstituted ${…} env values read as unset on BRAPI_<ALIAS>_ and BRAPI_, so a placeholder no longer registers a phantom alias or fails URL validation · A…

04 · Who maintains Brapi MCP Server

brapi-mcp-server is maintained by cyanheads. We track 137 MCP servers from cyanheads - 131 actively maintained, 1,856 combined GitHub stars, oldest repo from Dec 2024. Full record: all servers from cyanheads.

  1. obsidian-mcp-server Read, write, search, and surgically edit Obsidian notes, tags, and frontmatter via MCP. ★ 690
  2. mcp-ts-core Agent-native TypeScript framework for MCP servers. ★ 152
  3. git-mcp-server Comprehensive Git MCP server enabling native git tools including clone, commit, worktree, & more. ★ 240
  4. clinicaltrialsgov-mcp-server Search ClinicalTrials.gov - find studies, retrieve results, match patients to eligible trials. ★ 96
  5. openalex-mcp-server Access the OpenAlex academic research catalog - 270M+ publications. ★ 14
  6. mcp-ts-template TypeScript template for building MCP servers with declarative tooling, observability, and auth. ★ 152

05 · Facts

category
other - ranked #162 of 998 actively-maintained other servers as of 2026-09-30.
release cadence
8 releases in the last 90 days (latest 2026-09-24)
registry
io.github.cyanheads/brapi-mcp-server (active, first published 2026-04-30 · 45 versions)
packages
npm:@cyanheads/brapi-mcp-server · npm:@cyanheads/brapi-mcp-server

06 · Brapi MCP Server FAQ

Is Brapi MCP Server still maintained?

Yes - as of 2026-09-30, its last commit was 2026-09-24 and it shipped 8 releases in the last 90 days. We re-verify nightly.

What can Brapi MCP Server do?

With this server connected, an agent can list valid filter names for an endpoint, for use in any finder's extraFilters, find studies by crop, trial type, season, location, or program, fetch a study with program, trial, and location resolved, plus companion counts, and find germplasm by name, synonym, accession, PUI, crop, or free text.

How do I install Brapi MCP Server?

Run `npx -y @cyanheads/brapi-mcp-server`. The README documents 7 environment variables (MCP_TRANSPORT_TYPE, MCP_LOG_LEVEL, BRAPI_BTI_CASSAVA_USERNAME…) to set first. Set MCP_LOG_LEVEL, BRAPI_BTI_CASSAVA_USERNAME, BRAPI_BTI_CASSAVA_PASSWORD, BRAPI_PROD_BASE_URL, BRAPI_PROD_API_KEY, BRAPI_PROD_API_KEY_HEADER before connecting. MCP_TRANSPORT_TYPE is optional or environment-specific per the README. You can also paste the ready-made client config above.

Does Brapi MCP Server require authentication?

No - the endpoint accepted our unauthenticated MCP initialize when probed on 2026-09-30; you can connect without credentials.

07 · Alternatives to Brapi MCP Server