@cyanheads/brapi-mcp-server 0.4.4 → 0.4.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/CLAUDE.md +4 -4
  2. package/README.md +12 -3
  3. package/changelog/0.4.x/0.4.5.md +25 -0
  4. package/changelog/0.4.x/0.4.6.md +26 -0
  5. package/dist/mcp-server/tools/definitions/brapi-connect.tool.d.ts +1 -0
  6. package/dist/mcp-server/tools/definitions/brapi-connect.tool.d.ts.map +1 -1
  7. package/dist/mcp-server/tools/definitions/brapi-find-germplasm.tool.d.ts +7 -1
  8. package/dist/mcp-server/tools/definitions/brapi-find-germplasm.tool.d.ts.map +1 -1
  9. package/dist/mcp-server/tools/definitions/brapi-find-germplasm.tool.js +23 -5
  10. package/dist/mcp-server/tools/definitions/brapi-find-germplasm.tool.js.map +1 -1
  11. package/dist/mcp-server/tools/definitions/brapi-find-images.tool.d.ts +7 -1
  12. package/dist/mcp-server/tools/definitions/brapi-find-images.tool.d.ts.map +1 -1
  13. package/dist/mcp-server/tools/definitions/brapi-find-images.tool.js +23 -5
  14. package/dist/mcp-server/tools/definitions/brapi-find-images.tool.js.map +1 -1
  15. package/dist/mcp-server/tools/definitions/brapi-find-locations.tool.d.ts +7 -1
  16. package/dist/mcp-server/tools/definitions/brapi-find-locations.tool.d.ts.map +1 -1
  17. package/dist/mcp-server/tools/definitions/brapi-find-locations.tool.js +23 -5
  18. package/dist/mcp-server/tools/definitions/brapi-find-locations.tool.js.map +1 -1
  19. package/dist/mcp-server/tools/definitions/brapi-find-observations.tool.d.ts +7 -1
  20. package/dist/mcp-server/tools/definitions/brapi-find-observations.tool.d.ts.map +1 -1
  21. package/dist/mcp-server/tools/definitions/brapi-find-observations.tool.js +23 -5
  22. package/dist/mcp-server/tools/definitions/brapi-find-observations.tool.js.map +1 -1
  23. package/dist/mcp-server/tools/definitions/brapi-find-studies.tool.d.ts +7 -1
  24. package/dist/mcp-server/tools/definitions/brapi-find-studies.tool.d.ts.map +1 -1
  25. package/dist/mcp-server/tools/definitions/brapi-find-studies.tool.js +23 -5
  26. package/dist/mcp-server/tools/definitions/brapi-find-studies.tool.js.map +1 -1
  27. package/dist/mcp-server/tools/definitions/brapi-find-variables.tool.d.ts +7 -1
  28. package/dist/mcp-server/tools/definitions/brapi-find-variables.tool.d.ts.map +1 -1
  29. package/dist/mcp-server/tools/definitions/brapi-find-variables.tool.js +22 -5
  30. package/dist/mcp-server/tools/definitions/brapi-find-variables.tool.js.map +1 -1
  31. package/dist/mcp-server/tools/definitions/brapi-find-variants.tool.d.ts +7 -1
  32. package/dist/mcp-server/tools/definitions/brapi-find-variants.tool.d.ts.map +1 -1
  33. package/dist/mcp-server/tools/definitions/brapi-find-variants.tool.js +23 -5
  34. package/dist/mcp-server/tools/definitions/brapi-find-variants.tool.js.map +1 -1
  35. package/dist/mcp-server/tools/definitions/brapi-server-info.tool.d.ts +1 -0
  36. package/dist/mcp-server/tools/definitions/brapi-server-info.tool.d.ts.map +1 -1
  37. package/dist/mcp-server/tools/definitions/index.d.ts +44 -7
  38. package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -1
  39. package/dist/mcp-server/tools/shared/connect-auth-schema.js +2 -2
  40. package/dist/mcp-server/tools/shared/connect-auth-schema.js.map +1 -1
  41. package/dist/mcp-server/tools/shared/find-helpers.d.ts +45 -6
  42. package/dist/mcp-server/tools/shared/find-helpers.d.ts.map +1 -1
  43. package/dist/mcp-server/tools/shared/find-helpers.js +99 -17
  44. package/dist/mcp-server/tools/shared/find-helpers.js.map +1 -1
  45. package/dist/mcp-server/tools/shared/orientation-envelope.d.ts +2 -0
  46. package/dist/mcp-server/tools/shared/orientation-envelope.d.ts.map +1 -1
  47. package/dist/mcp-server/tools/shared/orientation-envelope.js +11 -0
  48. package/dist/mcp-server/tools/shared/orientation-envelope.js.map +1 -1
  49. package/dist/services/brapi-client/brapi-client.d.ts.map +1 -1
  50. package/dist/services/brapi-client/brapi-client.js +1 -1
  51. package/dist/services/brapi-client/brapi-client.js.map +1 -1
  52. package/dist/services/brapi-dialect/brapi-test-dialect.d.ts +24 -0
  53. package/dist/services/brapi-dialect/brapi-test-dialect.d.ts.map +1 -0
  54. package/dist/services/brapi-dialect/brapi-test-dialect.js +148 -0
  55. package/dist/services/brapi-dialect/brapi-test-dialect.js.map +1 -0
  56. package/dist/services/brapi-dialect/cassavabase-dialect.d.ts +7 -6
  57. package/dist/services/brapi-dialect/cassavabase-dialect.d.ts.map +1 -1
  58. package/dist/services/brapi-dialect/cassavabase-dialect.js +23 -42
  59. package/dist/services/brapi-dialect/cassavabase-dialect.js.map +1 -1
  60. package/dist/services/brapi-dialect/detect.d.ts +5 -3
  61. package/dist/services/brapi-dialect/detect.d.ts.map +1 -1
  62. package/dist/services/brapi-dialect/detect.js +21 -7
  63. package/dist/services/brapi-dialect/detect.js.map +1 -1
  64. package/dist/services/brapi-dialect/index.d.ts +2 -1
  65. package/dist/services/brapi-dialect/index.d.ts.map +1 -1
  66. package/dist/services/brapi-dialect/index.js +2 -1
  67. package/dist/services/brapi-dialect/index.js.map +1 -1
  68. package/dist/services/brapi-dialect/registry.d.ts.map +1 -1
  69. package/dist/services/brapi-dialect/registry.js +4 -1
  70. package/dist/services/brapi-dialect/registry.js.map +1 -1
  71. package/dist/services/brapi-dialect/singularizing-dialect.d.ts +47 -0
  72. package/dist/services/brapi-dialect/singularizing-dialect.d.ts.map +1 -0
  73. package/dist/services/brapi-dialect/singularizing-dialect.js +63 -0
  74. package/dist/services/brapi-dialect/singularizing-dialect.js.map +1 -0
  75. package/dist/services/brapi-dialect/spec-dialect.d.ts +7 -5
  76. package/dist/services/brapi-dialect/spec-dialect.d.ts.map +1 -1
  77. package/dist/services/brapi-dialect/spec-dialect.js +8 -6
  78. package/dist/services/brapi-dialect/spec-dialect.js.map +1 -1
  79. package/dist/services/brapi-dialect/types.d.ts +16 -1
  80. package/dist/services/brapi-dialect/types.d.ts.map +1 -1
  81. package/dist/services/capability-registry/capability-registry.d.ts.map +1 -1
  82. package/dist/services/capability-registry/capability-registry.js +30 -10
  83. package/dist/services/capability-registry/capability-registry.js.map +1 -1
  84. package/dist/services/capability-registry/types.d.ts +6 -0
  85. package/dist/services/capability-registry/types.d.ts.map +1 -1
  86. package/dist/services/server-registry/server-registry.d.ts +1 -0
  87. package/dist/services/server-registry/server-registry.d.ts.map +1 -1
  88. package/dist/services/server-registry/server-registry.js +31 -1
  89. package/dist/services/server-registry/server-registry.js.map +1 -1
  90. package/package.json +4 -4
  91. package/server.json +3 -3
