@mapbox/mcp-server 0.5.4 → 0.6.1

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 (318) hide show
  1. package/README.md +36 -0
  2. package/dist/commonjs/config/toolConfig.d.ts.map +1 -1
  3. package/dist/commonjs/config/toolConfig.js +2 -0
  4. package/dist/commonjs/config/toolConfig.js.map +1 -1
  5. package/dist/commonjs/index.d.ts.map +1 -1
  6. package/dist/commonjs/index.js +47 -3
  7. package/dist/commonjs/index.js.map +1 -1
  8. package/dist/commonjs/schemas/geojson.d.ts +115 -0
  9. package/dist/commonjs/schemas/geojson.d.ts.map +1 -0
  10. package/dist/commonjs/schemas/geojson.js +5 -0
  11. package/dist/commonjs/schemas/geojson.js.map +1 -0
  12. package/dist/commonjs/schemas/shared.d.ts +36 -0
  13. package/dist/commonjs/schemas/shared.d.ts.map +1 -0
  14. package/dist/commonjs/schemas/shared.js +35 -0
  15. package/dist/commonjs/schemas/shared.js.map +1 -0
  16. package/dist/commonjs/tools/BaseTool.d.ts +6 -3
  17. package/dist/commonjs/tools/BaseTool.d.ts.map +1 -1
  18. package/dist/commonjs/tools/BaseTool.js +14 -2
  19. package/dist/commonjs/tools/BaseTool.js.map +1 -1
  20. package/dist/commonjs/tools/MapboxApiBasedTool.d.ts +11 -51
  21. package/dist/commonjs/tools/MapboxApiBasedTool.d.ts.map +1 -1
  22. package/dist/commonjs/tools/MapboxApiBasedTool.js +60 -45
  23. package/dist/commonjs/tools/MapboxApiBasedTool.js.map +1 -1
  24. package/dist/commonjs/tools/category-list-tool/CategoryListTool.d.ts +10 -20
  25. package/dist/commonjs/tools/category-list-tool/CategoryListTool.d.ts.map +1 -1
  26. package/dist/commonjs/tools/category-list-tool/CategoryListTool.input.schema.d.ts +16 -0
  27. package/dist/commonjs/tools/category-list-tool/CategoryListTool.input.schema.d.ts.map +1 -0
  28. package/dist/commonjs/tools/category-list-tool/CategoryListTool.input.schema.js +23 -0
  29. package/dist/commonjs/tools/category-list-tool/CategoryListTool.input.schema.js.map +1 -0
  30. package/dist/commonjs/tools/category-list-tool/CategoryListTool.js +36 -29
  31. package/dist/commonjs/tools/category-list-tool/CategoryListTool.js.map +1 -1
  32. package/dist/commonjs/tools/category-list-tool/CategoryListTool.output.schema.d.ts +10 -0
  33. package/dist/commonjs/tools/category-list-tool/CategoryListTool.output.schema.d.ts.map +1 -0
  34. package/dist/commonjs/tools/category-list-tool/CategoryListTool.output.schema.js +12 -0
  35. package/dist/commonjs/tools/category-list-tool/CategoryListTool.output.schema.js.map +1 -0
  36. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.d.ts +10 -83
  37. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.d.ts.map +1 -1
  38. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.input.schema.d.ts +76 -0
  39. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.input.schema.d.ts.map +1 -0
  40. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.input.schema.js +82 -0
  41. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.input.schema.js.map +1 -0
  42. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.js +44 -97
  43. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.js.map +1 -1
  44. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.d.ts +2184 -0
  45. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.d.ts.map +1 -0
  46. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.js +148 -0
  47. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.js.map +1 -0
  48. package/dist/commonjs/tools/directions-tool/DirectionsTool.d.ts +10 -54
  49. package/dist/commonjs/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
  50. package/dist/commonjs/tools/directions-tool/DirectionsTool.input.schema.d.ts +51 -0
  51. package/dist/commonjs/tools/directions-tool/DirectionsTool.input.schema.d.ts.map +1 -0
  52. package/dist/commonjs/tools/directions-tool/DirectionsTool.input.schema.js +242 -0
  53. package/dist/commonjs/tools/directions-tool/DirectionsTool.input.schema.js.map +1 -0
  54. package/dist/commonjs/tools/directions-tool/DirectionsTool.js +106 -266
  55. package/dist/commonjs/tools/directions-tool/DirectionsTool.js.map +1 -1
  56. package/dist/commonjs/tools/directions-tool/DirectionsTool.output.schema.d.ts +7880 -0
  57. package/dist/commonjs/tools/directions-tool/DirectionsTool.output.schema.d.ts.map +1 -0
  58. package/dist/commonjs/tools/directions-tool/DirectionsTool.output.schema.js +346 -0
  59. package/dist/commonjs/tools/directions-tool/DirectionsTool.output.schema.js.map +1 -0
  60. package/dist/commonjs/tools/directions-tool/cleanResponseData.d.ts +101 -2
  61. package/dist/commonjs/tools/directions-tool/cleanResponseData.d.ts.map +1 -1
  62. package/dist/commonjs/tools/directions-tool/cleanResponseData.js +92 -89
  63. package/dist/commonjs/tools/directions-tool/cleanResponseData.js.map +1 -1
  64. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.d.ts +11 -55
  65. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.d.ts.map +1 -1
  66. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.input.schema.d.ts +51 -0
  67. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.input.schema.d.ts.map +1 -0
  68. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.input.schema.js +66 -0
  69. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.input.schema.js.map +1 -0
  70. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.js +82 -69
  71. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.js.map +1 -1
  72. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.output.schema.d.ts +314 -0
  73. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.output.schema.d.ts.map +1 -0
  74. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.output.schema.js +58 -0
  75. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.output.schema.js.map +1 -0
  76. package/dist/commonjs/tools/matrix-tool/MatrixTool.d.ts +10 -46
  77. package/dist/commonjs/tools/matrix-tool/MatrixTool.d.ts.map +1 -1
  78. package/dist/commonjs/tools/matrix-tool/MatrixTool.input.schema.d.ts +42 -0
  79. package/dist/commonjs/tools/matrix-tool/MatrixTool.input.schema.d.ts.map +1 -0
  80. package/dist/commonjs/tools/matrix-tool/MatrixTool.input.schema.js +56 -0
  81. package/dist/commonjs/tools/matrix-tool/MatrixTool.input.schema.js.map +1 -0
  82. package/dist/commonjs/tools/matrix-tool/MatrixTool.js +133 -83
  83. package/dist/commonjs/tools/matrix-tool/MatrixTool.js.map +1 -1
  84. package/dist/commonjs/tools/matrix-tool/MatrixTool.output.schema.d.ts +80 -0
  85. package/dist/commonjs/tools/matrix-tool/MatrixTool.output.schema.d.ts.map +1 -0
  86. package/dist/commonjs/tools/matrix-tool/MatrixTool.output.schema.js +22 -0
  87. package/dist/commonjs/tools/matrix-tool/MatrixTool.output.schema.js.map +1 -0
  88. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts +10 -40
  89. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts.map +1 -1
  90. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.d.ts +33 -0
  91. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.d.ts.map +1 -0
  92. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.js +49 -0
  93. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.js.map +1 -0
  94. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.js +58 -70
  95. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.js.map +1 -1
  96. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.d.ts +4085 -0
  97. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.d.ts.map +1 -0
  98. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.js +206 -0
  99. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.js.map +1 -0
  100. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts +10 -101
  101. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts.map +1 -1
  102. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.d.ts +94 -0
  103. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.d.ts.map +1 -0
  104. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.js +81 -0
  105. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.js.map +1 -0
  106. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.js +44 -92
  107. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.js.map +1 -1
  108. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.d.ts +1496 -0
  109. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.d.ts.map +1 -0
  110. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.js +124 -0
  111. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.js.map +1 -0
  112. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.d.ts +8 -172
  113. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -1
  114. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.input.schema.d.ts +312 -0
  115. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.input.schema.d.ts.map +1 -0
  116. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.input.schema.js +338 -0
  117. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.input.schema.js.map +1 -0
  118. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js +26 -342
  119. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -1
  120. package/dist/commonjs/tools/toolRegistry.d.ts.map +1 -1
  121. package/dist/commonjs/tools/toolRegistry.js +11 -8
  122. package/dist/commonjs/tools/toolRegistry.js.map +1 -1
  123. package/dist/commonjs/tools/version-tool/VersionTool.d.ts +5 -11
  124. package/dist/commonjs/tools/version-tool/VersionTool.d.ts.map +1 -1
  125. package/dist/commonjs/tools/version-tool/VersionTool.input.schema.d.ts +3 -0
  126. package/dist/commonjs/tools/version-tool/VersionTool.input.schema.d.ts.map +1 -0
  127. package/dist/commonjs/tools/version-tool/VersionTool.input.schema.js +8 -0
  128. package/dist/commonjs/tools/version-tool/VersionTool.input.schema.js.map +1 -0
  129. package/dist/commonjs/tools/version-tool/VersionTool.js +45 -29
  130. package/dist/commonjs/tools/version-tool/VersionTool.js.map +1 -1
  131. package/dist/commonjs/tools/version-tool/VersionTool.output.schema.d.ts +22 -0
  132. package/dist/commonjs/tools/version-tool/VersionTool.output.schema.d.ts.map +1 -0
  133. package/dist/commonjs/tools/version-tool/VersionTool.output.schema.js +15 -0
  134. package/dist/commonjs/tools/version-tool/VersionTool.output.schema.js.map +1 -0
  135. package/dist/commonjs/{tools/directions-tool/formatIsoDateTime.d.ts → utils/dateUtils.d.ts} +1 -1
  136. package/dist/commonjs/utils/dateUtils.d.ts.map +1 -0
  137. package/dist/commonjs/{tools/directions-tool/formatIsoDateTime.js → utils/dateUtils.js} +3 -1
  138. package/dist/commonjs/utils/dateUtils.js.map +1 -0
  139. package/dist/commonjs/utils/httpPipeline.d.ts +39 -0
  140. package/dist/commonjs/utils/httpPipeline.d.ts.map +1 -0
  141. package/dist/commonjs/utils/{fetchRequest.js → httpPipeline.js} +15 -13
  142. package/dist/commonjs/utils/httpPipeline.js.map +1 -0
  143. package/dist/commonjs/utils/tracing.d.ts +99 -0
  144. package/dist/commonjs/utils/tracing.d.ts.map +1 -0
  145. package/dist/commonjs/utils/tracing.js +283 -0
  146. package/dist/commonjs/utils/tracing.js.map +1 -0
  147. package/dist/commonjs/utils/types.d.ts +18 -0
  148. package/dist/commonjs/utils/types.d.ts.map +1 -0
  149. package/dist/commonjs/utils/types.js +5 -0
  150. package/dist/commonjs/utils/types.js.map +1 -0
  151. package/dist/commonjs/utils/versionUtils-cjs.cjs.map +1 -1
  152. package/dist/commonjs/utils/versionUtils-cjs.d.cts.map +1 -1
  153. package/dist/commonjs/utils/versionUtils.js +3 -1
  154. package/dist/commonjs/version.json +3 -3
  155. package/dist/esm/config/toolConfig.d.ts.map +1 -1
  156. package/dist/esm/config/toolConfig.js +2 -0
  157. package/dist/esm/config/toolConfig.js.map +1 -1
  158. package/dist/esm/index.d.ts.map +1 -1
  159. package/dist/esm/index.js +47 -3
  160. package/dist/esm/index.js.map +1 -1
  161. package/dist/esm/schemas/geojson.d.ts +115 -0
  162. package/dist/esm/schemas/geojson.d.ts.map +1 -0
  163. package/dist/esm/schemas/geojson.js +4 -0
  164. package/dist/esm/schemas/geojson.js.map +1 -0
  165. package/dist/esm/schemas/shared.d.ts +36 -0
  166. package/dist/esm/schemas/shared.d.ts.map +1 -0
  167. package/dist/esm/schemas/shared.js +32 -0
  168. package/dist/esm/schemas/shared.js.map +1 -0
  169. package/dist/esm/tools/BaseTool.d.ts +6 -3
  170. package/dist/esm/tools/BaseTool.d.ts.map +1 -1
  171. package/dist/esm/tools/BaseTool.js +14 -2
  172. package/dist/esm/tools/BaseTool.js.map +1 -1
  173. package/dist/esm/tools/MapboxApiBasedTool.d.ts +11 -51
  174. package/dist/esm/tools/MapboxApiBasedTool.d.ts.map +1 -1
  175. package/dist/esm/tools/MapboxApiBasedTool.js +59 -44
  176. package/dist/esm/tools/MapboxApiBasedTool.js.map +1 -1
  177. package/dist/esm/tools/category-list-tool/CategoryListTool.d.ts +10 -20
  178. package/dist/esm/tools/category-list-tool/CategoryListTool.d.ts.map +1 -1
  179. package/dist/esm/tools/category-list-tool/CategoryListTool.input.schema.d.ts +16 -0
  180. package/dist/esm/tools/category-list-tool/CategoryListTool.input.schema.d.ts.map +1 -0
  181. package/dist/esm/tools/category-list-tool/CategoryListTool.input.schema.js +20 -0
  182. package/dist/esm/tools/category-list-tool/CategoryListTool.input.schema.js.map +1 -0
  183. package/dist/esm/tools/category-list-tool/CategoryListTool.js +36 -29
  184. package/dist/esm/tools/category-list-tool/CategoryListTool.js.map +1 -1
  185. package/dist/esm/tools/category-list-tool/CategoryListTool.output.schema.d.ts +10 -0
  186. package/dist/esm/tools/category-list-tool/CategoryListTool.output.schema.d.ts.map +1 -0
  187. package/dist/esm/tools/category-list-tool/CategoryListTool.output.schema.js +9 -0
  188. package/dist/esm/tools/category-list-tool/CategoryListTool.output.schema.js.map +1 -0
  189. package/dist/esm/tools/category-search-tool/CategorySearchTool.d.ts +10 -83
  190. package/dist/esm/tools/category-search-tool/CategorySearchTool.d.ts.map +1 -1
  191. package/dist/esm/tools/category-search-tool/CategorySearchTool.input.schema.d.ts +76 -0
  192. package/dist/esm/tools/category-search-tool/CategorySearchTool.input.schema.d.ts.map +1 -0
  193. package/dist/esm/tools/category-search-tool/CategorySearchTool.input.schema.js +79 -0
  194. package/dist/esm/tools/category-search-tool/CategorySearchTool.input.schema.js.map +1 -0
  195. package/dist/esm/tools/category-search-tool/CategorySearchTool.js +44 -97
  196. package/dist/esm/tools/category-search-tool/CategorySearchTool.js.map +1 -1
  197. package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.d.ts +2184 -0
  198. package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.d.ts.map +1 -0
  199. package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.js +145 -0
  200. package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.js.map +1 -0
  201. package/dist/esm/tools/directions-tool/DirectionsTool.d.ts +10 -54
  202. package/dist/esm/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
  203. package/dist/esm/tools/directions-tool/DirectionsTool.input.schema.d.ts +51 -0
  204. package/dist/esm/tools/directions-tool/DirectionsTool.input.schema.d.ts.map +1 -0
  205. package/dist/esm/tools/directions-tool/DirectionsTool.input.schema.js +239 -0
  206. package/dist/esm/tools/directions-tool/DirectionsTool.input.schema.js.map +1 -0
  207. package/dist/esm/tools/directions-tool/DirectionsTool.js +103 -263
  208. package/dist/esm/tools/directions-tool/DirectionsTool.js.map +1 -1
  209. package/dist/esm/tools/directions-tool/DirectionsTool.output.schema.d.ts +7880 -0
  210. package/dist/esm/tools/directions-tool/DirectionsTool.output.schema.d.ts.map +1 -0
  211. package/dist/esm/tools/directions-tool/DirectionsTool.output.schema.js +343 -0
  212. package/dist/esm/tools/directions-tool/DirectionsTool.output.schema.js.map +1 -0
  213. package/dist/esm/tools/directions-tool/cleanResponseData.d.ts +101 -2
  214. package/dist/esm/tools/directions-tool/cleanResponseData.d.ts.map +1 -1
  215. package/dist/esm/tools/directions-tool/cleanResponseData.js +92 -89
  216. package/dist/esm/tools/directions-tool/cleanResponseData.js.map +1 -1
  217. package/dist/esm/tools/isochrone-tool/IsochroneTool.d.ts +11 -55
  218. package/dist/esm/tools/isochrone-tool/IsochroneTool.d.ts.map +1 -1
  219. package/dist/esm/tools/isochrone-tool/IsochroneTool.input.schema.d.ts +51 -0
  220. package/dist/esm/tools/isochrone-tool/IsochroneTool.input.schema.d.ts.map +1 -0
  221. package/dist/esm/tools/isochrone-tool/IsochroneTool.input.schema.js +63 -0
  222. package/dist/esm/tools/isochrone-tool/IsochroneTool.input.schema.js.map +1 -0
  223. package/dist/esm/tools/isochrone-tool/IsochroneTool.js +82 -69
  224. package/dist/esm/tools/isochrone-tool/IsochroneTool.js.map +1 -1
  225. package/dist/esm/tools/isochrone-tool/IsochroneTool.output.schema.d.ts +314 -0
  226. package/dist/esm/tools/isochrone-tool/IsochroneTool.output.schema.d.ts.map +1 -0
  227. package/dist/esm/tools/isochrone-tool/IsochroneTool.output.schema.js +55 -0
  228. package/dist/esm/tools/isochrone-tool/IsochroneTool.output.schema.js.map +1 -0
  229. package/dist/esm/tools/matrix-tool/MatrixTool.d.ts +10 -46
  230. package/dist/esm/tools/matrix-tool/MatrixTool.d.ts.map +1 -1
  231. package/dist/esm/tools/matrix-tool/MatrixTool.input.schema.d.ts +42 -0
  232. package/dist/esm/tools/matrix-tool/MatrixTool.input.schema.d.ts.map +1 -0
  233. package/dist/esm/tools/matrix-tool/MatrixTool.input.schema.js +53 -0
  234. package/dist/esm/tools/matrix-tool/MatrixTool.input.schema.js.map +1 -0
  235. package/dist/esm/tools/matrix-tool/MatrixTool.js +133 -83
  236. package/dist/esm/tools/matrix-tool/MatrixTool.js.map +1 -1
  237. package/dist/esm/tools/matrix-tool/MatrixTool.output.schema.d.ts +80 -0
  238. package/dist/esm/tools/matrix-tool/MatrixTool.output.schema.d.ts.map +1 -0
  239. package/dist/esm/tools/matrix-tool/MatrixTool.output.schema.js +19 -0
  240. package/dist/esm/tools/matrix-tool/MatrixTool.output.schema.js.map +1 -0
  241. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts +10 -40
  242. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts.map +1 -1
  243. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.d.ts +33 -0
  244. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.d.ts.map +1 -0
  245. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.js +46 -0
  246. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.js.map +1 -0
  247. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.js +58 -70
  248. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.js.map +1 -1
  249. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.d.ts +4085 -0
  250. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.d.ts.map +1 -0
  251. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.js +203 -0
  252. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.js.map +1 -0
  253. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts +10 -101
  254. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts.map +1 -1
  255. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.d.ts +94 -0
  256. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.d.ts.map +1 -0
  257. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.js +78 -0
  258. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.js.map +1 -0
  259. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.js +44 -92
  260. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.js.map +1 -1
  261. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.d.ts +1496 -0
  262. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.d.ts.map +1 -0
  263. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.js +121 -0
  264. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.js.map +1 -0
  265. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.d.ts +8 -172
  266. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -1
  267. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.input.schema.d.ts +312 -0
  268. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.input.schema.d.ts.map +1 -0
  269. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.input.schema.js +335 -0
  270. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.input.schema.js.map +1 -0
  271. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.js +26 -342
  272. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -1
  273. package/dist/esm/tools/toolRegistry.d.ts.map +1 -1
  274. package/dist/esm/tools/toolRegistry.js +11 -8
  275. package/dist/esm/tools/toolRegistry.js.map +1 -1
  276. package/dist/esm/tools/version-tool/VersionTool.d.ts +5 -11
  277. package/dist/esm/tools/version-tool/VersionTool.d.ts.map +1 -1
  278. package/dist/esm/tools/version-tool/VersionTool.input.schema.d.ts +3 -0
  279. package/dist/esm/tools/version-tool/VersionTool.input.schema.d.ts.map +1 -0
  280. package/dist/esm/tools/version-tool/VersionTool.input.schema.js +5 -0
  281. package/dist/esm/tools/version-tool/VersionTool.input.schema.js.map +1 -0
  282. package/dist/esm/tools/version-tool/VersionTool.js +45 -29
  283. package/dist/esm/tools/version-tool/VersionTool.js.map +1 -1
  284. package/dist/esm/tools/version-tool/VersionTool.output.schema.d.ts +22 -0
  285. package/dist/esm/tools/version-tool/VersionTool.output.schema.d.ts.map +1 -0
  286. package/dist/esm/tools/version-tool/VersionTool.output.schema.js +12 -0
  287. package/dist/esm/tools/version-tool/VersionTool.output.schema.js.map +1 -0
  288. package/dist/esm/{tools/directions-tool/formatIsoDateTime.d.ts → utils/dateUtils.d.ts} +1 -1
  289. package/dist/esm/utils/dateUtils.d.ts.map +1 -0
  290. package/dist/esm/{tools/directions-tool/formatIsoDateTime.js → utils/dateUtils.js} +3 -1
  291. package/dist/esm/utils/dateUtils.js.map +1 -0
  292. package/dist/esm/utils/httpPipeline.d.ts +39 -0
  293. package/dist/esm/utils/httpPipeline.d.ts.map +1 -0
  294. package/dist/esm/utils/{fetchRequest.js → httpPipeline.js} +13 -11
  295. package/dist/esm/utils/httpPipeline.js.map +1 -0
  296. package/dist/esm/utils/tracing.d.ts +99 -0
  297. package/dist/esm/utils/tracing.d.ts.map +1 -0
  298. package/dist/esm/utils/tracing.js +269 -0
  299. package/dist/esm/utils/tracing.js.map +1 -0
  300. package/dist/esm/utils/types.d.ts +18 -0
  301. package/dist/esm/utils/types.d.ts.map +1 -0
  302. package/dist/esm/utils/types.js +4 -0
  303. package/dist/esm/utils/types.js.map +1 -0
  304. package/dist/esm/utils/versionUtils.d.ts.map +1 -1
  305. package/dist/esm/utils/versionUtils.js +3 -1
  306. package/dist/esm/utils/versionUtils.js.map +1 -1
  307. package/dist/esm/version.json +3 -3
  308. package/package.json +28 -8
  309. package/dist/commonjs/tools/directions-tool/formatIsoDateTime.d.ts.map +0 -1
  310. package/dist/commonjs/tools/directions-tool/formatIsoDateTime.js.map +0 -1
  311. package/dist/commonjs/utils/fetchRequest.d.ts +0 -38
  312. package/dist/commonjs/utils/fetchRequest.d.ts.map +0 -1
  313. package/dist/commonjs/utils/fetchRequest.js.map +0 -1
  314. package/dist/esm/tools/directions-tool/formatIsoDateTime.d.ts.map +0 -1
  315. package/dist/esm/tools/directions-tool/formatIsoDateTime.js.map +0 -1
  316. package/dist/esm/utils/fetchRequest.d.ts +0 -38
  317. package/dist/esm/utils/fetchRequest.d.ts.map +0 -1
  318. package/dist/esm/utils/fetchRequest.js.map +0 -1
