@cyanheads/brapi-mcp-server 0.3.5

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 (238) hide show
  1. package/CLAUDE.md +391 -0
  2. package/Dockerfile +99 -0
  3. package/LICENSE +201 -0
  4. package/README.md +590 -0
  5. package/changelog/0.1.x/0.1.0.md +19 -0
  6. package/changelog/0.1.x/0.1.1.md +27 -0
  7. package/changelog/0.1.x/0.1.2.md +22 -0
  8. package/changelog/0.2.x/0.2.0.md +35 -0
  9. package/changelog/0.2.x/0.2.1.md +36 -0
  10. package/changelog/0.3.x/0.3.0.md +38 -0
  11. package/changelog/0.3.x/0.3.1.md +40 -0
  12. package/changelog/0.3.x/0.3.2.md +29 -0
  13. package/changelog/0.3.x/0.3.3.md +19 -0
  14. package/changelog/0.3.x/0.3.4.md +33 -0
  15. package/changelog/0.3.x/0.3.5.md +24 -0
  16. package/changelog/template.md +51 -0
  17. package/dist/config/alias-credentials.d.ts +82 -0
  18. package/dist/config/alias-credentials.d.ts.map +1 -0
  19. package/dist/config/alias-credentials.js +159 -0
  20. package/dist/config/alias-credentials.js.map +1 -0
  21. package/dist/config/server-config.d.ts +39 -0
  22. package/dist/config/server-config.d.ts.map +1 -0
  23. package/dist/config/server-config.js +128 -0
  24. package/dist/config/server-config.js.map +1 -0
  25. package/dist/index.d.ts +10 -0
  26. package/dist/index.d.ts.map +1 -0
  27. package/dist/index.js +85 -0
  28. package/dist/index.js.map +1 -0
  29. package/dist/mcp-server/prompts/definitions/brapi-eda-study.prompt.d.ts +14 -0
  30. package/dist/mcp-server/prompts/definitions/brapi-eda-study.prompt.d.ts.map +1 -0
  31. package/dist/mcp-server/prompts/definitions/brapi-eda-study.prompt.js +75 -0
  32. package/dist/mcp-server/prompts/definitions/brapi-eda-study.prompt.js.map +1 -0
  33. package/dist/mcp-server/prompts/definitions/brapi-meta-analysis.prompt.d.ts +16 -0
  34. package/dist/mcp-server/prompts/definitions/brapi-meta-analysis.prompt.d.ts.map +1 -0
  35. package/dist/mcp-server/prompts/definitions/brapi-meta-analysis.prompt.js +109 -0
  36. package/dist/mcp-server/prompts/definitions/brapi-meta-analysis.prompt.js.map +1 -0
  37. package/dist/mcp-server/resources/definitions/brapi-calls.resource.d.ts +11 -0
  38. package/dist/mcp-server/resources/definitions/brapi-calls.resource.d.ts.map +1 -0
  39. package/dist/mcp-server/resources/definitions/brapi-calls.resource.js +46 -0
  40. package/dist/mcp-server/resources/definitions/brapi-calls.resource.js.map +1 -0
  41. package/dist/mcp-server/resources/definitions/brapi-dataset.resource.d.ts +13 -0
  42. package/dist/mcp-server/resources/definitions/brapi-dataset.resource.d.ts.map +1 -0
  43. package/dist/mcp-server/resources/definitions/brapi-dataset.resource.js +26 -0
  44. package/dist/mcp-server/resources/definitions/brapi-dataset.resource.js.map +1 -0
  45. package/dist/mcp-server/resources/definitions/brapi-filters.resource.d.ts +19 -0
  46. package/dist/mcp-server/resources/definitions/brapi-filters.resource.d.ts.map +1 -0
  47. package/dist/mcp-server/resources/definitions/brapi-filters.resource.js +45 -0
  48. package/dist/mcp-server/resources/definitions/brapi-filters.resource.js.map +1 -0
  49. package/dist/mcp-server/resources/definitions/brapi-germplasm.resource.d.ts +18 -0
  50. package/dist/mcp-server/resources/definitions/brapi-germplasm.resource.d.ts.map +1 -0
  51. package/dist/mcp-server/resources/definitions/brapi-germplasm.resource.js +34 -0
  52. package/dist/mcp-server/resources/definitions/brapi-germplasm.resource.js.map +1 -0
  53. package/dist/mcp-server/resources/definitions/brapi-server-info.resource.d.ts +11 -0
  54. package/dist/mcp-server/resources/definitions/brapi-server-info.resource.d.ts.map +1 -0
  55. package/dist/mcp-server/resources/definitions/brapi-server-info.resource.js +28 -0
  56. package/dist/mcp-server/resources/definitions/brapi-server-info.resource.js.map +1 -0
  57. package/dist/mcp-server/resources/definitions/brapi-study.resource.d.ts +18 -0
  58. package/dist/mcp-server/resources/definitions/brapi-study.resource.d.ts.map +1 -0
  59. package/dist/mcp-server/resources/definitions/brapi-study.resource.js +34 -0
  60. package/dist/mcp-server/resources/definitions/brapi-study.resource.js.map +1 -0
  61. package/dist/mcp-server/tools/definitions/brapi-connect.tool.d.ts +82 -0
  62. package/dist/mcp-server/tools/definitions/brapi-connect.tool.d.ts.map +1 -0
  63. package/dist/mcp-server/tools/definitions/brapi-connect.tool.js +106 -0
  64. package/dist/mcp-server/tools/definitions/brapi-connect.tool.js.map +1 -0
  65. package/dist/mcp-server/tools/definitions/brapi-describe-filters.tool.d.ts +41 -0
  66. package/dist/mcp-server/tools/definitions/brapi-describe-filters.tool.d.ts.map +1 -0
  67. package/dist/mcp-server/tools/definitions/brapi-describe-filters.tool.js +88 -0
  68. package/dist/mcp-server/tools/definitions/brapi-describe-filters.tool.js.map +1 -0
  69. package/dist/mcp-server/tools/definitions/brapi-find-genotype-calls.tool.d.ts +74 -0
  70. package/dist/mcp-server/tools/definitions/brapi-find-genotype-calls.tool.d.ts.map +1 -0
  71. package/dist/mcp-server/tools/definitions/brapi-find-genotype-calls.tool.js +386 -0
  72. package/dist/mcp-server/tools/definitions/brapi-find-genotype-calls.tool.js.map +1 -0
  73. package/dist/mcp-server/tools/definitions/brapi-find-germplasm.tool.d.ts +72 -0
  74. package/dist/mcp-server/tools/definitions/brapi-find-germplasm.tool.d.ts.map +1 -0
  75. package/dist/mcp-server/tools/definitions/brapi-find-germplasm.tool.js +290 -0
  76. package/dist/mcp-server/tools/definitions/brapi-find-germplasm.tool.js.map +1 -0
  77. package/dist/mcp-server/tools/definitions/brapi-find-images.tool.d.ts +65 -0
  78. package/dist/mcp-server/tools/definitions/brapi-find-images.tool.d.ts.map +1 -0
  79. package/dist/mcp-server/tools/definitions/brapi-find-images.tool.js +243 -0
  80. package/dist/mcp-server/tools/definitions/brapi-find-images.tool.js.map +1 -0
  81. package/dist/mcp-server/tools/definitions/brapi-find-locations.tool.d.ts +63 -0
  82. package/dist/mcp-server/tools/definitions/brapi-find-locations.tool.d.ts.map +1 -0
  83. package/dist/mcp-server/tools/definitions/brapi-find-locations.tool.js +278 -0
  84. package/dist/mcp-server/tools/definitions/brapi-find-locations.tool.js.map +1 -0
  85. package/dist/mcp-server/tools/definitions/brapi-find-observations.tool.d.ts +74 -0
  86. package/dist/mcp-server/tools/definitions/brapi-find-observations.tool.d.ts.map +1 -0
  87. package/dist/mcp-server/tools/definitions/brapi-find-observations.tool.js +288 -0
  88. package/dist/mcp-server/tools/definitions/brapi-find-observations.tool.js.map +1 -0
  89. package/dist/mcp-server/tools/definitions/brapi-find-studies.tool.d.ts +69 -0
  90. package/dist/mcp-server/tools/definitions/brapi-find-studies.tool.d.ts.map +1 -0
  91. package/dist/mcp-server/tools/definitions/brapi-find-studies.tool.js +243 -0
  92. package/dist/mcp-server/tools/definitions/brapi-find-studies.tool.js.map +1 -0
  93. package/dist/mcp-server/tools/definitions/brapi-find-variables.tool.d.ts +86 -0
  94. package/dist/mcp-server/tools/definitions/brapi-find-variables.tool.d.ts.map +1 -0
  95. package/dist/mcp-server/tools/definitions/brapi-find-variables.tool.js +337 -0
  96. package/dist/mcp-server/tools/definitions/brapi-find-variables.tool.js.map +1 -0
  97. package/dist/mcp-server/tools/definitions/brapi-find-variants.tool.d.ts +59 -0
  98. package/dist/mcp-server/tools/definitions/brapi-find-variants.tool.d.ts.map +1 -0
  99. package/dist/mcp-server/tools/definitions/brapi-find-variants.tool.js +248 -0
  100. package/dist/mcp-server/tools/definitions/brapi-find-variants.tool.js.map +1 -0
  101. package/dist/mcp-server/tools/definitions/brapi-get-germplasm.tool.d.ts +59 -0
  102. package/dist/mcp-server/tools/definitions/brapi-get-germplasm.tool.d.ts.map +1 -0
  103. package/dist/mcp-server/tools/definitions/brapi-get-germplasm.tool.js +306 -0
  104. package/dist/mcp-server/tools/definitions/brapi-get-germplasm.tool.js.map +1 -0
  105. package/dist/mcp-server/tools/definitions/brapi-get-image.tool.d.ts +57 -0
  106. package/dist/mcp-server/tools/definitions/brapi-get-image.tool.d.ts.map +1 -0
  107. package/dist/mcp-server/tools/definitions/brapi-get-image.tool.js +291 -0
  108. package/dist/mcp-server/tools/definitions/brapi-get-image.tool.js.map +1 -0
  109. package/dist/mcp-server/tools/definitions/brapi-get-study.tool.d.ts +75 -0
  110. package/dist/mcp-server/tools/definitions/brapi-get-study.tool.d.ts.map +1 -0
  111. package/dist/mcp-server/tools/definitions/brapi-get-study.tool.js +323 -0
  112. package/dist/mcp-server/tools/definitions/brapi-get-study.tool.js.map +1 -0
  113. package/dist/mcp-server/tools/definitions/brapi-manage-dataset.tool.d.ts +87 -0
  114. package/dist/mcp-server/tools/definitions/brapi-manage-dataset.tool.d.ts.map +1 -0
  115. package/dist/mcp-server/tools/definitions/brapi-manage-dataset.tool.js +296 -0
  116. package/dist/mcp-server/tools/definitions/brapi-manage-dataset.tool.js.map +1 -0
  117. package/dist/mcp-server/tools/definitions/brapi-raw-get.tool.d.ts +35 -0
  118. package/dist/mcp-server/tools/definitions/brapi-raw-get.tool.d.ts.map +1 -0
  119. package/dist/mcp-server/tools/definitions/brapi-raw-get.tool.js +148 -0
  120. package/dist/mcp-server/tools/definitions/brapi-raw-get.tool.js.map +1 -0
  121. package/dist/mcp-server/tools/definitions/brapi-raw-search.tool.d.ts +33 -0
  122. package/dist/mcp-server/tools/definitions/brapi-raw-search.tool.d.ts.map +1 -0
  123. package/dist/mcp-server/tools/definitions/brapi-raw-search.tool.js +126 -0
  124. package/dist/mcp-server/tools/definitions/brapi-raw-search.tool.js.map +1 -0
  125. package/dist/mcp-server/tools/definitions/brapi-server-info.tool.d.ts +51 -0
  126. package/dist/mcp-server/tools/definitions/brapi-server-info.tool.d.ts.map +1 -0
  127. package/dist/mcp-server/tools/definitions/brapi-server-info.tool.js +41 -0
  128. package/dist/mcp-server/tools/definitions/brapi-server-info.tool.js.map +1 -0
  129. package/dist/mcp-server/tools/definitions/brapi-submit-observations.tool.d.ts +117 -0
  130. package/dist/mcp-server/tools/definitions/brapi-submit-observations.tool.d.ts.map +1 -0
  131. package/dist/mcp-server/tools/definitions/brapi-submit-observations.tool.js +574 -0
  132. package/dist/mcp-server/tools/definitions/brapi-submit-observations.tool.js.map +1 -0
  133. package/dist/mcp-server/tools/definitions/brapi-walk-pedigree.tool.d.ts +52 -0
  134. package/dist/mcp-server/tools/definitions/brapi-walk-pedigree.tool.d.ts.map +1 -0
  135. package/dist/mcp-server/tools/definitions/brapi-walk-pedigree.tool.js +420 -0
  136. package/dist/mcp-server/tools/definitions/brapi-walk-pedigree.tool.js.map +1 -0
  137. package/dist/mcp-server/tools/shared/connect-auth-schema.d.ts +29 -0
  138. package/dist/mcp-server/tools/shared/connect-auth-schema.d.ts.map +1 -0
  139. package/dist/mcp-server/tools/shared/connect-auth-schema.js +55 -0
  140. package/dist/mcp-server/tools/shared/connect-auth-schema.js.map +1 -0
  141. package/dist/mcp-server/tools/shared/find-helpers.d.ts +143 -0
  142. package/dist/mcp-server/tools/shared/find-helpers.d.ts.map +1 -0
  143. package/dist/mcp-server/tools/shared/find-helpers.js +319 -0
  144. package/dist/mcp-server/tools/shared/find-helpers.js.map +1 -0
  145. package/dist/mcp-server/tools/shared/orientation-envelope.d.ts +97 -0
  146. package/dist/mcp-server/tools/shared/orientation-envelope.d.ts.map +1 -0
  147. package/dist/mcp-server/tools/shared/orientation-envelope.js +254 -0
  148. package/dist/mcp-server/tools/shared/orientation-envelope.js.map +1 -0
  149. package/dist/mcp-server/tools/shared/raw-routing-hints.d.ts +10 -0
  150. package/dist/mcp-server/tools/shared/raw-routing-hints.d.ts.map +1 -0
  151. package/dist/mcp-server/tools/shared/raw-routing-hints.js +46 -0
  152. package/dist/mcp-server/tools/shared/raw-routing-hints.js.map +1 -0
  153. package/dist/services/brapi-client/brapi-client.d.ts +76 -0
  154. package/dist/services/brapi-client/brapi-client.d.ts.map +1 -0
  155. package/dist/services/brapi-client/brapi-client.js +320 -0
  156. package/dist/services/brapi-client/brapi-client.js.map +1 -0
  157. package/dist/services/brapi-client/index.d.ts +9 -0
  158. package/dist/services/brapi-client/index.d.ts.map +1 -0
  159. package/dist/services/brapi-client/index.js +7 -0
  160. package/dist/services/brapi-client/index.js.map +1 -0
  161. package/dist/services/brapi-client/types.d.ts +82 -0
  162. package/dist/services/brapi-client/types.d.ts.map +1 -0
  163. package/dist/services/brapi-client/types.js +8 -0
  164. package/dist/services/brapi-client/types.js.map +1 -0
  165. package/dist/services/brapi-filters/catalog.d.ts +14 -0
  166. package/dist/services/brapi-filters/catalog.d.ts.map +1 -0
  167. package/dist/services/brapi-filters/catalog.js +490 -0
  168. package/dist/services/brapi-filters/catalog.js.map +1 -0
  169. package/dist/services/brapi-filters/index.d.ts +8 -0
  170. package/dist/services/brapi-filters/index.d.ts.map +1 -0
  171. package/dist/services/brapi-filters/index.js +7 -0
  172. package/dist/services/brapi-filters/index.js.map +1 -0
  173. package/dist/services/brapi-filters/types.d.ts +23 -0
  174. package/dist/services/brapi-filters/types.d.ts.map +1 -0
  175. package/dist/services/brapi-filters/types.js +9 -0
  176. package/dist/services/brapi-filters/types.js.map +1 -0
  177. package/dist/services/capability-registry/capability-registry.d.ts +51 -0
  178. package/dist/services/capability-registry/capability-registry.d.ts.map +1 -0
  179. package/dist/services/capability-registry/capability-registry.js +234 -0
  180. package/dist/services/capability-registry/capability-registry.js.map +1 -0
  181. package/dist/services/capability-registry/index.d.ts +9 -0
  182. package/dist/services/capability-registry/index.d.ts.map +1 -0
  183. package/dist/services/capability-registry/index.js +7 -0
  184. package/dist/services/capability-registry/index.js.map +1 -0
  185. package/dist/services/capability-registry/types.d.ts +67 -0
  186. package/dist/services/capability-registry/types.d.ts.map +1 -0
  187. package/dist/services/capability-registry/types.js +9 -0
  188. package/dist/services/capability-registry/types.js.map +1 -0
  189. package/dist/services/dataset-store/dataset-store.d.ts +35 -0
  190. package/dist/services/dataset-store/dataset-store.d.ts.map +1 -0
  191. package/dist/services/dataset-store/dataset-store.js +190 -0
  192. package/dist/services/dataset-store/dataset-store.js.map +1 -0
  193. package/dist/services/dataset-store/index.d.ts +8 -0
  194. package/dist/services/dataset-store/index.d.ts.map +1 -0
  195. package/dist/services/dataset-store/index.js +7 -0
  196. package/dist/services/dataset-store/index.js.map +1 -0
  197. package/dist/services/dataset-store/types.d.ts +65 -0
  198. package/dist/services/dataset-store/types.d.ts.map +1 -0
  199. package/dist/services/dataset-store/types.js +8 -0
  200. package/dist/services/dataset-store/types.js.map +1 -0
  201. package/dist/services/ontology-resolver/index.d.ts +8 -0
  202. package/dist/services/ontology-resolver/index.d.ts.map +1 -0
  203. package/dist/services/ontology-resolver/index.js +7 -0
  204. package/dist/services/ontology-resolver/index.js.map +1 -0
  205. package/dist/services/ontology-resolver/ontology-resolver.d.ts +49 -0
  206. package/dist/services/ontology-resolver/ontology-resolver.d.ts.map +1 -0
  207. package/dist/services/ontology-resolver/ontology-resolver.js +99 -0
  208. package/dist/services/ontology-resolver/ontology-resolver.js.map +1 -0
  209. package/dist/services/ontology-resolver/types.d.ts +38 -0
  210. package/dist/services/ontology-resolver/types.d.ts.map +1 -0
  211. package/dist/services/ontology-resolver/types.js +8 -0
  212. package/dist/services/ontology-resolver/types.js.map +1 -0
  213. package/dist/services/reference-data-cache/index.d.ts +9 -0
  214. package/dist/services/reference-data-cache/index.d.ts.map +1 -0
  215. package/dist/services/reference-data-cache/index.js +7 -0
  216. package/dist/services/reference-data-cache/index.js.map +1 -0
  217. package/dist/services/reference-data-cache/reference-data-cache.d.ts +31 -0
  218. package/dist/services/reference-data-cache/reference-data-cache.d.ts.map +1 -0
  219. package/dist/services/reference-data-cache/reference-data-cache.js +131 -0
  220. package/dist/services/reference-data-cache/reference-data-cache.js.map +1 -0
  221. package/dist/services/reference-data-cache/types.d.ts +42 -0
  222. package/dist/services/reference-data-cache/types.d.ts.map +1 -0
  223. package/dist/services/reference-data-cache/types.js +9 -0
  224. package/dist/services/reference-data-cache/types.js.map +1 -0
  225. package/dist/services/server-registry/index.d.ts +9 -0
  226. package/dist/services/server-registry/index.d.ts.map +1 -0
  227. package/dist/services/server-registry/index.js +7 -0
  228. package/dist/services/server-registry/index.js.map +1 -0
  229. package/dist/services/server-registry/server-registry.d.ts +57 -0
  230. package/dist/services/server-registry/server-registry.d.ts.map +1 -0
  231. package/dist/services/server-registry/server-registry.js +210 -0
  232. package/dist/services/server-registry/server-registry.js.map +1 -0
  233. package/dist/services/server-registry/types.d.ts +43 -0
  234. package/dist/services/server-registry/types.d.ts.map +1 -0
  235. package/dist/services/server-registry/types.js +10 -0
  236. package/dist/services/server-registry/types.js.map +1 -0
  237. package/package.json +86 -0
  238. package/server.json +99 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brapi-get-germplasm.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-get-germplasm.tool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * @fileoverview `brapi_get_image` — fetch image bytes for up to 5 imageDbIds