package/CLAUDE.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # Agent Protocol
2
2
 
3
3
  **Server:** brapi-mcp-server
4
- **Version:** 0.4.4
4
+ **Version:** 0.4.6
5
5
  **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core)
6
6
 
7
7
  > **Read the framework docs first:** `node_modules/@cyanheads/mcp-ts-core/CLAUDE.md` contains the full API reference — builders, Context, error codes, exports, patterns. This file covers server-specific conventions only.
@@ -12,7 +12,7 @@
12
12
 
13
13
  When the user asks what to do next, what's left, or needs direction, suggest relevant options based on the current project state:
14
14
 
15
- 1. **Re-run the `setup` skill** — ensures CLAUDE.md, skills, structure, and metadata are populated and up to date with the current codebase
15
+ 1. **Re-run the `setup` skill** — ensures AGENTS.md, skills, structure, and metadata are populated and up to date with the current codebase
16
16
  2. **Run the `design-mcp-server` skill** — if the tool/resource surface hasn't been mapped yet, work through domain design
17
17
  3. **Add tools/resources/prompts** — scaffold new definitions using the `add-tool`, `add-app-tool`, `add-resource`, `add-prompt` skills
18
18
  4. **Add services** — scaffold domain service integrations using the `add-service` skill
@@ -284,7 +284,7 @@ src/
284
284
 
285
285
  Skills are modular instructions in `skills/` at the project root. Read them directly when a task matches — e.g., `skills/add-tool/SKILL.md` when adding a tool.
286
286
 
287
- **Agent skill directory:** Copy skills into the directory your agent discovers (Claude Code: `.claude/skills/`, others: equivalent). This makes skills available as context without needing to reference `skills/` paths manually. After framework updates, run the `maintenance` skill — it re-syncs the agent directory automatically (Phase B).
287
+ **Agent skill directory:** Copy skills into the directory your agent discovers (Claude Code: `.claude/skills/`, Codex: `.codex/skills/`, shared: `.agents/skills/`, others: equivalent). This makes skills available as context without needing to reference `skills/` paths manually. After framework updates, run the `maintenance` skill — it re-syncs the agent directory automatically (Phase B).
288
288
 
289
289
  Available skills:
290
290
 
@@ -380,7 +380,7 @@ import { getMyService } from '@/services/my-domain/my-service.js';
380
380
  - [ ] JSDoc `@fileoverview` + `@module` on every file
381
381
  - [ ] `ctx.log` for logging, `ctx.state` for storage — no `console`, no direct persistence access
382
382
  - [ ] Handlers throw on failure — error factories or plain `Error`, no try/catch
383
- - [ ] `format()` renders all data the LLM needs — different clients forward different surfaces (Claude Code → `structuredContent`, Claude Desktop → `content[]`); both must carry the same data
383
+ - [ ] `format()` renders all data the LLM needs — different clients forward different surfaces (Codex → `structuredContent`, Codex Desktop → `content[]`); both must carry the same data
384
384
  - [ ] BrAPI tool: resolves connection via `ServerRegistry.get(ctx, alias ?? DEFAULT_ALIAS)` before touching the client
385
385
  - [ ] BrAPI tool: gates the call with `CapabilityRegistry.ensure(...)` — never fires against an endpoint the server didn't advertise
386
386
  - [ ] BrAPI tool: raw / domain / output schemas reviewed against real upstream sparsity (most `/germplasm` and `/studies` fields are optional in the wild)
package/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  <div align="center">
9
9
 