@@ -1,19 +1,8 @@
1
- import { z } from 'zod';
1
+ // Copyright (c) Mapbox, Inc.
2
+ // Licensed under the MIT License.
2
3
  import { BaseTool } from './BaseTool.js';
3
- export const OutputSchema = z.object({
4
- content: z.array(z.union([
5
- z.object({
6
- type: z.literal('text'),
7
- text: z.string()
8
- }),
9
- z.object({
10
- type: z.literal('image'),
11
- data: z.string(),
12
- mimeType: z.string()
13
- })
14
- ])),
15
- isError: z.boolean().default(false)
16
- });
4
+ import { context, trace, SpanStatusCode } from '@opentelemetry/api';
5
+ import { createToolExecutionContext } from '../utils/tracing.js';
17
6
  export class MapboxApiBasedTool extends BaseTool {
18
7
  static get mapboxAccessToken() {
19
8
  return process.env.MAPBOX_ACCESS_TOKEN;
@@ -21,8 +10,10 @@ export class MapboxApiBasedTool extends BaseTool {
21
10
  static get mapboxApiEndpoint() {
22
11
  return process.env.MAPBOX_API_ENDPOINT || 'https://api.mapbox.com/';
23
12
  }
13
+ httpRequest;
24
14
  constructor(params) {
25
15
  super(params);
16
+ this.httpRequest = params.httpRequest;
26
17
  }
27
18
  /**
28
19
  * Validates if a string has the format of a JWT token (header.payload.signature)
@@ -41,46 +32,70 @@ export class MapboxApiBasedTool extends BaseTool {
41
32
  /**
42
33
  * Validates and runs the tool logic.
43
34
  */
44
- async run(rawInput, extra) {
35
+ async run(rawInput,
36
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
37
+ extra) {
38
+ // First check if token is provided via authentication context
39
+ // Check both standard token field and accessToken in extra for compatibility
40
+ // In the streamableHttp, the authInfo is injected into extra from `req.auth`
41
+ // https://github.com/modelcontextprotocol/typescript-sdk/blob/main/src/server/streamableHttp.ts#L405
42
+ const authToken = extra?.authInfo?.token;
43
+ const accessToken = authToken || MapboxApiBasedTool.mapboxAccessToken;
44
+ if (!accessToken) {
45
+ const errorMessage = 'No access token available. Please provide via Bearer auth or MAPBOX_ACCESS_TOKEN env var';
46
+ this.log('error', `${this.name}: ${errorMessage}`);
47
+ return {
48
+ content: [{ type: 'text', text: errorMessage }],
49
+ isError: true
50
+ };
51
+ }
52
+ // Validate that the token has the correct JWT format
53
+ if (!this.isValidJwtFormat(accessToken)) {
54
+ const errorMessage = 'Access token is not in valid JWT format';
55
+ this.log('error', `${this.name}: ${errorMessage}`);
56
+ return {
57
+ content: [{ type: 'text', text: errorMessage }],
58
+ isError: true
59
+ };
60
+ }
61
+ let toolContext;
45
62
  try {
46
- // First check if token is provided via authentication context
47
- // Check both standard token field and accessToken in extra for compatibility
48
- // In the streamableHttp, the authInfo is injected into extra from `req.auth`
49
- // https://github.com/modelcontextprotocol/typescript-sdk/blob/main/src/server/streamableHttp.ts#L405
50
- const authToken = extra?.authInfo?.token;
51
- const accessToken = authToken || MapboxApiBasedTool.mapboxAccessToken;
52
- if (!accessToken) {
53
- throw new Error('No access token available. Please provide via Bearer auth or MAPBOX_ACCESS_TOKEN env var');
54
- }
55
- // Validate that the token has the correct JWT format
56
- if (!this.isValidJwtFormat(accessToken)) {
57
- throw new Error('Access token is not in valid JWT format');
58
- }
59
63
  const input = this.inputSchema.parse(rawInput);
60
- const result = await this.execute(input, accessToken);
61
- // Check if result is already a content object (image or text)
62
- if (result &&
63
- typeof result === 'object' &&
64
- (result.type === 'image' || result.type === 'text')) {
65
- return {
66
- content: [result],
67
- isError: false
68
- };
69
- }
70
- // Otherwise return as text
71
- return {
72
- content: [{ type: 'text', text: JSON.stringify(result) }],
73
- isError: false
64
+ // Create tool execution context - tracing is handled by the HTTP client
65
+ toolContext = {
66
+ ...createToolExecutionContext(this.name, 0, // Input size not needed since tracing is in HTTP client
67
+ this.httpRequest, extra),
68
+ httpRequest: this.httpRequest
74
69
  };
70
+ // Execute tool within the tool span context to connect all child spans
71
+ const result = await context.with(trace.setSpan(context.active(), toolContext.span), async () => {
72
+ return await this.execute(input, MapboxApiBasedTool.mapboxAccessToken, toolContext);
73
+ });
74
+ // Mark span as successful and end it
75
+ toolContext.span.setStatus({ code: SpanStatusCode.OK });
76
+ toolContext.span.end();
77
+ return result;
75
78
  }
76
79
  catch (error) {
77
80
  const errorMessage = error instanceof Error ? error.message : String(error);
78
81
  this.log('error', `${this.name}: Error during execution: ${errorMessage}`);
82
+ // Mark span as failed and end it
83
+ if (toolContext?.span) {
84
+ toolContext.span.setStatus({
85
+ code: SpanStatusCode.ERROR,
86
+ message: errorMessage
87
+ });
88
+ toolContext.span.end();
89
+ }
90
+ const errorResponse = {
91
+ message: errorMessage,
92
+ tool: this.name
93
+ };
79
94
  return {
80
95
  content: [
81
96
  {
82
97
  type: 'text',
83
- text: errorMessage
98
+ text: JSON.stringify(errorResponse)
84
99
  }
85
100
  ],
86
101
  isError: true
@@ -1 +1 @@
1
- {"version":3,"file":"MapboxApiBasedTool.js","sourceRoot":"","sources":["../../../src/tools/MapboxApiBasedTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MapboxApiBasedTool.js","sourceRoot":"","sources":["../../../src/tools/MapboxApiBasedTool.ts"],"names":[],"mappings":"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"}
@@ -1,24 +1,13 @@
1
- import { z } from 'zod';
2
1
  import { MapboxApiBasedTool } from '../MapboxApiBasedTool.js';
3
- declare const CategoryListInputSchema: z.ZodObject<{
4
- language: z.ZodOptional<z.ZodString>;
5
- limit: z.ZodOptional<z.ZodNumber>;
6
- offset: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
7
- }, "strip", z.ZodTypeAny, {
8
- offset: number;
9
- language?: string | undefined;
10
- limit?: number | undefined;
11
- }, {
12
- language?: string | undefined;
13
- limit?: number | undefined;
14
- offset?: number | undefined;
15
- }>;
16
- type CategoryListInput = z.infer<typeof CategoryListInputSchema>;
2
+ import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
3
+ import type { HttpRequest } from '../../utils/types.js';
4
+ import type { CategoryListInput } from './CategoryListTool.input.schema.js';
5
+ import { CategoryListInputSchema } from './CategoryListTool.input.schema.js';
6
+ import { CategoryListResponseSchema } from './CategoryListTool.output.schema.js';
17
7
  /**
18
8
  * Tool for retrieving the list of supported categories from Mapbox Search API
19
9
  */
20
- export declare class CategoryListTool extends MapboxApiBasedTool<typeof CategoryListInputSchema> {
21
- private fetchImpl;
10
+ export declare class CategoryListTool extends MapboxApiBasedTool<typeof CategoryListInputSchema, typeof CategoryListResponseSchema> {
22
11
  name: string;
23
12
  description: string;
24
13
  annotations: {
@@ -28,8 +17,9 @@ export declare class CategoryListTool extends MapboxApiBasedTool<typeof Category
28
17
  idempotentHint: boolean;
29
18
  openWorldHint: boolean;
30
19
  };
31
- constructor(fetchImpl?: typeof fetch);
32
- protected execute(input: CategoryListInput, accessToken: string): Promise<any>;
20
+ constructor(params: {
21
+ httpRequest: HttpRequest;
22
+ });
23
+ protected execute(input: CategoryListInput, accessToken: string): Promise<CallToolResult>;
33
24
  }
34
- export {};
35
25
  //# sourceMappingURL=CategoryListTool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CategoryListTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/category-list-tool/CategoryListTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAG9D,QAAA,MAAM,uBAAuB;;;;;;;;;;;;EAqB3B,CAAC;AAEH,KAAK,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAajE;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,kBAAkB,CACtD,OAAO,uBAAuB,CAC/B;IAYa,OAAO,CAAC,SAAS;IAX7B,IAAI,SAAwB;IAC5B,WAAW,SAC+X;IAC1Y,WAAW;;;;;;MAMT;gBAEkB,SAAS,GAAE,OAAO,KAAmB;cAIzC,OAAO,CACrB,KAAK,EAAE,iBAAiB,EACxB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,GAAG,CAAC;CA2ChB"}
1
+ {"version":3,"file":"CategoryListTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/category-list-tool/CategoryListTool.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AAiBjF;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,kBAAkB,CACtD,OAAO,uBAAuB,EAC9B,OAAO,0BAA0B,CAClC;IACC,IAAI,SAAwB;IAC5B,WAAW,SAC+X;IAC1Y,WAAW;;;;;;MAMT;gBAEU,MAAM,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE;cAQhC,OAAO,CACrB,KAAK,EAAE,iBAAiB,EACxB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,cAAc,CAAC;CAkE3B"}
@@ -0,0 +1,16 @@
1
+ import { z } from 'zod';
2
+ export declare const CategoryListInputSchema: z.ZodObject<{
3
+ language: z.ZodOptional<z.ZodString>;
4
+ limit: z.ZodOptional<z.ZodNumber>;
5
+ offset: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
6
+ }, "strip", z.ZodTypeAny, {
7
+ offset: number;
8
+ language?: string | undefined;
9
+ limit?: number | undefined;
10
+ }, {
11
+ language?: string | undefined;
12
+ limit?: number | undefined;
13
+ offset?: number | undefined;
14
+ }>;
15
+ export type CategoryListInput = z.infer<typeof CategoryListInputSchema>;
16
+ //# sourceMappingURL=CategoryListTool.input.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CategoryListTool.input.schema.d.ts","sourceRoot":"","sources":["../../../../src/tools/category-list-tool/CategoryListTool.input.schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,uBAAuB;;;;;;;;;;;;EAgBlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ // Copyright (c) Mapbox, Inc.
2
+ // Licensed under the MIT License.
3
+ import { z } from 'zod';
4
+ import { languageSchema } from '../../schemas/shared.js';
5
+ export const CategoryListInputSchema = z.object({
6
+ language: languageSchema.optional(),
7
+ limit: z
8
+ .number()
9
+ .min(1)
10
+ .max(100)
11
+ .optional()
12
+ .describe('Number of categories to return (1-100). WARNING: Only use this parameter if you need to optimize token usage. If using pagination, please make multiple calls to retrieve all categories before proceeding with other tasks. If not specified, returns all categories.'),
13
+ offset: z
14
+ .number()
15
+ .min(0)
16
+ .optional()
17
+ .default(0)
18
+ .describe('Number of categories to skip for pagination. Default is 0.')
19
+ });
20
+ //# sourceMappingURL=CategoryListTool.input.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CategoryListTool.input.schema.js","sourceRoot":"","sources":["../../../../src/tools/category-list-tool/CategoryListTool.input.schema.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AAElC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE;IACnC,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,wQAAwQ,CACzQ;IACH,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,OAAO,CAAC,CAAC,CAAC;SACV,QAAQ,CAAC,4DAA4D,CAAC;CAC1E,CAAC,CAAC"}
@@ -1,29 +1,13 @@
1
- import { z } from 'zod';
1
+ // Copyright (c) Mapbox, Inc.
2
+ // Licensed under the MIT License.
2
3
  import { MapboxApiBasedTool } from '../MapboxApiBasedTool.js';
3
- import { fetchClient } from '../../utils/fetchRequest.js';
4
- const CategoryListInputSchema = z.object({
5
- language: z
6
- .string()
7
- .optional()
8
- .describe('ISO language code for the response (e.g., "en", "es", "fr", "de", "ja"). If not provided, English (en) will be used as the default.'),
9
- limit: z
10
- .number()
11
- .min(1)
12
- .max(100)
13
- .optional()
14
- .describe('Number of categories to return (1-100). WARNING: Only use this parameter if you need to optimize token usage. If using pagination, please make multiple calls to retrieve all categories before proceeding with other tasks. If not specified, returns all categories.'),
15
- offset: z
16
- .number()
17
- .min(0)
18
- .optional()
19
- .default(0)
20
- .describe('Number of categories to skip for pagination. Default is 0.')
21
- });
4
+ import { CategoryListInputSchema } from './CategoryListTool.input.schema.js';
5
+ import { CategoryListResponseSchema } from './CategoryListTool.output.schema.js';
6
+ // API Documentation: https://docs.mapbox.com/api/search/search-box/#list-categories
22
7
  /**
23
8
  * Tool for retrieving the list of supported categories from Mapbox Search API
24
9
  */
25
10
  export class CategoryListTool extends MapboxApiBasedTool {
26
- fetchImpl;
27
11
  name = 'category_list_tool';
28
12
  description = 'Tool for retrieving the list of supported categories from Mapbox Search API. Use this when another function requires a list of categories. Returns all available category IDs by default. Only use pagination (limit/offset) if token usage optimization is required. If using pagination, make multiple calls to retrieve ALL categories before proceeding with other tasks to ensure complete data.';
29
13
  annotations = {
@@ -33,9 +17,12 @@ export class CategoryListTool extends MapboxApiBasedTool {
33
17
  idempotentHint: true,
34
18
  openWorldHint: true
35
19
  };
36
- constructor(fetchImpl = fetchClient) {
37
- super({ inputSchema: CategoryListInputSchema });
38
- this.fetchImpl = fetchImpl;
20
+ constructor(params) {
21
+ super({
22
+ inputSchema: CategoryListInputSchema,
23
+ outputSchema: CategoryListResponseSchema,
24
+ httpRequest: params.httpRequest
25
+ });
39
26
  }
40
27
  async execute(input, accessToken) {
41
28
  const url = new URL('https://api.mapbox.com/search/searchbox/v1/list/category');
@@ -43,28 +30,48 @@ export class CategoryListTool extends MapboxApiBasedTool {
43
30
  if (input.language) {
44
31
  url.searchParams.set('language', input.language);
45
32
  }
46
- const response = await this.fetchImpl(url.toString(), {
33
+ const response = await this.httpRequest(url.toString(), {
47
34
  method: 'GET',
48
35
  headers: {
49
36
  'User-Agent': `@mapbox/mcp-server/${process.env.npm_package_version || 'dev'}`
50
37
  }
51
38
  });
52
39
  if (!response.ok) {
53
- throw new Error(`Mapbox API request failed: ${response.status} ${response.statusText}`);
40
+ return {
41
+ content: [
42
+ {
43
+ type: 'text',
44
+ text: `Mapbox API request failed: ${response.status} ${response.statusText}`
45
+ }
46
+ ],
47
+ isError: true
48
+ };
54
49
  }
55
- const data = (await response.json());
50
+ const rawData = await response.json();
51
+ // Parse the API response (which has the full structure)
52
+ const data = rawData;
56
53
  // Apply pagination - if no limit specified, return all
57
54
  const startIndex = input.offset || 0;
58
55
  let endIndex = data.listItems.length;
59
56
  if (input.limit) {
60
57
  endIndex = Math.min(startIndex + input.limit, data.listItems.length);
61
58
  }
62
- // Return simple object with listItems array
59
+ // Extract just the category IDs for our simplified response
63
60
  const categoryIds = data.listItems
64
61
  .slice(startIndex, endIndex)
65
62
  .map((item) => item.canonical_id);
63
+ const result = { listItems: categoryIds };
64
+ // Validate our simplified output against the schema
65
+ try {
66
+ CategoryListResponseSchema.parse(result);
67
+ }
68
+ catch (validationError) {
69
+ this.log('warning', `Output schema validation failed: ${validationError instanceof Error ? validationError.message : 'Unknown validation error'}`);
70
+ }
66
71
  return {
67
- listItems: categoryIds
72
+ content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
73
+ structuredContent: result,
74
+ isError: false
68
75
  };
69
76
  }
70
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CategoryListTool.js","sourceRoot":"","sources":["../../../../src/tools/category-list-tool/CategoryListTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CategoryListTool.js","sourceRoot":"","sources":["../../../../src/tools/category-list-tool/CategoryListTool.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AAElC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAI9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AAejF,oFAAoF;AAEpF;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,kBAGrC;IACC,IAAI,GAAG,oBAAoB,CAAC;IAC5B,WAAW,GACT,uYAAuY,CAAC;IAC1Y,WAAW,GAAG;QACZ,KAAK,EAAE,oBAAoB;QAC3B,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;KACpB,CAAC;IAEF,YAAY,MAAoC;QAC9C,KAAK,CAAC;YACJ,WAAW,EAAE,uBAAuB;YACpC,YAAY,EAAE,0BAA0B;YACxC,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC,CAAC;IACL,CAAC;IAES,KAAK,CAAC,OAAO,CACrB,KAAwB,EACxB,WAAmB;QAEnB,MAAM,GAAG,GAAG,IAAI,GAAG,CACjB,0DAA0D,CAC3D,CAAC;QAEF,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAElD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;YACtD,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,YAAY,EAAE,sBAAsB,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,KAAK,EAAE;aAC/E;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,8BAA8B,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE;qBAC7E;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEtC,wDAAwD;QACxD,MAAM,IAAI,GAAG,OAA4B,CAAC;QAE1C,uDAAuD;QACvD,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;QACrC,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAErC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACvE,CAAC;QAED,4DAA4D;QAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS;aAC/B,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC;aAC3B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEpC,MAAM,MAAM,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;QAE1C,oDAAoD;QACpD,IAAI,CAAC;YACH,0BAA0B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,GAAG,CACN,SAAS,EACT,oCAAoC,eAAe,YAAY,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B,EAAE,CAC9H,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YAClE,iBAAiB,EAAE,MAAM;YACzB,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,10 @@
1
+ import { z } from 'zod';
2
+ export declare const CategoryListResponseSchema: z.ZodObject<{
3
+ listItems: z.ZodArray<z.ZodString, "many">;
4
+ }, "strip", z.ZodTypeAny, {
5
+ listItems: string[];
6
+ }, {
7
+ listItems: string[];
8
+ }>;
9
+ export type CategoryListResponse = z.infer<typeof CategoryListResponseSchema>;
10
+ //# sourceMappingURL=CategoryListTool.output.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CategoryListTool.output.schema.d.ts","sourceRoot":"","sources":["../../../../src/tools/category-list-tool/CategoryListTool.output.schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,0BAA0B;;;;;;EAErC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ // Copyright (c) Mapbox, Inc.
2
+ // Licensed under the MIT License.
3
+ import { z } from 'zod';
4
+ // Schema for the simplified output that the tool actually returns
5
+ // Just an array of category ID strings
6
+ export const CategoryListResponseSchema = z.object({
7
+ listItems: z.array(z.string())
8
+ });
9
+ //# sourceMappingURL=CategoryListTool.output.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CategoryListTool.output.schema.js","sourceRoot":"","sources":["../../../../src/tools/category-list-tool/CategoryListTool.output.schema.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AAElC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,kEAAkE;AAClE,uCAAuC;AACvC,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC/B,CAAC,CAAC"}
@@ -1,81 +1,10 @@
1
- import { z } from 'zod';
1
+ import type { z } from 'zod';
2
2
  import { MapboxApiBasedTool } from '../MapboxApiBasedTool.js';
3
- declare const CategorySearchInputSchema: z.ZodObject<{
4
- category: z.ZodString;
5
- language: z.ZodOptional<z.ZodString>;
6
- limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
7
- proximity: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
8
- longitude: z.ZodNumber;
9
- latitude: z.ZodNumber;
10
- }, "strip", z.ZodTypeAny, {
11
- longitude: number;
12
- latitude: number;
13
- }, {
14
- longitude: number;
15
- latitude: number;
16
- }>, z.ZodEffects<z.ZodString, "ip" | {
17
- longitude: any;
18
- latitude: any;
19
- }, string>]>>;
20
- bbox: z.ZodOptional<z.ZodObject<{
21
- minLongitude: z.ZodNumber;
22
- minLatitude: z.ZodNumber;
23
- maxLongitude: z.ZodNumber;
24
- maxLatitude: z.ZodNumber;
25
- }, "strip", z.ZodTypeAny, {
26
- minLongitude: number;
27
- minLatitude: number;
28
- maxLongitude: number;
29
- maxLatitude: number;
30
- }, {
31
- minLongitude: number;
32
- minLatitude: number;
33
- maxLongitude: number;
34
- maxLatitude: number;
35
- }>>;
36
- country: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
37
- poi_category_exclusions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
38
- format: z.ZodDefault<z.ZodOptional<z.ZodEnum<["json_string", "formatted_text"]>>>;
39
- }, "strip", z.ZodTypeAny, {
40
- limit: number;
41
- category: string;
42
- format: "json_string" | "formatted_text";
43
- language?: string | undefined;
44
- proximity?: {
45
- longitude: number;
46
- latitude: number;
47
- } | "ip" | {
48
- longitude: any;
49
- latitude: any;
50
- } | undefined;
51
- bbox?: {
52
- minLongitude: number;
53
- minLatitude: number;
54
- maxLongitude: number;
55
- maxLatitude: number;
56
- } | undefined;
57
- country?: string[] | undefined;
58
- poi_category_exclusions?: string[] | undefined;
59
- }, {
60
- category: string;
61
- language?: string | undefined;
62
- limit?: number | undefined;
63
- proximity?: string | {
64
- longitude: number;
65
- latitude: number;
66
- } | undefined;
67
- bbox?: {
68
- minLongitude: number;
69
- minLatitude: number;
70
- maxLongitude: number;
71
- maxLatitude: number;
72
- } | undefined;
73
- country?: string[] | undefined;
74
- poi_category_exclusions?: string[] | undefined;
75
- format?: "json_string" | "formatted_text" | undefined;
76
- }>;
77
- export declare class CategorySearchTool extends MapboxApiBasedTool<typeof CategorySearchInputSchema> {
78
- private fetch;
3
+ import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
4
+ import type { HttpRequest } from '../../utils/types.js';
5
+ import { CategorySearchInputSchema } from './CategorySearchTool.input.schema.js';
6
+ import { CategorySearchResponseSchema } from './CategorySearchTool.output.schema.js';
7
+ export declare class CategorySearchTool extends MapboxApiBasedTool<typeof CategorySearchInputSchema, typeof CategorySearchResponseSchema> {
79
8
  name: string;
80
9
  description: string;
81
10
  annotations: {
@@ -85,12 +14,10 @@ export declare class CategorySearchTool extends MapboxApiBasedTool<typeof Catego
85
14
  idempotentHint: boolean;
86
15
  openWorldHint: boolean;
87
16
  };
88
- constructor(fetch?: typeof globalThis.fetch);
17
+ constructor(params: {
18
+ httpRequest: HttpRequest;
19
+ });
89
20
  private formatGeoJsonToText;
90
- protected execute(input: z.infer<typeof CategorySearchInputSchema>, accessToken: string): Promise<{
91
- type: 'text';
92
- text: string;
93
- }>;
21
+ protected execute(input: z.infer<typeof CategorySearchInputSchema>, accessToken: string): Promise<CallToolResult>;
94
22
  }
95
- export {};
96
23
  //# sourceMappingURL=CategorySearchTool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CategorySearchTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/category-search-tool/CategorySearchTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAG9D,QAAA,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8F7B,CAAC;AAEH,qBAAa,kBAAmB,SAAQ,kBAAkB,CACxD,OAAO,yBAAyB,CACjC;IAYa,OAAO,CAAC,KAAK;IAXzB,IAAI,SAA0B;IAC9B,WAAW,SACoX;IAC/X,WAAW;;;;;;MAMT;gBAEkB,KAAK,GAAE,OAAO,UAAU,CAAC,KAAmB;IAIhE,OAAO,CAAC,mBAAmB;cAsDX,OAAO,CACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,EAChD,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAmE3C"}
1
+ {"version":3,"file":"CategorySearchTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/category-search-tool/CategorySearchTool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAQrF,qBAAa,kBAAmB,SAAQ,kBAAkB,CACxD,OAAO,yBAAyB,EAChC,OAAO,4BAA4B,CACpC;IACC,IAAI,SAA0B;IAC9B,WAAW,SACoX;IAC/X,WAAW;;;;;;MAMT;gBAEU,MAAM,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE;IAQhD,OAAO,CAAC,mBAAmB;cAwDX,OAAO,CACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,EAChD,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,cAAc,CAAC;CA8F3B"}
@@ -0,0 +1,76 @@
1
+ import { z } from 'zod';
2
+ export declare const CategorySearchInputSchema: z.ZodObject<{
3
+ category: z.ZodString;
4
+ language: z.ZodOptional<z.ZodString>;
5
+ limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
6
+ proximity: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
7
+ longitude: z.ZodNumber;
8
+ latitude: z.ZodNumber;
9
+ }, "strip", z.ZodTypeAny, {
10
+ longitude: number;
11
+ latitude: number;
12
+ }, {
13
+ longitude: number;
14
+ latitude: number;
15
+ }>, z.ZodEffects<z.ZodString, "ip" | {
16
+ longitude: any;
17
+ latitude: any;
18
+ }, string>]>>;
19
+ bbox: z.ZodOptional<z.ZodObject<{
20
+ minLongitude: z.ZodNumber;
21
+ minLatitude: z.ZodNumber;
22
+ maxLongitude: z.ZodNumber;
23
+ maxLatitude: z.ZodNumber;
24
+ }, "strip", z.ZodTypeAny, {
25
+ minLongitude: number;
26
+ minLatitude: number;
27
+ maxLongitude: number;
28
+ maxLatitude: number;
29
+ }, {
30
+ minLongitude: number;
31
+ minLatitude: number;
32
+ maxLongitude: number;
33
+ maxLatitude: number;
34
+ }>>;
35
+ country: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
36
+ poi_category_exclusions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
37
+ format: z.ZodDefault<z.ZodOptional<z.ZodEnum<["json_string", "formatted_text"]>>>;
38
+ }, "strip", z.ZodTypeAny, {
39
+ limit: number;
40
+ category: string;
41
+ format: "json_string" | "formatted_text";
42
+ language?: string | undefined;
43
+ proximity?: {
44
+ longitude: number;
45
+ latitude: number;
46
+ } | "ip" | {
47
+ longitude: any;
48
+ latitude: any;
49
+ } | undefined;
50
+ bbox?: {
51
+ minLongitude: number;
52
+ minLatitude: number;
53
+ maxLongitude: number;
54
+ maxLatitude: number;
55
+ } | undefined;
56
+ country?: string[] | undefined;
57
+ poi_category_exclusions?: string[] | undefined;
58
+ }, {
59
+ category: string;
60
+ language?: string | undefined;
61
+ limit?: number | undefined;
62
+ proximity?: string | {
63
+ longitude: number;
64
+ latitude: number;
65
+ } | undefined;
66
+ bbox?: {
67
+ minLongitude: number;
68
+ minLatitude: number;
69
+ maxLongitude: number;
70
+ maxLatitude: number;
71
+ } | undefined;
72
+ country?: string[] | undefined;
73
+ poi_category_exclusions?: string[] | undefined;
74
+ format?: "json_string" | "formatted_text" | undefined;
75
+ }>;
76
+ //# sourceMappingURL=CategorySearchTool.input.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CategorySearchTool.input.schema.d.ts","sourceRoot":"","sources":["../../../../src/tools/category-search-tool/CategorySearchTool.input.schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsFpC,CAAC"}