3
+ * and return them inline as `type: image` content blocks. Tries the BrAPI
4
+ * `/images/{id}/imagecontent` endpoint when the server advertises it;
5
+ * otherwise falls back to the `imageURL` field from the image metadata.
6
+ * Hard cap of 5 images per call to prevent context explosion.
7
+ *
8
+ * @module mcp-server/tools/definitions/brapi-get-image.tool
9
+ */
10
+ import { z } from '@cyanheads/mcp-ts-core';
11
+ import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
12
+ export declare const brapiGetImage: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{
13
+ imageDbIds: z.ZodArray<z.ZodString>;
14
+ alias: z.ZodOptional<z.ZodString>;
15
+ }, z.core.$strip>, z.ZodObject<{
16
+ alias: z.ZodString;
17
+ images: z.ZodArray<z.ZodObject<{
18
+ imageDbId: z.ZodString;
19
+ mimeType: z.ZodString;
20
+ sizeBytes: z.ZodNumber;
21
+ source: z.ZodEnum<{
22
+ imageURL: "imageURL";
23
+ imagecontent: "imagecontent";
24
+ }>;
25
+ data: z.ZodString;
26
+ metadata: z.ZodObject<{
27
+ imageDbId: z.ZodString;
28
+ imageName: z.ZodOptional<z.ZodString>;
29
+ imageFileName: z.ZodOptional<z.ZodString>;
30
+ imageHeight: z.ZodOptional<z.ZodNumber>;
31
+ imageWidth: z.ZodOptional<z.ZodNumber>;
32
+ mimeType: z.ZodOptional<z.ZodString>;
33
+ imageURL: z.ZodOptional<z.ZodString>;
34
+ observationUnitDbId: z.ZodOptional<z.ZodString>;
35
+ observationUnitName: z.ZodOptional<z.ZodString>;
36
+ studyDbId: z.ZodOptional<z.ZodString>;
37
+ studyName: z.ZodOptional<z.ZodString>;
38
+ imageTimeStamp: z.ZodOptional<z.ZodString>;
39
+ copyright: z.ZodOptional<z.ZodString>;
40
+ description: z.ZodOptional<z.ZodString>;
41
+ }, z.core.$loose>;
42
+ }, z.core.$strip>>;
43
+ errors: z.ZodArray<z.ZodObject<{
44
+ imageDbId: z.ZodString;
45
+ error: z.ZodString;
46
+ }, z.core.$strip>>;
47
+ warnings: z.ZodArray<z.ZodObject<{
48
+ imageDbId: z.ZodString;
49
+ warning: z.ZodString;
50
+ }, z.core.$strip>>;
51
+ }, z.core.$strip>, readonly [{
52
+ readonly reason: "images_unsupported";
53
+ readonly code: JsonRpcErrorCode.NotFound;
54
+ readonly when: "BrAPI server does not advertise /images in /serverinfo";
55
+ readonly recovery: "Run brapi_server_info to inspect the advertised endpoints, or call brapi_connect with a different alias for a server that exposes /images.";
56
+ }]>;
57
+ //# sourceMappingURL=brapi-get-image.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brapi-get-image.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-get-image.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAsEjE,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqIxB,CAAC"}
@@ -0,0 +1,291 @@
1
+ /**
2
+ * @fileoverview `brapi_get_image` — fetch image bytes for up to 5 imageDbIds
3
+ * and return them inline as `type: image` content blocks. Tries the BrAPI
4
+ * `/images/{id}/imagecontent` endpoint when the server advertises it;
5
+ * otherwise falls back to the `imageURL` field from the image metadata.
6
+ * Hard cap of 5 images per call to prevent context explosion.
7
+ *
8
+ * @module mcp-server/tools/definitions/brapi-get-image.tool
9
+ */
10
+ import { tool, z } from '@cyanheads/mcp-ts-core';
11
+ import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
12
+ import { getBrapiClient } from '../../../services/brapi-client/index.js';
13
+ import { getCapabilityRegistry } from '../../../services/capability-registry/index.js';
14
+ import { DEFAULT_ALIAS, getServerRegistry } from '../../../services/server-registry/index.js';
15
+ import { AliasInput, buildRequestOptions } from '../shared/find-helpers.js';
16
+ const MAX_IMAGES_PER_CALL = 5;
17
+ const MAX_IMAGE_BYTES = 20 * 1024 * 1024; // 20 MB
18
+ const ImageMetadataSchema = z
19
+ .object({
20
+ imageDbId: z.string().describe('Server-side identifier for the image.'),
21
+ imageName: z.string().optional().describe('Display name.'),
22
+ imageFileName: z.string().optional().describe('Original uploaded filename.'),
23
+ imageHeight: z.number().optional().describe('Pixel height.'),
24
+ imageWidth: z.number().optional().describe('Pixel width.'),
25
+ mimeType: z.string().optional().describe('MIME type (e.g. "image/jpeg").'),
26
+ imageURL: z.string().optional().describe('URL where the bytes live.'),
27
+ observationUnitDbId: z
28
+ .string()
29
+ .optional()
30
+ .describe('FK to the observation unit this image depicts.'),
31
+ observationUnitName: z.string().optional().describe('Display name of the observation unit.'),
32
+ studyDbId: z.string().optional().describe('FK to the study the image belongs to.'),
33
+ studyName: z.string().optional().describe('Display name of the study.'),
34
+ imageTimeStamp: z.string().optional().describe('ISO 8601 capture timestamp.'),
35
+ copyright: z.string().optional().describe('Copyright or rights notice.'),
36
+ description: z.string().optional().describe('Free-text description.'),
37
+ })
38
+ .passthrough();
39
+ const ImagePayloadSchema = z
40
+ .object({
41
+ imageDbId: z.string().describe('Server-side identifier for the image.'),
42
+ mimeType: z.string().describe('Actual MIME type of the returned bytes.'),
43
+ sizeBytes: z.number().int().nonnegative().describe('Size of the returned byte payload.'),
44
+ source: z.enum(['imagecontent', 'imageURL']).describe('How the bytes were fetched.'),
45
+ data: z.string().describe('Base64-encoded image bytes.'),
46
+ metadata: ImageMetadataSchema.describe('Upstream metadata for this image.'),
47
+ })
48
+ .describe('Successfully loaded image payload.');
49
+ const ImageErrorSchema = z
50
+ .object({
51
+ imageDbId: z.string().describe('Image identifier the error applies to.'),
52
+ error: z.string().describe('Reason the image could not be loaded.'),
53
+ })
54
+ .describe('Per-image error entry returned when a fetch fails.');
55
+ const ImageWarningSchema = z
56
+ .object({
57
+ imageDbId: z.string().describe('Image identifier the warning applies to.'),
58
+ warning: z.string().describe('Advisory — bytes loaded but something is suspect.'),
59
+ })
60
+ .describe('Per-image advisory for loaded-but-suspect content (e.g. non-image MIME).');
61
+ const OutputSchema = z.object({
62
+ alias: z.string().describe('Alias of the registered BrAPI connection the call used.'),
63
+ images: z.array(ImagePayloadSchema).describe('Successfully loaded images.'),
64
+ errors: z.array(ImageErrorSchema).describe('Images that could not be loaded, one entry per id.'),
65
+ warnings: z
66
+ .array(ImageWarningSchema)
67
+ .describe('Per-image advisories for loaded payloads that appear suspect — e.g. the imageURL fallback returned a non-image MIME type, suggesting the upstream URL is broken.'),
68
+ });
69
+ export const brapiGetImage = tool('brapi_get_image', {
70
+ description: `Fetch image bytes for up to ${MAX_IMAGES_PER_CALL} imageDbIds and return them inline as \`type: image\` content blocks. Falls back to the metadata \`imageURL\` when the server lacks dedicated image-content delivery. No filesystem side-effects.`,
71
+ annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: true },
72
+ errors: [
73
+ {
74
+ reason: 'images_unsupported',
75
+ code: JsonRpcErrorCode.NotFound,
76
+ when: 'BrAPI server does not advertise /images in /serverinfo',
77
+ recovery: 'Run brapi_server_info to inspect the advertised endpoints, or call brapi_connect with a different alias for a server that exposes /images.',
78
+ },
79
+ ],
80
+ input: z.object({
81
+ imageDbIds: z
82
+ .array(z.string().min(1))
83
+ .min(1)
84
+ .max(MAX_IMAGES_PER_CALL)
85
+ .describe(`1–${MAX_IMAGES_PER_CALL} image identifiers.`),
86
+ alias: AliasInput,
87
+ }),
88
+ output: OutputSchema,
89
+ async handler(input, ctx) {
90
+ const registry = getServerRegistry();
91
+ const capabilities = getCapabilityRegistry();
92
+ const client = getBrapiClient();
93
+ const connection = await registry.get(ctx, input.alias ?? DEFAULT_ALIAS);
94
+ const capabilityLookup = {};
95
+ if (connection.resolvedAuth)
96
+ capabilityLookup.auth = connection.resolvedAuth;
97
+ const profile = await capabilities.profile(connection.baseUrl, ctx, capabilityLookup);
98
+ if (!profile.supported.images) {
99
+ throw ctx.fail('images_unsupported', `BrAPI server at ${connection.baseUrl} does not advertise '/images'. Cannot fetch image bytes.`, { baseUrl: connection.baseUrl, ...ctx.recoveryFor('images_unsupported') });
100
+ }
101
+ // /imagecontent must declare GET — many servers expose it for PUT-only upload.
102
+ const imagecontentDescriptor = profile.supported['images/{imageDbId}/imagecontent'];
103
+ const hasImageContent = Boolean(imagecontentDescriptor &&
104
+ (imagecontentDescriptor.methods === undefined ||
105
+ imagecontentDescriptor.methods.includes('GET')));
106
+ const loaded = await Promise.all(input.imageDbIds.map((id) => fetchOne(id, hasImageContent, connection, client, ctx)));
107
+ const images = [];
108
+ const errors = [];
109
+ const warnings = [];
110
+ for (const entry of loaded) {
111
+ if (entry.kind === 'ok') {
112
+ images.push(entry.payload);
113
+ if (entry.payload.source === 'imageURL' && !entry.payload.mimeType.startsWith('image/')) {
114
+ warnings.push({
115
+ imageDbId: entry.payload.imageDbId,
116
+ warning: `imageURL fallback returned content-type '${entry.payload.mimeType}' (not image/*) — the upstream URL likely points at an HTML error page or wrong resource. The bytes are returned as-is; the LLM may not be able to render them.`,
117
+ });
118
+ }
119
+ }
120
+ else
121
+ errors.push(entry);
122
+ }
123
+ const result = {
124
+ alias: connection.alias,
125
+ images,
126
+ errors,
127
+ warnings,
128
+ };
129
+ return result;
130
+ },
131
+ format: (result) => {
132
+ const blocks = [];
133
+ const header = [];
134
+ header.push(`# ${result.images.length} image(s) loaded — \`${result.alias}\``);
135
+ if (result.errors.length > 0) {
136
+ header.push(`⚠ ${result.errors.length} failed — see below.`);
137
+ }
138
+ if (result.warnings.length > 0) {
139
+ header.push(`⚠ ${result.warnings.length} suspect — see warnings below.`);
140
+ }
141
+ blocks.push({ type: 'text', text: header.join('\n') });
142
+ for (const img of result.images) {
143
+ const meta = img.metadata;
144
+ const lines = [];
145
+ const label = meta.imageName ?? meta.imageFileName ?? img.imageDbId;
146
+ lines.push(`## ${label}`);
147
+ lines.push(`- imageDbId: \`${img.imageDbId}\``);
148
+ lines.push(`- mimeType: ${img.mimeType}`);
149
+ lines.push(`- sizeBytes: ${img.sizeBytes}`);
150
+ lines.push(`- source: ${img.source}`);
151
+ lines.push(`- metadata.imageDbId: \`${meta.imageDbId}\``);
152
+ if (meta.mimeType)
153
+ lines.push(`- metadata.mimeType: ${meta.mimeType}`);
154
+ if (meta.imageFileName)
155
+ lines.push(`- imageFileName: ${meta.imageFileName}`);
156
+ if (meta.imageWidth && meta.imageHeight) {
157
+ lines.push(`- dimensions: ${meta.imageWidth}×${meta.imageHeight}`);
158
+ }
159
+ if (meta.observationUnitName)
160
+ lines.push(`- observationUnitName: ${meta.observationUnitName}`);
161
+ if (meta.observationUnitDbId)
162
+ lines.push(`- observationUnitDbId: ${meta.observationUnitDbId}`);
163
+ if (meta.studyName)
164
+ lines.push(`- studyName: ${meta.studyName}`);
165
+ if (meta.studyDbId)
166
+ lines.push(`- studyDbId: ${meta.studyDbId}`);
167
+ if (meta.imageTimeStamp)
168
+ lines.push(`- imageTimeStamp: ${meta.imageTimeStamp}`);
169
+ if (meta.imageURL)
170
+ lines.push(`- imageURL: ${meta.imageURL}`);
171
+ if (meta.copyright)
172
+ lines.push(`- copyright: ${meta.copyright}`);
173
+ if (meta.description)
174
+ lines.push(`- description: ${meta.description}`);
175
+ blocks.push({ type: 'text', text: lines.join('\n') });
176
+ blocks.push({
177
+ type: 'image',
178
+ data: img.data,
179
+ mimeType: img.mimeType,
180
+ });
181
+ }
182
+ for (const err of result.errors) {
183
+ blocks.push({ type: 'text', text: `### ${err.imageDbId} — failed\n- error: ${err.error}` });
184
+ }
185
+ for (const w of result.warnings) {
186
+ blocks.push({
187
+ type: 'text',
188
+ text: `### ${w.imageDbId} — warning\n- ${w.warning}`,
189
+ });
190
+ }
191
+ return blocks;
192
+ },
193
+ });
194
+ async function fetchOne(imageDbId, hasImageContent, connection, client, ctx) {
195
+ try {
196
+ const id = encodeURIComponent(imageDbId);
197
+ const metaEnv = await client.get(connection.baseUrl, `/images/${id}`, ctx, buildRequestOptions(connection));
198
+ const metadata = metaEnv.result;
199
+ if (!metadata || typeof metadata !== 'object' || !metadata.imageDbId) {
200
+ return { kind: 'error', imageDbId, error: 'Image metadata missing or malformed.' };
201
+ }
202
+ const fetched = await fetchBytes({
203
+ client,
204
+ connection,
205
+ ctx,
206
+ imageDbId: id,
207
+ hasImageContent,
208
+ imageUrl: typeof metadata.imageURL === 'string' ? metadata.imageURL : undefined,
209
+ });
210
+ if (!fetched) {
211
+ return {
212
+ kind: 'error',
213
+ imageDbId,
214
+ error: 'Server does not expose /images/{id}/imagecontent and no imageURL was returned.',
215
+ };
216
+ }
217
+ if (fetched.bytes.byteLength > MAX_IMAGE_BYTES) {
218
+ return {
219
+ kind: 'error',
220
+ imageDbId,
221
+ error: `Image exceeds ${MAX_IMAGE_BYTES} byte cap (actual: ${fetched.bytes.byteLength}).`,
222
+ };
223
+ }
224
+ const mimeType = fetched.mimeType ??
225
+ (typeof metadata.mimeType === 'string' ? metadata.mimeType : 'application/octet-stream');
226
+ return {
227
+ kind: 'ok',
228
+ payload: {
229
+ imageDbId,
230
+ mimeType,
231
+ sizeBytes: fetched.bytes.byteLength,
232
+ source: fetched.source,
233
+ data: toBase64(fetched.bytes),
234
+ metadata: metadata,
235
+ },
236
+ };
237
+ }
238
+ catch (err) {
239
+ return {
240
+ kind: 'error',
241
+ imageDbId,
242
+ error: err instanceof Error ? err.message : String(err),
243
+ };
244
+ }
245
+ }
246
+ async function fetchBytes(input) {
247
+ if (input.hasImageContent) {
248
+ try {
249
+ const binary = await input.client.getBinary(input.connection.baseUrl, `/images/${input.imageDbId}/imagecontent`, input.ctx, buildRequestOptions(input.connection));
250
+ return {
251
+ bytes: binary.bytes,
252
+ mimeType: binary.contentType,
253
+ source: 'imagecontent',
254
+ };
255
+ }
256
+ catch (err) {
257
+ input.ctx.log.warning('imagecontent endpoint failed, falling back to imageURL', {
258
+ imageDbId: input.imageDbId,
259
+ error: err instanceof Error ? err.message : String(err),
260
+ });
261
+ }
262
+ }
263
+ if (!input.imageUrl)
264
+ return;
265
+ const resolved = resolveImageUrl(input.connection.baseUrl, input.imageUrl);
266
+ const binary = await input.client.fetchBinaryUrl(resolved, input.ctx);
267
+ return {
268
+ bytes: binary.bytes,
269
+ mimeType: binary.contentType,
270
+ source: 'imageURL',
271
+ };
272
+ }
273
+ function resolveImageUrl(baseUrl, imageUrl) {
274
+ if (imageUrl.startsWith('http://') || imageUrl.startsWith('https://'))
275
+ return imageUrl;
276
+ const trimmed = baseUrl.replace(/\/$/, '');
277
+ const prefixed = imageUrl.startsWith('/') ? imageUrl : `/${imageUrl}`;
278
+ return `${trimmed}${prefixed}`;
279
+ }
280
+ function toBase64(bytes) {
281
+ if (typeof Buffer !== 'undefined') {
282
+ return Buffer.from(bytes).toString('base64');
283
+ }
284
+ let binary = '';
285
+ const chunk = 0x8000;
286
+ for (let i = 0; i < bytes.byteLength; i += chunk) {
287
+ binary += String.fromCharCode(...bytes.subarray(i, i + chunk));
288
+ }
289
+ return btoa(binary);
290
+ }
291
+ //# sourceMappingURL=brapi-get-image.tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brapi-get-image.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-get-image.tool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * @fileoverview `brapi_get_study` — fetch a single study by DbId, resolve
3
+ * program/trial/location FKs via ReferenceDataCache, and attach cheap
4
+ * `pageSize=0` counts (observations, observation units, variables) as
5
+ * response companions so the agent can decide where to drill next.
6
+ *
7
+ * @module mcp-server/tools/definitions/brapi-get-study.tool
8
+ */
9
+ import { z } from '@cyanheads/mcp-ts-core';
10
+ import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
11
+ export declare const brapiGetStudy: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{
12
+ studyDbId: z.ZodString;
13
+ alias: z.ZodOptional<z.ZodString>;
14
+ }, z.core.$strip>, z.ZodObject<{
15
+ alias: z.ZodString;
16
+ study: z.ZodObject<{
17
+ studyDbId: z.ZodString;
18
+ studyName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
19
+ studyType: z.ZodOptional<z.ZodNullable<z.ZodString>>;
20
+ studyDescription: z.ZodOptional<z.ZodNullable<z.ZodString>>;
21
+ programDbId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
22
+ programName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
23
+ trialDbId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
24
+ trialName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
25
+ locationDbId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
26
+ locationName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
27
+ commonCropName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
28
+ seasons: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
29
+ active: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
30
+ startDate: z.ZodOptional<z.ZodNullable<z.ZodString>>;
31
+ endDate: z.ZodOptional<z.ZodNullable<z.ZodString>>;
32
+ studyCode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
33
+ studyPUI: z.ZodOptional<z.ZodNullable<z.ZodString>>;
34
+ }, z.core.$loose>;
35
+ program: z.ZodOptional<z.ZodObject<{
36
+ programDbId: z.ZodString;
37
+ programName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
38
+ commonCropName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
39
+ abbreviation: z.ZodOptional<z.ZodNullable<z.ZodString>>;
40
+ leadPersonName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
41
+ documentationURL: z.ZodOptional<z.ZodNullable<z.ZodString>>;
42
+ }, z.core.$loose>>;
43
+ trial: z.ZodOptional<z.ZodObject<{
44
+ trialDbId: z.ZodString;
45
+ trialName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
46
+ programDbId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
47
+ programName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
48
+ commonCropName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
49
+ startDate: z.ZodOptional<z.ZodNullable<z.ZodString>>;
50
+ endDate: z.ZodOptional<z.ZodNullable<z.ZodString>>;
51
+ active: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
52
+ trialDescription: z.ZodOptional<z.ZodNullable<z.ZodString>>;
53
+ }, z.core.$loose>>;
54
+ location: z.ZodOptional<z.ZodObject<{
55
+ locationDbId: z.ZodString;
56
+ locationName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
57
+ abbreviation: z.ZodOptional<z.ZodNullable<z.ZodString>>;
58
+ countryCode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
59
+ countryName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
60
+ locationType: z.ZodOptional<z.ZodNullable<z.ZodString>>;
61
+ latitude: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
62
+ longitude: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
63
+ altitude: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
64
+ }, z.core.$loose>>;
65
+ observationCount: z.ZodOptional<z.ZodNumber>;
66
+ observationUnitCount: z.ZodOptional<z.ZodNumber>;
67
+ variableCount: z.ZodOptional<z.ZodNumber>;
68
+ warnings: z.ZodArray<z.ZodString>;
69
+ }, z.core.$strip>, readonly [{
70
+ readonly reason: "study_not_found";
71
+ readonly code: JsonRpcErrorCode.NotFound;
72
+ readonly when: "Upstream returned no study record for the requested DbId";
73
+ readonly recovery: "Verify the studyDbId on the target server, or run brapi_find_studies to discover valid IDs.";
74
+ }]>;
75
+ //# sourceMappingURL=brapi-get-study.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brapi-get-study.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/brapi-get-study.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AA6GjE,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuNxB,CAAC"}