@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
package/README.md CHANGED
@@ -192,6 +192,42 @@ npx plop create-tool
192
192
  # provide tool name without suffix (e.g. Search)
193
193
  ```
194
194
 
195
+ ## OpenTelemetry Tracing
196
+
197
+ This MCP server includes comprehensive OpenTelemetry tracing for production observability:
198
+
199
+ ### Quick Demo
200
+
201
+ ```sh
202
+ # Run tracing demo with console output
203
+ npm run demo:tracing
204
+ ```
205
+
206
+ ### Testing with Tracing
207
+
208
+ ```sh
209
+ # Run tests with tracing enabled
210
+ npm run test:tracing
211
+ ```
212
+
213
+ ### Production Configuration
214
+
215
+ See [docs/tracing.md](./docs/tracing.md) for complete setup instructions including:
216
+
217
+ - 🔧 Environment variable configuration
218
+ - 📊 Supported backends (Jaeger, AWS X-Ray, Google Cloud, etc.)
219
+ - 🎯 Custom trace attributes and context
220
+ - 🚀 Performance optimization (minimal overhead)
221
+ - 🔍 Troubleshooting and debugging
222
+
223
+ **Tracing Features:**
224
+
225
+ - ✅ Automatic tool execution tracing
226
+ - ✅ HTTP request instrumentation
227
+ - ✅ Configurable exporters (console, OTLP)
228
+ - ✅ Security-conscious (data protection, JWT validation)
229
+ - ✅ Production-ready (<1% CPU overhead)
230
+
195
231
  ## Contributing
196
232
 
197
233
  We welcome contributions to the Mapbox MCP Server! Please review our standards and guidelines before contributing:
@@ -1 +1 @@
1
- {"version":3,"file":"toolConfig.d.ts","sourceRoot":"","sources":["../../../src/config/toolConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,MAAM,WAAW,UAAU;IACzB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,wBAAgB,uBAAuB,IAAI,UAAU,CAqBpD;AAED,wBAAgB,WAAW,CACzB,KAAK,EAAE,SAAS,YAAY,EAAE,EAC9B,MAAM,EAAE,UAAU,GACjB,YAAY,EAAE,CAqBhB"}
1
+ {"version":3,"file":"toolConfig.d.ts","sourceRoot":"","sources":["../../../src/config/toolConfig.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,MAAM,WAAW,UAAU;IACzB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,wBAAgB,uBAAuB,IAAI,UAAU,CAqBpD;AAED,wBAAgB,WAAW,CACzB,KAAK,EAAE,SAAS,YAAY,EAAE,EAC9B,MAAM,EAAE,UAAU,GACjB,YAAY,EAAE,CAqBhB"}
@@ -1,4 +1,6 @@
1
1
  "use strict";
2
+ // Copyright (c) Mapbox, Inc.
3
+ // Licensed under the MIT License.
2
4
  Object.defineProperty(exports, "__esModule", { value: true });
3
5
  exports.parseToolConfigFromArgs = parseToolConfigFromArgs;
4
6
  exports.filterTools = filterTools;
@@ -1 +1 @@
1
- {"version":3,"file":"toolConfig.js","sourceRoot":"","sources":["../../../src/config/toolConfig.ts"],"names":[],"mappings":";;AAOA,0DAqBC;AAED,kCAwBC;AA/CD,SAAgB,uBAAuB;IACrC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,MAAM,GAAe,EAAE,CAAC;IAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpB,IAAI,GAAG,KAAK,gBAAgB,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACxB,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,iBAAiB,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACxB,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,WAAW,CACzB,KAA8B,EAC9B,MAAkB;IAElB,IAAI,aAAa,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IAE/B,mEAAmE;IACnE,2CAA2C;IAC3C,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACtC,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAC5C,MAAM,CAAC,YAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CACzC,CAAC;QACF,mDAAmD;QACnD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,mEAAmE;IACnE,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5D,aAAa,GAAG,aAAa,CAAC,MAAM,CAClC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,aAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CACrD,CAAC;IACJ,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"toolConfig.js","sourceRoot":"","sources":["../../../src/config/toolConfig.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;AASlC,0DAqBC;AAED,kCAwBC;AA/CD,SAAgB,uBAAuB;IACrC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,MAAM,GAAe,EAAE,CAAC;IAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpB,IAAI,GAAG,KAAK,gBAAgB,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACxB,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,iBAAiB,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACxB,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,WAAW,CACzB,KAA8B,EAC9B,MAAkB;IAElB,IAAI,aAAa,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IAE/B,mEAAmE;IACnE,2CAA2C;IAC3C,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACtC,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAC5C,MAAM,CAAC,YAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CACzC,CAAC;QACF,mDAAmD;QACnD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,mEAAmE;IACnE,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5D,aAAa,GAAG,aAAa,CAAC,MAAM,CAClC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,aAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CACrD,CAAC;IACJ,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAaA,OAAO,eAAe,CAAC"}
@@ -1,11 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
+ // Copyright (c) Mapbox, Inc.
4
+ // Licensed under the MIT License.
3
5
  Object.defineProperty(exports, "__esModule", { value: true });
4
6
  const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
5
7
  const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
6
8
  const toolConfig_js_1 = require("./config/toolConfig.js");
7
9
  const toolRegistry_js_1 = require("./tools/toolRegistry.js");
8
10
  const versionUtils_js_1 = require("./utils/versionUtils.js");
11
+ const tracing_js_1 = require("./utils/tracing.js");
9
12
  require("dotenv/config");
10
13
  const versionInfo = (0, versionUtils_js_1.getVersionInfo)();
11
14
  // Parse configuration from command-line arguments
@@ -26,13 +29,54 @@ const server = new mcp_js_1.McpServer({
26
29
  enabledTools.forEach((tool) => {
27
30
  tool.installTo(server);
28
31
  });
32
+ // MCP-compatible logging functions
33
+ // Completely suppress logging when MCP_DISABLE_LOGGING is set (for MCP inspector compatibility)
34
+ function logIfEnabled(level, ...args) {
35
+ if (!process.env.MCP_DISABLE_LOGGING) {
36
+ console[level](...args);
37
+ }
38
+ }
29
39
  async function main() {
40
+ // Initialize OpenTelemetry tracing if not in test mode
41
+ if (process.env.NODE_ENV !== 'test' && !process.env.VITEST) {
42
+ try {
43
+ await (0, tracing_js_1.initializeTracing)();
44
+ logIfEnabled('log', `OpenTelemetry tracing: ${(0, tracing_js_1.isTracingInitialized)() ? 'enabled' : 'disabled'}`);
45
+ }
46
+ catch (error) {
47
+ logIfEnabled('warn', 'Failed to initialize tracing:', error);
48
+ }
49
+ }
30
50
  // Start receiving messages on stdin and sending messages on stdout
31
51
  const transport = new stdio_js_1.StdioServerTransport();
32
52
  await server.connect(transport);
33
53
  }
34
- main().catch((error) => {
35
- console.error('Fatal error starting MCP server:', error);
36
- process.exit(1);
54
+ // Ensure cleanup interval is cleared when the process exits
55
+ async function shutdown() {
56
+ // Shutdown tracing
57
+ try {
58
+ await (0, tracing_js_1.shutdownTracing)();
59
+ }
60
+ catch (e) {
61
+ logIfEnabled('error', 'Error shutting down tracing:', e);
62
+ }
63
+ process.exit(0);
64
+ }
65
+ function exitWithLog(message, error, code = 1) {
66
+ logIfEnabled('error', message, error);
67
+ process.exit(code);
68
+ }
69
+ ['SIGINT', 'SIGTERM'].forEach((signal) => {
70
+ process.on(signal, async () => {
71
+ try {
72
+ await shutdown();
73
+ }
74
+ finally {
75
+ process.exit(0);
76
+ }
77
+ });
37
78
  });
79
+ process.on('uncaughtException', (err) => exitWithLog('Uncaught exception:', err));
80
+ process.on('unhandledRejection', (reason) => exitWithLog('Unhandled rejection:', reason));
81
+ main().catch((error) => exitWithLog('Fatal error starting MCP server:', error));
38
82
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;AAAA,oEAAoE;AACpE,wEAAiF;AACjF,0DAA8E;AAC9E,6DAAsD;AACtD,6DAAyD;AACzD,yBAAuB;AAEvB,MAAM,WAAW,GAAG,IAAA,gCAAc,GAAE,CAAC;AAErC,kDAAkD;AAClD,MAAM,MAAM,GAAG,IAAA,uCAAuB,GAAE,CAAC;AAEzC,8CAA8C;AAC9C,MAAM,QAAQ,GAAG,IAAA,6BAAW,GAAE,CAAC;AAC/B,MAAM,YAAY,GAAG,IAAA,2BAAW,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAEnD,uBAAuB;AACvB,MAAM,MAAM,GAAG,IAAI,kBAAS,CAC1B;IACE,IAAI,EAAE,WAAW,CAAC,IAAI;IACtB,OAAO,EAAE,WAAW,CAAC,OAAO;CAC7B,EACD;IACE,YAAY,EAAE;QACZ,KAAK,EAAE,EAAE;KACV;CACF,CACF,CAAC;AAEF,uCAAuC;AACvC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;IAC5B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC;AAEH,KAAK,UAAU,IAAI;IACjB,mEAAmE;IACnE,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;IACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,115 @@
1
+ /**
2
+ * GeoJSON interfaces based on RFC 7946
3
+ * https://tools.ietf.org/html/rfc7946
4
+ */
5
+ export type GeoJSONGeometryType = 'Point' | 'LineString' | 'Polygon' | 'MultiPoint' | 'MultiLineString' | 'MultiPolygon' | 'GeometryCollection';
6
+ export type GeoJSONFeatureType = 'Feature';
7
+ export type GeoJSONFeatureCollectionType = 'FeatureCollection';
8
+ export type GeoJSONType = GeoJSONGeometryType | GeoJSONFeatureType | GeoJSONFeatureCollectionType;
9
+ /**
10
+ * Position array [longitude, latitude] or [longitude, latitude, elevation]
11
+ */
12
+ export type Position = [number, number] | [number, number, number];
13
+ /**
14
+ * Base interface for all GeoJSON objects
15
+ */
16
+ export interface GeoJSONBase {
17
+ type: GeoJSONType;
18
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number];
19
+ }
20
+ /**
21
+ * Point geometry
22
+ */
23
+ export interface Point extends GeoJSONBase {
24
+ type: 'Point';
25
+ coordinates: Position;
26
+ }
27
+ /**
28
+ * LineString geometry
29
+ */
30
+ export interface LineString extends GeoJSONBase {
31
+ type: 'LineString';
32
+ coordinates: Position[];
33
+ }
34
+ /**
35
+ * Polygon geometry
36
+ */
37
+ export interface Polygon extends GeoJSONBase {
38
+ type: 'Polygon';
39
+ coordinates: Position[][];
40
+ }
41
+ /**
42
+ * MultiPoint geometry
43
+ */
44
+ export interface MultiPoint extends GeoJSONBase {
45
+ type: 'MultiPoint';
46
+ coordinates: Position[];
47
+ }
48
+ /**
49
+ * MultiLineString geometry
50
+ */
51
+ export interface MultiLineString extends GeoJSONBase {
52
+ type: 'MultiLineString';
53
+ coordinates: Position[][];
54
+ }
55
+ /**
56
+ * MultiPolygon geometry
57
+ */
58
+ export interface MultiPolygon extends GeoJSONBase {
59
+ type: 'MultiPolygon';
60
+ coordinates: Position[][][];
61
+ }
62
+ /**
63
+ * GeometryCollection
64
+ */
65
+ export interface GeometryCollection extends GeoJSONBase {
66
+ type: 'GeometryCollection';
67
+ geometries: Geometry[];
68
+ }
69
+ /**
70
+ * Union of all geometry types
71
+ */
72
+ export type Geometry = Point | LineString | Polygon | MultiPoint | MultiLineString | MultiPolygon | GeometryCollection;
73
+ /**
74
+ * GeoJSON Feature with properties
75
+ */
76
+ export interface Feature<P = Record<string, unknown>, G extends Geometry = Geometry> extends GeoJSONBase {
77
+ type: 'Feature';
78
+ geometry: G | null;
79
+ properties: P | null;
80
+ id?: string | number;
81
+ }
82
+ /**
83
+ * GeoJSON FeatureCollection
84
+ */
85
+ export interface FeatureCollection<P = Record<string, unknown>, G extends Geometry = Geometry> extends GeoJSONBase {
86
+ type: 'FeatureCollection';
87
+ features: Feature<P, G>[];
88
+ }
89
+ /**
90
+ * Union of all GeoJSON objects
91
+ */
92
+ export type GeoJSON = Geometry | Feature | FeatureCollection;
93
+ /**
94
+ * Mapbox-specific properties commonly found in Mapbox API responses
95
+ */
96
+ export interface MapboxFeatureProperties extends Record<string, unknown> {
97
+ name?: string;
98
+ name_preferred?: string;
99
+ full_address?: string;
100
+ place_formatted?: string;
101
+ feature_type?: string;
102
+ poi_category?: string | string[];
103
+ category?: string;
104
+ mapbox_id?: string;
105
+ address?: string;
106
+ }
107
+ /**
108
+ * Mapbox Feature with common properties
109
+ */
110
+ export type MapboxFeature = Feature<MapboxFeatureProperties>;
111
+ /**
112
+ * Mapbox FeatureCollection with common properties
113
+ */
114
+ export type MapboxFeatureCollection = FeatureCollection<MapboxFeatureProperties>;
115
+ //# sourceMappingURL=geojson.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geojson.d.ts","sourceRoot":"","sources":["../../../src/schemas/geojson.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ // Copyright (c) Mapbox, Inc.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ //# sourceMappingURL=geojson.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geojson.js","sourceRoot":"","sources":["../../../src/schemas/geojson.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC"}
@@ -0,0 +1,36 @@
1
+ import { z } from 'zod';
2
+ export declare const longitudeSchema: z.ZodNumber;
3
+ export declare const latitudeSchema: z.ZodNumber;
4
+ /**
5
+ * Zod schema for a coordinate object with longitude and latitude properties.
6
+ * Longitude must be between -180 and 180. Latitude must be between -90 and 90.
7
+ */
8
+ export declare const coordinateSchema: z.ZodObject<{
9
+ longitude: z.ZodNumber;
10
+ latitude: z.ZodNumber;
11
+ }, "strip", z.ZodTypeAny, {
12
+ longitude: number;
13
+ latitude: number;
14
+ }, {
15
+ longitude: number;
16
+ latitude: number;
17
+ }>;
18
+ export declare const countrySchema: z.ZodArray<z.ZodString, "many">;
19
+ export declare const languageSchema: z.ZodString;
20
+ export declare const bboxSchema: 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
+ //# sourceMappingURL=shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/schemas/shared.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,eAAe,aAAgC,CAAC;AAE7D,eAAO,MAAM,cAAc,aAA8B,CAAC;AAE1D;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;EAS3B,CAAC;AAEH,eAAO,MAAM,aAAa,iCAE6C,CAAC;AAExE,eAAO,MAAM,cAAc,aAIxB,CAAC;AAEJ,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;EAKrB,CAAC"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ // Copyright (c) Mapbox, Inc.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.bboxSchema = exports.languageSchema = exports.countrySchema = exports.coordinateSchema = exports.latitudeSchema = exports.longitudeSchema = void 0;
6
+ const zod_1 = require("zod");
7
+ exports.longitudeSchema = zod_1.z.number().min(-180).max(180);
8
+ exports.latitudeSchema = zod_1.z.number().min(-90).max(90);
9
+ /**
10
+ * Zod schema for a coordinate object with longitude and latitude properties.
11
+ * Longitude must be between -180 and 180. Latitude must be between -90 and 90.
12
+ */
13
+ exports.coordinateSchema = zod_1.z.object({
14
+ longitude: zod_1.z
15
+ .number()
16
+ .min(-180, 'Longitude must be between -180 and 180 degrees')
17
+ .max(180, 'Longitude must be between -180 and 180 degrees'),
18
+ latitude: zod_1.z
19
+ .number()
20
+ .min(-90, 'Latitude must be between -90 and 90 degrees')
21
+ .max(90, 'Latitude must be between -90 and 90 degrees')
22
+ });
23
+ exports.countrySchema = zod_1.z
24
+ .array(zod_1.z.string().length(2))
25
+ .describe('Array of ISO 3166 alpha 2 country codes to limit results');
26
+ exports.languageSchema = zod_1.z
27
+ .string()
28
+ .describe('IETF language tag for the response (e.g., "en", "es", "fr", "de", "ja")');
29
+ exports.bboxSchema = zod_1.z.object({
30
+ minLongitude: zod_1.z.number().min(-180).max(180),
31
+ minLatitude: zod_1.z.number().min(-90).max(90),
32
+ maxLongitude: zod_1.z.number().min(-180).max(180),
33
+ maxLatitude: zod_1.z.number().min(-90).max(90)
34
+ });
35
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/schemas/shared.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAElC,6BAAwB;AAEX,QAAA,eAAe,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEhD,QAAA,cAAc,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAE1D;;;GAGG;AACU,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC;IACvC,SAAS,EAAE,OAAC;SACT,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,GAAG,EAAE,gDAAgD,CAAC;SAC3D,GAAG,CAAC,GAAG,EAAE,gDAAgD,CAAC;IAC7D,QAAQ,EAAE,OAAC;SACR,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,EAAE,6CAA6C,CAAC;SACvD,GAAG,CAAC,EAAE,EAAE,6CAA6C,CAAC;CAC1D,CAAC,CAAC;AAEU,QAAA,aAAa,GAAG,OAAC;KAC3B,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;KAC3B,QAAQ,CAAC,0DAA0D,CAAC,CAAC;AAE3D,QAAA,cAAc,GAAG,OAAC;KAC5B,MAAM,EAAE;KACR,QAAQ,CACP,yEAAyE,CAC1E,CAAC;AAES,QAAA,UAAU,GAAG,OAAC,CAAC,MAAM,CAAC;IACjC,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAC3C,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACxC,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAC3C,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;CACzC,CAAC,CAAC"}
@@ -1,14 +1,17 @@
1
1
  import type { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
2
2
  import type { ToolAnnotations, CallToolResult } from '@modelcontextprotocol/sdk/types.js';
3
+ import type { RequestHandlerExtra } from '@modelcontextprotocol/sdk/shared/protocol.js';
3
4
  import type { ZodTypeAny } from 'zod';
4
- export declare abstract class BaseTool<InputSchema extends ZodTypeAny> {
5
+ export declare abstract class BaseTool<InputSchema extends ZodTypeAny, OutputSchema extends ZodTypeAny = ZodTypeAny> {
5
6
  abstract readonly name: string;
6
7
  abstract readonly description: string;
7
8
  abstract readonly annotations: ToolAnnotations;
8
9
  readonly inputSchema: InputSchema;
10
+ readonly outputSchema?: OutputSchema;
9
11
  protected server: McpServer | null;
10
12
  constructor(params: {
11
13
  inputSchema: InputSchema;
14
+ outputSchema?: OutputSchema;
12
15
  });
13
16
  /**
14
17
  * Installs the tool to the given MCP server.
@@ -17,10 +20,10 @@ export declare abstract class BaseTool<InputSchema extends ZodTypeAny> {
17
20
  /**
18
21
  * Tool logic to be implemented by subclasses.
19
22
  */
20
- abstract run(rawInput: unknown, extra?: any): Promise<CallToolResult>;
23
+ abstract run(rawInput: unknown, extra?: RequestHandlerExtra<any, any>): Promise<CallToolResult>;
21
24
  /**
22
25
  * Helper method to send logging messages
23
26
  */
24
- protected log(level: 'debug' | 'info' | 'warning' | 'error', data: any): void;
27
+ protected log(level: 'debug' | 'info' | 'warning' | 'error', data: unknown): void;
25
28
  }
26
29
  //# sourceMappingURL=BaseTool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseTool.d.ts","sourceRoot":"","sources":["../../../src/tools/BaseTool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,cAAc,EACf,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACf,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAGtC,8BAAsB,QAAQ,CAAC,WAAW,SAAS,UAAU;IAC3D,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IAE/C,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAQ;gBAE9B,MAAM,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE;IAIhD;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,cAAc;IAc5C;;OAEG;IACH,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC;IAErE;;OAEG;IACH,SAAS,CAAC,GAAG,CACX,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,EAC7C,IAAI,EAAE,GAAG,GACR,IAAI;CAKR"}
1
+ {"version":3,"file":"BaseTool.d.ts","sourceRoot":"","sources":["../../../src/tools/BaseTool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,SAAS,EACT,cAAc,EACf,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACf,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAGtC,8BAAsB,QAAQ,CAC5B,WAAW,SAAS,UAAU,EAC9B,YAAY,SAAS,UAAU,GAAG,UAAU;IAE5C,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IAE/C,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IACrC,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAQ;gBAE9B,MAAM,EAAE;QAClB,WAAW,EAAE,WAAW,CAAC;QACzB,YAAY,CAAC,EAAE,YAAY,CAAC;KAC7B;IAKD;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,cAAc;IA+B5C;;OAEG;IACH,QAAQ,CAAC,GAAG,CACV,QAAQ,EAAE,OAAO,EAEjB,KAAK,CAAC,EAAE,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,GACpC,OAAO,CAAC,cAAc,CAAC;IAE1B;;OAEG;IACH,SAAS,CAAC,GAAG,CACX,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,EAC7C,IAAI,EAAE,OAAO,GACZ,IAAI;CAKR"}
@@ -1,23 +1,35 @@
1
1
  "use strict";
2
+ // Copyright (c) Mapbox, Inc.
3
+ // Licensed under the MIT License.
2
4
  Object.defineProperty(exports, "__esModule", { value: true });
3
5
  exports.BaseTool = void 0;
4
6
  class BaseTool {
5
7
  inputSchema;
8
+ outputSchema;
6
9
  server = null;
7
10
  constructor(params) {
8
11
  this.inputSchema = params.inputSchema;
12
+ this.outputSchema = params.outputSchema;
9
13
  }
10
14
  /**
11
15
  * Installs the tool to the given MCP server.
12
16
  */
13
17
  installTo(server) {
14
18
  this.server = server;
15
- return server.registerTool(this.name, {
19
+ const config = {
16
20
  title: this.annotations.title,
17
21
  description: this.description,
22
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
18
23
  inputSchema: this.inputSchema.shape,
19
24
  annotations: this.annotations
20
- }, (args, extra) => this.run(args, extra));
25
+ };
26
+ // Add outputSchema if provided
27
+ if (this.outputSchema) {
28
+ config.outputSchema =
29
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
30
+ this.outputSchema.shape;
31
+ }
32
+ return server.registerTool(this.name, config, (args, extra) => this.run(args, extra));
21
33
  }
22
34
  /**
23
35
  * Helper method to send logging messages
@@ -1 +1 @@
1
- {"version":3,"file":"BaseTool.js","sourceRoot":"","sources":["../../../src/tools/BaseTool.ts"],"names":[],"mappings":";;;AAWA,MAAsB,QAAQ;IAKnB,WAAW,CAAc;IACxB,MAAM,GAAqB,IAAI,CAAC;IAE1C,YAAY,MAAoC;QAC9C,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,MAAiB;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,OAAO,MAAM,CAAC,YAAY,CACxB,IAAI,CAAC,IAAI,EACT;YACE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK;YAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAG,IAAI,CAAC,WAA2C,CAAC,KAAK;YACpE,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,EACD,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CACvC,CAAC;IACJ,CAAC;IAOD;;OAEG;IACO,GAAG,CACX,KAA6C,EAC7C,IAAS;QAET,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YACxB,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;CACF;AA7CD,4BA6CC"}
1
+ {"version":3,"file":"BaseTool.js","sourceRoot":"","sources":["../../../src/tools/BaseTool.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAclC,MAAsB,QAAQ;IAQnB,WAAW,CAAc;IACzB,YAAY,CAAgB;IAC3B,MAAM,GAAqB,IAAI,CAAC;IAE1C,YAAY,MAGX;QACC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,MAAiB;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,MAAM,MAAM,GAQR;YACF,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK;YAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,8DAA8D;YAC9D,WAAW,EAAG,IAAI,CAAC,WAA2C,CAAC,KAAK;YACpE,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC;QAEF,+BAA+B;QAC/B,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,MAAM,CAAC,YAAY;gBACjB,8DAA8D;gBAC7D,IAAI,CAAC,YAA4C,CAAC,KAAK,CAAC;QAC7D,CAAC;QAED,OAAO,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAC5D,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CACtB,CAAC;IACJ,CAAC;IAWD;;OAEG;IACO,GAAG,CACX,KAA6C,EAC7C,IAAa;QAEb,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YACxB,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;CACF;AA1ED,4BA0EC"}
@@ -1,60 +1,20 @@
1
1
  import type { RequestHandlerExtra } from '@modelcontextprotocol/sdk/shared/protocol.js';
2
2
  import type { ZodTypeAny } from 'zod';
3
- import { z } from 'zod';
4
3
  import { BaseTool } from './BaseTool.js';
5
- export declare const OutputSchema: z.ZodObject<{
6
- content: z.ZodArray<z.ZodUnion<[z.ZodObject<{
7
- type: z.ZodLiteral<"text">;
8
- text: z.ZodString;
9
- }, "strip", ZodTypeAny, {
10
- type: "text";
11
- text: string;
12
- }, {
13
- type: "text";
14
- text: string;
15
- }>, z.ZodObject<{
16
- type: z.ZodLiteral<"image">;
17
- data: z.ZodString;
18
- mimeType: z.ZodString;
19
- }, "strip", ZodTypeAny, {
20
- type: "image";
21
- data: string;
22
- mimeType: string;
23
- }, {
24
- type: "image";
25
- data: string;
26
- mimeType: string;
27
- }>]>, "many">;
28
- isError: z.ZodDefault<z.ZodBoolean>;
29
- }, "strip", ZodTypeAny, {
30
- content: ({
31
- type: "text";
32
- text: string;
33
- } | {
34
- type: "image";
35
- data: string;
36
- mimeType: string;
37
- })[];
38
- isError: boolean;
39
- }, {
40
- content: ({
41
- type: "text";
42
- text: string;
43
- } | {
44
- type: "image";
45
- data: string;
46
- mimeType: string;
47
- })[];
48
- isError?: boolean | undefined;
49
- }>;
50
- export declare abstract class MapboxApiBasedTool<InputSchema extends ZodTypeAny> extends BaseTool<InputSchema> {
4
+ import type { CallToolResult, ToolAnnotations } from '@modelcontextprotocol/sdk/types.js';
5
+ import type { HttpRequest } from '../utils/types.js';
6
+ import type { ToolExecutionContext } from '../utils/tracing.js';
7
+ export declare abstract class MapboxApiBasedTool<InputSchema extends ZodTypeAny, OutputSchema extends ZodTypeAny = ZodTypeAny> extends BaseTool<InputSchema, OutputSchema> {
51
8
  abstract readonly name: string;
52
9
  abstract readonly description: string;
53
- abstract readonly annotations: import('@modelcontextprotocol/sdk/types.js').ToolAnnotations;
10
+ abstract readonly annotations: ToolAnnotations;
54
11
  static get mapboxAccessToken(): string | undefined;
55
12
  static get mapboxApiEndpoint(): string;
13
+ protected httpRequest: HttpRequest;
56
14
  constructor(params: {
57
15
  inputSchema: InputSchema;
16
+ outputSchema?: OutputSchema;
17
+ httpRequest: HttpRequest;
58
18
  });
59
19
  /**
60
20
  * Validates if a string has the format of a JWT token (header.payload.signature)
@@ -66,10 +26,10 @@ export declare abstract class MapboxApiBasedTool<InputSchema extends ZodTypeAny>
66
26
  /**
67
27
  * Validates and runs the tool logic.
68
28
  */
69
- run(rawInput: unknown, extra?: RequestHandlerExtra<any, any>): Promise<z.infer<typeof OutputSchema>>;
29
+ run(rawInput: unknown, extra?: RequestHandlerExtra<any, any>): Promise<CallToolResult>;
70
30
  /**
71
- * Tool logic to be implemented by subclasses.
31
+ * Tool-specific logic to be implemented by subclasses.
72
32
  */
73
- protected abstract execute(_input: z.infer<InputSchema>, accessToken: string): Promise<any>;
33
+ protected abstract execute(input: any, accessToken: string, context: ToolExecutionContext): Promise<CallToolResult>;
74
34
  }
75
35
  //# sourceMappingURL=MapboxApiBasedTool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MapboxApiBasedTool.d.ts","sourceRoot":"","sources":["../../../src/tools/MapboxApiBasedTool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAevB,CAAC;AAEH,8BAAsB,kBAAkB,CACtC,WAAW,SAAS,UAAU,CAC9B,SAAQ,QAAQ,CAAC,WAAW,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,oCAAoC,EAAE,eAAe,CAAC;IAE5F,MAAM,KAAK,iBAAiB,uBAE3B;IAED,MAAM,KAAK,iBAAiB,WAE3B;gBAEW,MAAM,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE;IAIhD;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IASxB;;OAEG;IACG,GAAG,CACP,QAAQ,EAAE,OAAO,EACjB,KAAK,CAAC,EAAE,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,GACpC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;IA4DxC;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,OAAO,CACxB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,EAC5B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,GAAG,CAAC;CAChB"}
1
+ {"version":3,"file":"MapboxApiBasedTool.d.ts","sourceRoot":"","sources":["../../../src/tools/MapboxApiBasedTool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EAChB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAGhE,8BAAsB,kBAAkB,CACtC,WAAW,SAAS,UAAU,EAC9B,YAAY,SAAS,UAAU,GAAG,UAAU,CAC5C,SAAQ,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC;IAC3C,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IAE/C,MAAM,KAAK,iBAAiB,uBAE3B;IAED,MAAM,KAAK,iBAAiB,WAE3B;IAED,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC;gBAEvB,MAAM,EAAE;QAClB,WAAW,EAAE,WAAW,CAAC;QACzB,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,WAAW,EAAE,WAAW,CAAC;KAC1B;IAKD;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IASxB;;OAEG;IACG,GAAG,CACP,QAAQ,EAAE,OAAO,EAEjB,KAAK,CAAC,EAAE,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,GACpC,OAAO,CAAC,cAAc,CAAC;IA6F1B;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,OAAO,CAExB,KAAK,EAAE,GAAG,EACV,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,cAAc,CAAC;CAC3B"}