Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Beschreibung vom Entwickler (englisches Original)
Collaborative BrAPI v2.1 MCP workspace: studies, germplasm, genotypes across Breedbase, T3, more.
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
BRAPI_DEFAULT_BASE_URL, BRAPI_ENABLE_WRITES, BRAPI_PAGE_SIZE, MCP_LOG_LEVELDu brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Funktioniert in Claude im Web, auf dem Desktop und auf dem Handy:
https://brapi.caseyjhand.com/mcpÖffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"brapi": {
"command": "npx",
"args": [
"-y",
"@cyanheads/brapi-mcp-server"
],
"env": {
"BRAPI_DEFAULT_BASE_URL": "your-value",
"BRAPI_ENABLE_WRITES": "your-value",
"BRAPI_PAGE_SIZE": "your-value",
"MCP_LOG_LEVEL": "your-value"
}
}
}
}Führe das in deinem Terminal aus
claude mcp add --transport http brapi https://brapi.caseyjhand.com/mcpclaude mcp add brapi --env BRAPI_DEFAULT_BASE_URL=your-value --env BRAPI_ENABLE_WRITES=your-value --env BRAPI_PAGE_SIZE=your-value --env MCP_LOG_LEVEL=your-value -- npx -y @cyanheads/brapi-mcp-serverTrag die leeren Werte ein, bevor du ihn startest.
In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"brapi": {
"url": "https://brapi.caseyjhand.com/mcp"
}
}
}In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"brapi": {
"command": "npx",
"args": [
"-y",
"@cyanheads/brapi-mcp-server"
],
"env": {
"BRAPI_DEFAULT_BASE_URL": "your-value",
"BRAPI_ENABLE_WRITES": "your-value",
"BRAPI_PAGE_SIZE": "your-value",
"MCP_LOG_LEVEL": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"brapi": {
"type": "http",
"url": "https://brapi.caseyjhand.com/mcp"
}
}
}In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"brapi": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@cyanheads/brapi-mcp-server"
],
"env": {
"BRAPI_DEFAULT_BASE_URL": "your-value",
"BRAPI_ENABLE_WRITES": "your-value",
"BRAPI_PAGE_SIZE": "your-value",
"MCP_LOG_LEVEL": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
ChatGPT verbindet sich nur mit Servern im Internet:
https://brapi.caseyjhand.com/mcpMenünamen können sich je nach Tarif und mit der Zeit leicht unterscheiden.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
BRAPI_DEFAULT_BASE_URL envBRAPI_ENABLE_WRITES envBRAPI_PAGE_SIZE envMCP_LOG_LEVEL envDiese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Die Tool-Liste dieses Servers haben wir noch nicht gelesen; wir prüfen die Endpunkte reihum.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 7. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto cyanheads bestätigt, dem das Repo gehört
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Noch nicht geprüft; wir prüfen die Endpunkte reihum
Noch nicht geprüft; wir prüfen die Endpunkte reihum
Noch nicht geprüft; wir lesen die Tool-Liste, wenn wir den Endpunkt prüfen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.
Beides geht: Installiere ihn auf deinem Computer oder verbinde dich mit der Cloud-Version.
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.10.1) kam vor 19 Tagen in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Er verbindet sich per URL, also funktionieren auch Apps, die Remote-MCP-Server akzeptieren, zum Beispiel ChatGPT im Entwicklermodus.
In derselben Kategorie: Spec Driven Development, Remote Desktop Commander, Kanal Varna — drains, leaks & plumbing (Varna, BG)
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Drain unblocking, leak detection & plumbing in Varna, Bulgaria: services, prices, areas, contact
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
@cyanheads/brapi-mcp-server A collaborative BrAPI v2.1 workspace for multi-agent research via MCP. Search studies, germplasm, genotypes, and more across Breedbase, T3, Sweetpotatobase, and any BrAPI v2-compliant server. 25 Tools • 6 Resources • 2 Prompts
Public Hosted Server: https://brapi.caseyjhand.com/mcp
Plant-breeding data from any BrAPI (Breeding API) v2 server — Breedbase instances like Cassavabase and Sweetpotatobase, the Triticeae Toolbox (T3), and more, several at once. Search studies, germplasm, observations, and genotypes, walk pedigrees, and build phenotype and genotype matrices, with large results queryable in SQL.
| Tool | Description |
|---|---|
brapi_connect | Authenticate to a BrAPI v2 server, register it under an alias, and return the orientation envelope |
brapi_server_info | Return the orientation envelope for an 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 |
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 |
| Resource | Description |
|---|---|
brapi://server/info | Orientation envelope for the default connection |
brapi://calls | Raw capability profile (/serverinfo + /calls) for the default connection |
brapi://study/{studyDbId} | One study with program, trial, and location resolved |
brapi://germplasm/{germplasmDbId} | One germplasm with attributes and parents |
brapi://filters/{endpoint} | Filter catalog for one endpoint |
brapi://variable/{observationVariableDbId} | One observation variable (trait, scale, method, ontology) |
Every resource reads the default connection and mirrors a tool; tool-only clients and multi-server workflows use the tools.
| Prompt | Description |
|---|---|
brapi_eda_study | Exploratory-data-analysis playbook for one study, ending in a structured report |
brapi_meta_analysis | Cross-study meta-analysis playbook for a germplasm × trait combination |
Identifier filters also accept their BrAPI *DbId / *DbIds spellings where equivalent: for example, imageDbId for imageDbIds, studyDbIds for studies, and observationVariableDbIds for variables. Array filters accept a lone string or multiple IDs. Supply one spelling per filter; conflicting spellings are rejected.
brapi_connect toolbaseUrl and auth are optional: omitted values come from BRAPI_ _* env vars, the built-in aliases, then BRAPI_DEFAULT_* (see Per-alias credentials); alias (default default, pattern ^[a-zA-Z0-9_-]+$) keeps several servers registered at once; auth.mode is none, bearer, api_key, sgn (Breedbase /token exchange), or oauth2 (client credentials)server identity, auth summary, capabilities (supported, notableGaps), active dialect, content counts, attribution for built-in servers, and nextToolSuggestions naming the entry-point finders this server can serveauth_session_required, auth_base_url_mismatch, alias_base_url_unset, alias_base_url_invalid, private_address_blocked, auth_token_exchange_failed, auth_no_access_token, upstream_unauthorized, upstream_forbidden, capability_discovery_unavailable (retryable); a failed connect leaves any earlier registration under the alias intactdefault when BRAPI_DEFAULT_BASE_URL is set, a built-in, or a BRAPI_ _BASE_URL alias): any other tool or resource connects it on first use, as brapi_connect with no baseUrl or auth would, and concurrent first calls share one connect. An alias with no URL of its own still fails unknown_alias, even with BRAPI_DEFAULT_* set, so a mistyped alias never reaches the default server. Those tools and resources declare the connect failures they can hit (the token, discovery, auth-wall, alias_base_url_invalid, and private_address_blocked errors above), each with a recovery hintbrapi_server_info toolalias optional; forceRefresh (default false) refetches the capability profile instead of reading the cachebrapi_connectbrapi_describe_filters toolendpoint is one of studies, germplasm, observations, variables, images, variants, locations; unknown_endpoint carries availableEndpointsname, type, description, and example; the catalog follows the v2.1 spec, and individual servers may honor a subsetbrapi_find_studies toolcrop, trialTypes, seasons, locations, programs, trials, studyNames, active; on SGN servers (CassavaBase, Breedbase, Sweetpotatobase), which ignore the location filter on /studies, locations is applied client-side over the scanned studies, and totalCount is the matched countdistributions over programName, studyType, seasons, locationName, commonCropNameadditionalInfo, preserving the raw metadata.brapi_get_study toolstudyDbId required; resolves program, trial, and location inline; study_not_found when the upstream has no such studyadditionalInfo; when the study has no program ID, the fetched parent trial can supply it for program resolution.observationCount, observationUnitCount, variableCount; a count the server can't scope to the study is omitted with a warning, never reported as the server-wide totalbrapi_find_germplasm toolnames, germplasmDbIds, germplasmPUIs, accessionNumbers, crops, synonyms, collections, genus, species; text is a client-side substring match on name, PUI, accession, display name, and synonyms that drops non-matching rows. Its first request uses BRAPI_PAGE_SIZE independently of inline loadLimit; it scans every upstream row when the set fits one dataframe walk (50,000 rows at the default page size). Above that, a first-page miss stops after one request and reports the actual rows scanned; it does not establish absence from the catalog, so pair it with a server-side filter.distributions over commonCropName, genus, species, collection, countryOfOriginCodebrapi_get_germplasm toolgermplasmDbId required; returns attributes and direct parents; germplasm_not_found when the upstream has no such germplasmstudyCount, directParentCount, directDescendantCountbrapi_walk_pedigree toolgermplasmDbIds (germplasmDbId also accepted); direction is ancestors (default), descendants, or both; maxDepth 1–10 (default 3); the walk stops at 1,000 nodes or 10,000 edges and sets truncatedboth is the union of the two walks: ancestors expand only through /pedigree and descendants only through /progeny, so a descendant's other parent is not pulled incycleCount counts the edges marked isCycle, where a germplasm becomes its own ancestor — shared ancestors and siblings are not cyclesleafCount counts graph terminals, including depth-boundary nodes; confirmedLeafCount counts non-root nodes whose relevant lookups successfully returned no relatives. frontier / frontierCount distinguish depth-limited, safetNur der Anfang wird gezeigt; den Rest findest du im Repo