10
- [![npm](https://img.shields.io/npm/v/@cyanheads/brapi-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/brapi-mcp-server) [![Version](https://img.shields.io/badge/Version-0.4.4-blue.svg?style=flat-square)](./CHANGELOG.md) [![Framework](https://img.shields.io/badge/Built%20on-@cyanheads/mcp--ts--core-259?style=flat-square)](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^1.29.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/)
10
+ [![npm](https://img.shields.io/npm/v/@cyanheads/brapi-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/brapi-mcp-server) [![Version](https://img.shields.io/badge/Version-0.4.6-blue.svg?style=flat-square)](./CHANGELOG.md) [![Framework](https://img.shields.io/badge/Built%20on-@cyanheads/mcp--ts--core-259?style=flat-square)](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^1.29.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/)
11
11
 
12
12
  [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](./LICENSE) [![TypeScript](https://img.shields.io/badge/TypeScript-^6.0.3-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.3.11-blueviolet.svg?style=flat-square)](https://bun.sh/) [![Status](https://img.shields.io/badge/Status-Beta-yellow.svg?style=flat-square)](./CHANGELOG.md)
13
13
 
@@ -70,7 +70,7 @@ Nineteen tools grouped by shape — connection tools bootstrap a session, `find_
70
70
  Session bootstrap. Authenticates to a BrAPI v2 server, registers the connection under a named alias, loads the capability profile via `CapabilityRegistry`, and inlines the full orientation envelope in the response. One call fully orients the agent.
71
71
 
72
72
  - `baseUrl` and `auth` are optional — when omitted they fall back to `BRAPI_<ALIAS>_*`, then `BRAPI_DEFAULT_*` env vars. Agents can call `brapi_connect({ alias: 'cassava' })` with nothing else and credentials never enter the LLM context (see [Per-alias credentials](#per-alias-credentials))
73
- - Tagged-union auth input: `none`, `sgn` (session-token exchange), `oauth2` (accepted at schema level, rejected at runtime pending client-credentials flow), `bearer`, `api_key`
73
+ - Tagged-union auth input: `none`, `sgn` (session-token exchange), `oauth2` (client-credentials exchange), `bearer`, `api_key`
74
74
  - Multiple concurrent connections per session via distinct aliases
75
75
  - Forces a fresh capability load on every connect — the agent expects current state
76
76
  - Returns the same envelope as `brapi_server_info` — server identity, auth status, capability profile (supported/missing calls), content summary, server-specific notes
@@ -310,13 +310,16 @@ BrAPI-specific:
310
310
 
311
311
  - **Multi-server session** — `ServerRegistry` maps aliases to live BrAPI connections, so one agent session can span Breedbase, T3, and Sweetpotatobase in parallel
312
312
  - **Capability-aware calls** — `CapabilityRegistry` caches the `/serverinfo` profile per connection and guards every tool call against unsupported endpoints before they hit the wire
313
+ - **Tolerant capability discovery** — if `/serverinfo` is unavailable or sparse, discovery falls back to `/calls` and returns a partial orientation envelope with explicit notes
314
+ - **Find-route planning** — curated `find_*` tools prefer GET list endpoints, then fall back to POST `/search/{noun}` when only search is advertised
313
315
  - **Dataset spillover** — `find_*` tools cap in-context rows at `loadLimit` and transparently persist larger unions (up to 50k rows / 50 pages) as handles in `DatasetStore`; `brapi_manage_dataset` pages / projects / deletes them
314
316
  - **Async-search transparency** — `brapi_find_genotype_calls` and `brapi_raw_search` handle the `POST /search/{noun}` → `GET /search/{noun}/{id}` 202-retry pattern without the agent needing to know
315
317
  - **Pedigree DAG walks** — `brapi_walk_pedigree` BFS-traverses ancestry or descendancy with cycle detection, depth limits, and traversal stats — BrAPI only exposes one generation per call
316
318
  - **Image content** — `brapi_get_image` fetches image bytes inline as MCP `type: image` blocks, preferring `/images/{id}/imagecontent` and falling back to the metadata `imageURL` field
317
319
  - **Free-text variable ranking** — `OntologyResolver` scores variable records against a query (PUI / name / synonym / trait-class) so `find_variables text:"..."` returns ranked candidates even when the server has no `/ontologies` endpoint
318
320
  - **Dynamic filter discovery** — static v2.1 filter catalog plus an `extraFilters` passthrough lets agents drive any server-specific filter without schema churn
319
- - **Auth variants in one schema** — tagged-union connection auth covers none / bearer / api-key / SGN session-token exchange in a single input shape
321
+ - **Auth variants in one schema** — tagged-union connection auth covers none / bearer / api-key / SGN session-token exchange / OAuth2 client-credentials exchange in a single input shape
322
+ - **Compatibility matrix** — live server probes are tracked in [docs/compatibility.md](./docs/compatibility.md)
320
323
  - **Typed error contracts** — every declared failure mode carries a stable `data.reason`, an HTTP-style `code`, and a `recovery.hint` mirrored onto the wire, so agent clients can route errors deterministically (e.g. `unknown_alias` → re-run `brapi_connect`, `dataset_not_found` → drop the stale handle)
321
324
  - **Last-resort escape hatches** — `brapi_raw_get` and `brapi_raw_search` pass through to any endpoint with routing nudges pointing at the curated tool when one exists
322
325
 
@@ -487,6 +490,12 @@ BRAPI_CASSAVA_PASSWORD=...
487
490
  BRAPI_PROD_BASE_URL=https://my-brapi.example.com/brapi/v2
488
491
  BRAPI_PROD_API_KEY=...
489
492
  BRAPI_PROD_API_KEY_HEADER=X-API-Key
493
+
494
+ # Register an OAuth2 client-credentials server as alias 'secure'
495
+ BRAPI_SECURE_BASE_URL=https://my-oauth-brapi.example.com/brapi/v2
496
+ BRAPI_SECURE_OAUTH_CLIENT_ID=...
497
+ BRAPI_SECURE_OAUTH_CLIENT_SECRET=...
498
+ BRAPI_SECURE_OAUTH_TOKEN_URL=https://auth.example.com/oauth/token
490
499
  ```
491
500
 
492
501
  Then the agent calls `brapi_connect({ alias: 'cassava' })` — no `baseUrl`, no `auth`, no secrets in the prompt.
@@ -0,0 +1,25 @@
1
+ ---
2
+ summary: "Compatibility upgrade: OAuth2 client credentials, tolerant capability fallback, route-planned find tools, and live server matrix."
3
+ breaking: false
4
+ ---
5
+
6
+ # 0.4.5 — 2026-05-01
7
+
8
+ This release widens real-server compatibility without changing tool names or required inputs. The focus is making connection setup, capability discovery, and curated find tools adapt to what each BrAPI server actually advertises.
9
+
10
+ ## Added
11
+
12
+ - **OAuth2 client-credentials auth** — `brapi_connect` now exchanges `mode: "oauth2"` credentials for an access token at connect time. Env-derived aliases support `BRAPI_<ALIAS>_OAUTH_CLIENT_ID`, `BRAPI_<ALIAS>_OAUTH_CLIENT_SECRET`, and optional `BRAPI_<ALIAS>_OAUTH_TOKEN_URL`.
13
+ - **Find-route planner** — curated `find_*` tools now prefer advertised GET list endpoints and fall back to POST `/search/{noun}` when the server only advertises search.
14
+ - **Dialect coverage** — added `breedbase` and `brapi-test` dialect ids. CassavaBase keeps the historical `cassavabase` id; sister SGN/Breedbase deployments now resolve to `breedbase`.
15
+ - **Compatibility matrix** — `docs/compatibility.md` records live `/serverinfo` probes for BrAPI Test Server, CassavaBase, SweetpotatoBase, T3/Wheat, and FAIDARE/GnpIS.
16
+
17
+ ## Changed
18
+
19
+ - **Capability discovery** now tolerates missing or malformed `/serverinfo` by falling back to `/calls`, returning a partial orientation envelope with explicit notes instead of failing the connection outright.
20
+ - **Orientation envelopes** now surface dialect-level compatibility notes alongside disabled search routes.
21
+
22
+ ## Fixed
23
+
24
+ - `oauth2` is no longer a schema-only auth variant that fails at runtime.
25
+ - Curated find tools no longer fail solely because a server advertises only POST `/search/{noun}` for a supported resource.
@@ -0,0 +1,26 @@
1
+ ---
2
+ summary: "BrAPI Test Server v2.0 dialect, shared singularizing engine, and typed all_filters_dropped guard across find_* tools."
3
+ breaking: false
4
+ ---
5
+
6
+ # 0.4.6 — 2026-05-01
7
+
8
+ Real-server dialect work. The BrAPI Community Test Server advertises v2.1 but its GET list endpoints honor only the older v2.0 singular filter names — `studyDbIds` is silently ignored, `studyDbId` filters correctly. Two Issues surfaced from live probing: `find_observations` returned the unfiltered set when scoped by study, and `get_germplasm`'s studyCount probe returned the global studies total instead of the per-germplasm count. Both root in the same v2.0/v2.1 mismatch. This release adds a real `brapi-test` dialect, factors the SGN/Breedbase translation engine into a shared module, and wires a typed `all_filters_dropped` failure across the `find_*` surface so an upstream that drops every supplied scope filter no longer silently widens to the unfiltered baseline.
9
+
10
+ ## Added
11
+
12
+ - **`brapi-test` dialect** — was a stub that passed filters through verbatim; now translates v2.1 plurals to v2.0 singulars on `/studies`, `/germplasm`, `/observations`, `/locations`, `/variables`, `/images`, `/variants`, `/trials`, `/programs`. Drops `searchText` on `/germplasm` and `observationLevel(s)` + `studyDbId(s)` on `/observations` (broken upstream in both forms — verified empirically). POST `/search/{noun}` routes are NOT marked disabled — the test server serves them correctly with v2.1 plurals, so multi-value queries can still escalate to `/search`.
13
+ - **`createSingularizingDialect` factory** — `src/services/brapi-dialect/singularizing-dialect.ts`. Generic engine for dialects that translate plural BrAPI v2.1 filter names to v2.0 singulars, drop blacklisted keys, and downcast multi-value arrays to the first element with a loud warning. Used by both the SGN/Breedbase family and the BrAPI Community Test Server — the engine is shared, only the per-server data (mapping, drop list, disabled-search list, notes) lives in each dialect module.
14
+ - **Typed `all_filters_dropped` error contract** — declared on every `find_*` tool (`brapi_find_germplasm`, `brapi_find_images`, `brapi_find_locations`, `brapi_find_observations`, `brapi_find_studies`, `brapi_find_variables`, `brapi_find_variants`). When the active dialect drops every agent-supplied scope filter, the tool now throws a `ValidationError` with `data.reason = 'all_filters_dropped'`, the dropped filter list, and a per-tool recovery hint listing the supported filter paths — instead of silently widening the query to the unfiltered baseline. Bare-baseline calls (no filters supplied) are exempt.
15
+
16
+ ## Changed
17
+
18
+ - **CassavaBase dialect refactor** — the per-endpoint translation engine moved out of `cassavabase-dialect.ts` into the shared `singularizing-dialect.ts` factory. CassavaBase now supplies only its SGN-specific data (mapping, drop list, disabled-search list, notes) and delegates the engine. No behavior change for SGN-family servers; the same plural→singular translation, search-route gating, and warning text apply.
19
+ - **`DialectAdaptation`** now carries a structured `dropped: readonly string[]` alongside `filters` and `warnings`. Lets callers detect "agent intended to scope, dialect couldn't honor any of it" without parsing warning strings.
20
+ - **`get_germplasm` studyCount probe** routes through the dialect adapter so per-server key translation takes effect. Previously sent `germplasmDbIds` (plural) verbatim, which the BrAPI Test Server silently ignored — the probe returned the global studies total instead of the per-germplasm count. Now sends the dialect-translated key (`germplasmDbId` on the test server, the relevant v2.0 form on SGN-family servers) and skips the probe entirely with a warning when the dialect drops the filter.
21
+ - **`applyDialectFiltersOrFail` helper** in `src/mcp-server/tools/shared/find-helpers.ts` consolidates the dialect-apply + all-dropped-throw block that was previously duplicated 13 lines per tool across all seven `find_*` tools. ~85 lines net removed.
22
+
23
+ ## Fixed
24
+
25
+ - **`find_observations` on the BrAPI Test Server** — `studies: ['studyN']` no longer returns the unfiltered observation set. The dialect now drops `studyDbId(s)` entirely (broken in both GET singular and POST `/search` plural forms upstream — neither shape narrows the result set), surfaces a warning, and the typed `all_filters_dropped` guard prevents the query from running unfiltered when `studies` was the only filter supplied. Agents should scope by `germplasm`, `observationUnits`, or `variables` instead — all of which DO filter correctly on the test server.
26
+ - **`get_germplasm` studyCount on the BrAPI Test Server** — was returning the global studies total because `/studies?germplasmDbIds=X` is silently ignored upstream; now sends `germplasmDbId=X` (singular) via the dialect adapter and the cross-check confirms the filtered count differs from the unfiltered baseline.
@@ -69,6 +69,7 @@ export declare const brapiConnect: import("@cyanheads/mcp-ts-core").ToolDefiniti
69
69
  }>;
70
70
  envVar: z.ZodString;
71
71
  disabledSearchEndpoints: z.ZodArray<z.ZodString>;
72
+ notes: z.ZodArray<z.ZodString>;
72
73
  }, z.core.$strip>;
73
74
  content: z.ZodObject<{
74
75
  crops: z.ZodArray<z.ZodString>;
@@ -1 +1 @@
1
- {"version":3,"file":"brapi-connect.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-connect.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAqBjE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0FvB,CAAC"}
1
+ {"version":3,"file":"brapi-connect.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-connect.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAqBjE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0FvB,CAAC"}
@@ -7,6 +7,7 @@
7
7
  * @module mcp-server/tools/definitions/brapi-find-germplasm.tool
8
8
  */
9
9
  import { z } from '@cyanheads/mcp-ts-core';
10
+ import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
10
11
  export declare const brapiFindGermplasm: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{
11
12
  alias: z.ZodOptional<z.ZodString>;
12
13
  names: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -68,5 +69,10 @@ export declare const brapiFindGermplasm: import("@cyanheads/mcp-ts-core").ToolDe
68
69
  }, z.core.$strip>>;
69
70
  warnings: z.ZodArray<z.ZodString>;
70
71
  appliedFilters: z.ZodRecord<z.ZodString, z.ZodUnknown>;
71
- }, z.core.$strip>, undefined>;
72
+ }, z.core.$strip>, readonly [{
73
+ readonly reason: "all_filters_dropped";
74
+ readonly code: JsonRpcErrorCode.ValidationError;
75
+ readonly when: "The active dialect dropped every filter the agent supplied — the upstream server does not honor any of the requested scope filters on this endpoint, so the call would silently widen to the unfiltered baseline.";
76
+ readonly recovery: "Drop the unsupported filters and rescope by names, germplasmDbIds, germplasmPUIs, accessionNumbers, crops, synonyms, genus, or species — these filter paths are honored on the active dialect.";
77
+ }]>;
72
78
  //# sourceMappingURL=brapi-find-germplasm.tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"brapi-find-germplasm.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-find-germplasm.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AA4IjD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAqS7B,CAAC"}
1
+ {"version":3,"file":"brapi-find-germplasm.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-find-germplasm.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AA6IjE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiT7B,CAAC"}
@@ -7,13 +7,14 @@
7
7
  * @module mcp-server/tools/definitions/brapi-find-germplasm.tool
8
8
  */
9
9
  import { tool, z } from '@cyanheads/mcp-ts-core';
10
+ import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
10
11
  import { getServerConfig } from '../../../config/server-config.js';
11
12
  import { getBrapiClient } from '../../../services/brapi-client/index.js';
12
13
  import { resolveDialect } from '../../../services/brapi-dialect/index.js';
13
14
  import { getCapabilityRegistry } from '../../../services/capability-registry/index.js';
14
15
  import { getDatasetStore } from '../../../services/dataset-store/index.js';
15
16
  import { DEFAULT_ALIAS, getServerRegistry } from '../../../services/server-registry/index.js';
16
- import { AliasInput, applyDialectFilters, asString, buildRefinementHint, checkFilterMatchRates, collectPassthroughParts, computeDistribution, DatasetHandleSchema, ExtraFiltersInput, LoadLimitInput, loadInitialPage, maybeSpill, mergeFilters, renderAppliedFilters, renderDatasetHandle, renderDistributions, renderFindHeader, } from '../shared/find-helpers.js';
17
+ import { AliasInput, applyDialectFiltersOrFail, asString, buildRefinementHint, checkFilterMatchRates, collectPassthroughParts, computeDistribution, DatasetHandleSchema, ExtraFiltersInput, LoadLimitInput, loadInitialFindPage, maybeSpill, mergeFilters, renderAppliedFilters, renderDatasetHandle, renderDistributions, renderFindHeader, resolveFindRoute, } from '../shared/find-helpers.js';
17
18
  const GermplasmRowSchema = z
18
19
  .object({
19
20
  germplasmDbId: z.string().describe('Server-side identifier for the germplasm.'),
@@ -118,6 +119,14 @@ const SERVER_TO_USER = {
118
119
  export const brapiFindGermplasm = tool('brapi_find_germplasm', {
119
120
  description: 'Find germplasm by name, synonym, accession number, PUI, crop, or free-text query. Matches across registered synonyms. Returns a dataset handle when the upstream total exceeds loadLimit.',
120
121
  annotations: { readOnlyHint: true, openWorldHint: true },
122
+ errors: [
123
+ {
124
+ reason: 'all_filters_dropped',
125
+ code: JsonRpcErrorCode.ValidationError,
126
+ when: 'The active dialect dropped every filter the agent supplied — the upstream server does not honor any of the requested scope filters on this endpoint, so the call would silently widen to the unfiltered baseline.',
127
+ recovery: 'Drop the unsupported filters and rescope by names, germplasmDbIds, germplasmPUIs, accessionNumbers, crops, synonyms, genus, or species — these filter paths are honored on the active dialect.',
128
+ },
129
+ ],
121
130
  input: z.object({
122
131
  alias: AliasInput,
123
132
  names: z.array(z.string()).optional().describe('Filter by germplasm display names.'),
@@ -150,7 +159,7 @@ export const brapiFindGermplasm = tool('brapi_find_germplasm', {
150
159
  const capabilityLookup = {};
151
160
  if (connection.resolvedAuth)
152
161
  capabilityLookup.auth = connection.resolvedAuth;
153
- await capabilities.ensure(connection.baseUrl, { service: 'germplasm', method: 'GET' }, ctx, capabilityLookup);
162
+ const profile = await capabilities.profile(connection.baseUrl, ctx, capabilityLookup);
154
163
  const dialect = await resolveDialect(connection, ctx, capabilityLookup);
155
164
  const warnings = [];
156
165
  const merged = mergeFilters({
@@ -164,9 +173,17 @@ export const brapiFindGermplasm = tool('brapi_find_germplasm', {
164
173
  genus: input.genus,
165
174
  species: input.species,
166
175
  }, input.extraFilters, warnings);
167
- const filters = applyDialectFilters(dialect, 'germplasm', merged, warnings);
176
+ const filters = applyDialectFiltersOrFail(ctx, dialect, 'germplasm', merged, warnings);
177
+ const route = resolveFindRoute({
178
+ profile,
179
+ dialect,
180
+ endpoint: 'germplasm',
181
+ filters,
182
+ searchBody: merged,
183
+ warnings,
184
+ });
168
185
  const loadLimit = input.loadLimit ?? config.loadLimit;
169
- const firstPage = await loadInitialPage(client, connection, '/germplasm', filters, loadLimit, ctx);
186
+ const firstPage = await loadInitialFindPage(client, connection, route, loadLimit, ctx);
170
187
  // Free-text matching is client-side. No BrAPI server reliably honors a
171
188
  // free-text query parameter on /germplasm — earlier versions of this tool
172
189
  // sent `searchText`, which CassavaBase and the Test Server both silently
@@ -188,6 +205,7 @@ export const brapiFindGermplasm = tool('brapi_find_germplasm', {
188
205
  connection,
189
206
  path: '/germplasm',
190
207
  filters,
208
+ route,
191
209
  source: 'find_germplasm',
192
210
  loadLimit,
193
211
  ctx,
@@ -267,7 +285,7 @@ export const brapiFindGermplasm = tool('brapi_find_germplasm', {
267
285
  hasMore: firstPage.hasMore,
268
286
  distributions,
269
287
  warnings,
270
- appliedFilters: filters,
288
+ appliedFilters: route.kind === 'search' ? route.searchBody : filters,
271
289
  };
272
290
  if (refinementHint)
273
291
  result.refinementHint = refinementHint;
@@ -1 +1 @@
1
- {"version":3,"file":"brapi-find-germplasm.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-find-germplasm.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"brapi-find-germplasm.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-find-germplasm.tool.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@
7
7
  * @module mcp-server/tools/definitions/brapi-find-images.tool
8
8
  */
9
9
  import { z } from '@cyanheads/mcp-ts-core';
10
+ import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
10
11
  export declare const brapiFindImages: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{
11
12
  alias: z.ZodOptional<z.ZodString>;
12
13
  images: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -61,5 +62,10 @@ export declare const brapiFindImages: import("@cyanheads/mcp-ts-core").ToolDefin
61
62
  }, z.core.$strip>>;
62
63
  warnings: z.ZodArray<z.ZodString>;
63
64
  appliedFilters: z.ZodRecord<z.ZodString, z.ZodUnknown>;
64
- }, z.core.$strip>, undefined>;
65
+ }, z.core.$strip>, readonly [{
66
+ readonly reason: "all_filters_dropped";
67
+ readonly code: JsonRpcErrorCode.ValidationError;
68
+ readonly when: "The active dialect dropped every filter the agent supplied — the upstream server does not honor any of the requested scope filters on this endpoint, so the call would silently widen to the unfiltered baseline.";
69
+ readonly recovery: "Drop the unsupported filters and rescope by images, observationUnits, observations, studies, descriptiveOntologyTerms, imageFileNames, or mimeTypes — these filter paths are honored on the active dialect.";
70
+ }]>;
65
71
  //# sourceMappingURL=brapi-find-images.tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"brapi-find-images.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-find-images.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AA2HjD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAiO1B,CAAC"}
1
+ {"version":3,"file":"brapi-find-images.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-find-images.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AA4HjE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6O1B,CAAC"}
@@ -7,13 +7,14 @@
7
7
  * @module mcp-server/tools/definitions/brapi-find-images.tool
8
8
  */
9
9
  import { tool, z } from '@cyanheads/mcp-ts-core';
10
+ import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
10
11
  import { getServerConfig } from '../../../config/server-config.js';
11
12
  import { getBrapiClient } from '../../../services/brapi-client/index.js';
12
13
  import { resolveDialect } from '../../../services/brapi-dialect/index.js';
13
14
  import { getCapabilityRegistry } from '../../../services/capability-registry/index.js';
14
15
  import { getDatasetStore } from '../../../services/dataset-store/index.js';
15
16
  import { DEFAULT_ALIAS, getServerRegistry } from '../../../services/server-registry/index.js';
16
- import { AliasInput, applyDialectFilters, asString, buildRefinementHint, checkFilterMatchRates, collectPassthroughParts, computeDistribution, DatasetHandleSchema, ExtraFiltersInput, fkMatchCheck, LoadLimitInput, loadInitialPage, maybeSpill, mergeFilters, renderAppliedFilters, renderDatasetHandle, renderDistributions, renderFindHeader, } from '../shared/find-helpers.js';
17
+ import { AliasInput, applyDialectFiltersOrFail, asString, buildRefinementHint, checkFilterMatchRates, collectPassthroughParts, computeDistribution, DatasetHandleSchema, ExtraFiltersInput, fkMatchCheck, LoadLimitInput, loadInitialFindPage, maybeSpill, mergeFilters, renderAppliedFilters, renderDatasetHandle, renderDistributions, renderFindHeader, resolveFindRoute, } from '../shared/find-helpers.js';
17
18
  const ImageRowSchema = z
18
19
  .object({
19
20
  imageDbId: z.string().describe('Server-side identifier for the image.'),
@@ -105,6 +106,14 @@ const SERVER_TO_USER = {
105
106
  export const brapiFindImages = tool('brapi_find_images', {
106
107
  description: '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. Returns a dataset handle when the upstream total exceeds loadLimit.',
107
108
  annotations: { readOnlyHint: true, openWorldHint: true },
109
+ errors: [
110
+ {
111
+ reason: 'all_filters_dropped',
112
+ code: JsonRpcErrorCode.ValidationError,
113
+ when: 'The active dialect dropped every filter the agent supplied — the upstream server does not honor any of the requested scope filters on this endpoint, so the call would silently widen to the unfiltered baseline.',
114
+ recovery: 'Drop the unsupported filters and rescope by images, observationUnits, observations, studies, descriptiveOntologyTerms, imageFileNames, or mimeTypes — these filter paths are honored on the active dialect.',
115
+ },
116
+ ],
108
117
  input: z.object({
109
118
  alias: AliasInput,
110
119
  images: z.array(z.string()).optional().describe('Filter by imageDbIds.'),
@@ -134,7 +143,7 @@ export const brapiFindImages = tool('brapi_find_images', {
134
143
  const capabilityLookup = {};
135
144
  if (connection.resolvedAuth)
136
145
  capabilityLookup.auth = connection.resolvedAuth;
137
- await capabilities.ensure(connection.baseUrl, { service: 'images', method: 'GET' }, ctx, capabilityLookup);
146
+ const profile = await capabilities.profile(connection.baseUrl, ctx, capabilityLookup);
138
147
  const dialect = await resolveDialect(connection, ctx, capabilityLookup);
139
148
  const warnings = [];
140
149
  const merged = mergeFilters({
@@ -146,15 +155,24 @@ export const brapiFindImages = tool('brapi_find_images', {
146
155
  mimeTypes: input.mimeTypes,
147
156
  descriptiveOntologyTerms: input.descriptiveOntologyTerms,
148
157
  }, input.extraFilters, warnings);
149
- const filters = applyDialectFilters(dialect, 'images', merged, warnings);
158
+ const filters = applyDialectFiltersOrFail(ctx, dialect, 'images', merged, warnings);
159
+ const route = resolveFindRoute({
160
+ profile,
161
+ dialect,
162
+ endpoint: 'images',
163
+ filters,
164
+ searchBody: merged,
165
+ warnings,
166
+ });
150
167
  const loadLimit = input.loadLimit ?? config.loadLimit;
151
- const firstPage = await loadInitialPage(client, connection, '/images', filters, loadLimit, ctx);
168
+ const firstPage = await loadInitialFindPage(client, connection, route, loadLimit, ctx);
152
169
  const { fullRows, dataset: datasetMeta } = await maybeSpill({
153
170
  firstPage,
154
171
  client,
155
172
  connection,
156
173
  path: '/images',
157
174
  filters,
175
+ route,
158
176
  source: 'find_images',
159
177
  loadLimit,
160
178
  ctx,
@@ -206,7 +224,7 @@ export const brapiFindImages = tool('brapi_find_images', {
206
224
  hasMore: firstPage.hasMore,
207
225
  distributions,
208
226
  warnings,
209
- appliedFilters: filters,
227
+ appliedFilters: route.kind === 'search' ? route.searchBody : filters,
210
228
  };
211
229
  if (refinementHint)
212
230
  result.refinementHint = refinementHint;
@@ -1 +1 @@
1
- {"version":3,"file":"brapi-find-images.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-find-images.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"brapi-find-images.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-find-images.tool.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@
8
8
  * @module mcp-server/tools/definitions/brapi-find-locations.tool
9
9
  */
10
10
  import { z } from '@cyanheads/mcp-ts-core';
11
+ import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
11
12
  export declare const brapiFindLocations: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{
12
13
  alias: z.ZodOptional<z.ZodString>;
13
14
  locations: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -64,5 +65,10 @@ export declare const brapiFindLocations: import("@cyanheads/mcp-ts-core").ToolDe
64
65
  spec: "spec";
65
66
  swapped: "swapped";
66
67
  }>;
67
- }, z.core.$strip>, undefined>;
68
+ }, z.core.$strip>, readonly [{
69
+ readonly reason: "all_filters_dropped";
70
+ readonly code: JsonRpcErrorCode.ValidationError;
71
+ readonly when: "The active dialect dropped every filter the agent supplied — the upstream server does not honor any of the requested scope filters on this endpoint, so the call would silently widen to the unfiltered baseline.";
72
+ readonly recovery: "Drop the unsupported filters and rescope by locations, locationNames, countryCodes, locationTypes, abbreviations, or bbox — these filter paths are honored on the active dialect.";
73
+ }]>;
68
74
  //# sourceMappingURL=brapi-find-locations.tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"brapi-find-locations.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-find-locations.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAqIjD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAiR7B,CAAC"}
1
+ {"version":3,"file":"brapi-find-locations.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-find-locations.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAsIjE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6R7B,CAAC"}
@@ -8,13 +8,14 @@
8
8
  * @module mcp-server/tools/definitions/brapi-find-locations.tool
9
9
  */
10
10
  import { tool, z } from '@cyanheads/mcp-ts-core';
11
+ import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
11
12
  import { getServerConfig } from '../../../config/server-config.js';
12
13
  import { getBrapiClient } from '../../../services/brapi-client/index.js';
13
14
  import { resolveDialect } from '../../../services/brapi-dialect/index.js';
14
15
  import { getCapabilityRegistry } from '../../../services/capability-registry/index.js';
15
16
  import { getDatasetStore } from '../../../services/dataset-store/index.js';
16
17
  import { DEFAULT_ALIAS, getServerRegistry } from '../../../services/server-registry/index.js';
17
- import { AliasInput, applyDialectFilters, asString, buildRefinementHint, checkFilterMatchRates, collectPassthroughParts, computeDistribution, DatasetHandleSchema, ExtraFiltersInput, extractCoordinates, hasPointGeometry, LoadLimitInput, loadInitialPage, maybeSpill, mergeFilters, renderAppliedFilters, renderDatasetHandle, renderDistributions, renderFindHeader, } from '../shared/find-helpers.js';
18
+ import { AliasInput, applyDialectFiltersOrFail, asString, buildRefinementHint, checkFilterMatchRates, collectPassthroughParts, computeDistribution, DatasetHandleSchema, ExtraFiltersInput, extractCoordinates, hasPointGeometry, LoadLimitInput, loadInitialFindPage, maybeSpill, mergeFilters, renderAppliedFilters, renderDatasetHandle, renderDistributions, renderFindHeader, resolveFindRoute, } from '../shared/find-helpers.js';
18
19
  const LocationRowSchema = z
19
20
  .object({
20
21
  locationDbId: z.string().describe('Server-side identifier for the location.'),
@@ -104,6 +105,14 @@ const SERVER_TO_USER = {
104
105
  export const brapiFindLocations = tool('brapi_find_locations', {
105
106
  description: 'Find research stations / field sites by country, abbreviation, type, location ID, or free-text. Optional bbox parameter restricts rows to a latitude/longitude window. When the spec-correct GeoJSON [lon, lat, alt] reading produces zero matches and at least one row carries a Point geometry, the bbox filter retries once with axes swapped (handles non-conformant servers that store [lat, lon, alt]) and surfaces a warning + `coordinateAxisOrder: "swapped"`. Returns a dataset handle when the upstream total exceeds loadLimit.',
106
107
  annotations: { readOnlyHint: true, openWorldHint: true },
108
+ errors: [
109
+ {
110
+ reason: 'all_filters_dropped',
111
+ code: JsonRpcErrorCode.ValidationError,
112
+ when: 'The active dialect dropped every filter the agent supplied — the upstream server does not honor any of the requested scope filters on this endpoint, so the call would silently widen to the unfiltered baseline.',
113
+ recovery: 'Drop the unsupported filters and rescope by locations, locationNames, countryCodes, locationTypes, abbreviations, or bbox — these filter paths are honored on the active dialect.',
114
+ },
115
+ ],
107
116
  input: z.object({
108
117
  alias: AliasInput,
109
118
  locations: z.array(z.string()).optional().describe('Filter by locationDbIds.'),
@@ -157,7 +166,7 @@ export const brapiFindLocations = tool('brapi_find_locations', {
157
166
  const capabilityLookup = {};
158
167
  if (connection.resolvedAuth)
159
168
  capabilityLookup.auth = connection.resolvedAuth;
160
- await capabilities.ensure(connection.baseUrl, { service: 'locations', method: 'GET' }, ctx, capabilityLookup);
169
+ const profile = await capabilities.profile(connection.baseUrl, ctx, capabilityLookup);
161
170
  const dialect = await resolveDialect(connection, ctx, capabilityLookup);
162
171
  const warnings = [];
163
172
  const merged = mergeFilters({
@@ -167,15 +176,24 @@ export const brapiFindLocations = tool('brapi_find_locations', {
167
176
  locationTypes: input.locationTypes,
168
177
  abbreviations: input.abbreviations,
169
178
  }, input.extraFilters, warnings);
170
- const filters = applyDialectFilters(dialect, 'locations', merged, warnings);
179
+ const filters = applyDialectFiltersOrFail(ctx, dialect, 'locations', merged, warnings);
180
+ const route = resolveFindRoute({
181
+ profile,
182
+ dialect,
183
+ endpoint: 'locations',
184
+ filters,
185
+ searchBody: merged,
186
+ warnings,
187
+ });
171
188
  const loadLimit = input.loadLimit ?? config.loadLimit;
172
- const firstPage = await loadInitialPage(client, connection, '/locations', filters, loadLimit, ctx);
189
+ const firstPage = await loadInitialFindPage(client, connection, route, loadLimit, ctx);
173
190
  const { fullRows, dataset: datasetMeta } = await maybeSpill({
174
191
  firstPage,
175
192
  client,
176
193
  connection,
177
194
  path: '/locations',
178
195
  filters,
196
+ route,
179
197
  source: 'find_locations',
180
198
  loadLimit,
181
199
  ctx,
@@ -249,7 +267,7 @@ export const brapiFindLocations = tool('brapi_find_locations', {
249
267
  hasMore: firstPage.hasMore,
250
268
  distributions,
251
269
  warnings,
252
- appliedFilters: filters,
270
+ appliedFilters: route.kind === 'search' ? route.searchBody : filters,
253
271
  coordinateAxisOrder,
254
272
  };
255
273
  if (refinementHint)