@mapbox/mcp-server 0.8.1 → 0.8.2

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 (415) hide show
  1. package/README.md +165 -0
  2. package/dist/commonjs/index.js +15 -1
  3. package/dist/commonjs/index.js.map +1 -1
  4. package/dist/commonjs/schemas/shared.d.ts +5 -0
  5. package/dist/commonjs/schemas/shared.d.ts.map +1 -1
  6. package/dist/commonjs/schemas/shared.js +11 -1
  7. package/dist/commonjs/schemas/shared.js.map +1 -1
  8. package/dist/commonjs/tools/MapboxApiBasedTool.d.ts +8 -0
  9. package/dist/commonjs/tools/MapboxApiBasedTool.d.ts.map +1 -1
  10. package/dist/commonjs/tools/MapboxApiBasedTool.js +20 -0
  11. package/dist/commonjs/tools/MapboxApiBasedTool.js.map +1 -1
  12. package/dist/commonjs/tools/area-tool/AreaTool.d.ts +21 -0
  13. package/dist/commonjs/tools/area-tool/AreaTool.d.ts.map +1 -0
  14. package/dist/commonjs/tools/area-tool/AreaTool.input.schema.d.ts +19 -0
  15. package/dist/commonjs/tools/area-tool/AreaTool.input.schema.d.ts.map +1 -0
  16. package/dist/commonjs/tools/area-tool/AreaTool.input.schema.js +34 -0
  17. package/dist/commonjs/tools/area-tool/AreaTool.input.schema.js.map +1 -0
  18. package/dist/commonjs/tools/area-tool/AreaTool.js +104 -0
  19. package/dist/commonjs/tools/area-tool/AreaTool.js.map +1 -0
  20. package/dist/commonjs/tools/area-tool/AreaTool.output.schema.d.ts +19 -0
  21. package/dist/commonjs/tools/area-tool/AreaTool.output.schema.d.ts.map +1 -0
  22. package/dist/commonjs/tools/area-tool/AreaTool.output.schema.js +14 -0
  23. package/dist/commonjs/tools/area-tool/AreaTool.output.schema.js.map +1 -0
  24. package/dist/commonjs/tools/bearing-tool/BearingTool.d.ts +22 -0
  25. package/dist/commonjs/tools/bearing-tool/BearingTool.d.ts.map +1 -0
  26. package/dist/commonjs/tools/bearing-tool/BearingTool.input.schema.d.ts +49 -0
  27. package/dist/commonjs/tools/bearing-tool/BearingTool.input.schema.d.ts.map +1 -0
  28. package/dist/commonjs/tools/bearing-tool/BearingTool.input.schema.js +27 -0
  29. package/dist/commonjs/tools/bearing-tool/BearingTool.input.schema.js.map +1 -0
  30. package/dist/commonjs/tools/bearing-tool/BearingTool.js +84 -0
  31. package/dist/commonjs/tools/bearing-tool/BearingTool.js.map +1 -0
  32. package/dist/commonjs/tools/bearing-tool/BearingTool.output.schema.d.ts +52 -0
  33. package/dist/commonjs/tools/bearing-tool/BearingTool.output.schema.d.ts.map +1 -0
  34. package/dist/commonjs/tools/bearing-tool/BearingTool.output.schema.js +21 -0
  35. package/dist/commonjs/tools/bearing-tool/BearingTool.output.schema.js.map +1 -0
  36. package/dist/commonjs/tools/bounding-box-tool/BoundingBoxTool.d.ts +22 -0
  37. package/dist/commonjs/tools/bounding-box-tool/BoundingBoxTool.d.ts.map +1 -0
  38. package/dist/commonjs/tools/bounding-box-tool/BoundingBoxTool.input.schema.d.ts +16 -0
  39. package/dist/commonjs/tools/bounding-box-tool/BoundingBoxTool.input.schema.d.ts.map +1 -0
  40. package/dist/commonjs/tools/bounding-box-tool/BoundingBoxTool.input.schema.js +31 -0
  41. package/dist/commonjs/tools/bounding-box-tool/BoundingBoxTool.input.schema.js.map +1 -0
  42. package/dist/commonjs/tools/bounding-box-tool/BoundingBoxTool.js +107 -0
  43. package/dist/commonjs/tools/bounding-box-tool/BoundingBoxTool.js.map +1 -0
  44. package/dist/commonjs/tools/bounding-box-tool/BoundingBoxTool.output.schema.d.ts +16 -0
  45. package/dist/commonjs/tools/bounding-box-tool/BoundingBoxTool.output.schema.d.ts.map +1 -0
  46. package/dist/commonjs/tools/bounding-box-tool/BoundingBoxTool.output.schema.js +15 -0
  47. package/dist/commonjs/tools/bounding-box-tool/BoundingBoxTool.output.schema.js.map +1 -0
  48. package/dist/commonjs/tools/buffer-tool/BufferTool.d.ts +22 -0
  49. package/dist/commonjs/tools/buffer-tool/BufferTool.d.ts.map +1 -0
  50. package/dist/commonjs/tools/buffer-tool/BufferTool.input.schema.d.ts +22 -0
  51. package/dist/commonjs/tools/buffer-tool/BufferTool.input.schema.d.ts.map +1 -0
  52. package/dist/commonjs/tools/buffer-tool/BufferTool.input.schema.js +35 -0
  53. package/dist/commonjs/tools/buffer-tool/BufferTool.input.schema.js.map +1 -0
  54. package/dist/commonjs/tools/buffer-tool/BufferTool.js +103 -0
  55. package/dist/commonjs/tools/buffer-tool/BufferTool.js.map +1 -0
  56. package/dist/commonjs/tools/buffer-tool/BufferTool.output.schema.d.ts +22 -0
  57. package/dist/commonjs/tools/buffer-tool/BufferTool.output.schema.d.ts.map +1 -0
  58. package/dist/commonjs/tools/buffer-tool/BufferTool.output.schema.js +17 -0
  59. package/dist/commonjs/tools/buffer-tool/BufferTool.output.schema.js.map +1 -0
  60. package/dist/commonjs/tools/category-list-tool/CategoryListTool.d.ts.map +1 -1
  61. package/dist/commonjs/tools/category-list-tool/CategoryListTool.js +2 -1
  62. package/dist/commonjs/tools/category-list-tool/CategoryListTool.js.map +1 -1
  63. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.d.ts.map +1 -1
  64. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.input.schema.d.ts +10 -10
  65. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.js +2 -1
  66. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.js.map +1 -1
  67. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.d.ts +44 -44
  68. package/dist/commonjs/tools/centroid-tool/CentroidTool.d.ts +21 -0
  69. package/dist/commonjs/tools/centroid-tool/CentroidTool.d.ts.map +1 -0
  70. package/dist/commonjs/tools/centroid-tool/CentroidTool.input.schema.d.ts +16 -0
  71. package/dist/commonjs/tools/centroid-tool/CentroidTool.input.schema.d.ts.map +1 -0
  72. package/dist/commonjs/tools/centroid-tool/CentroidTool.input.schema.js +29 -0
  73. package/dist/commonjs/tools/centroid-tool/CentroidTool.input.schema.js.map +1 -0
  74. package/dist/commonjs/tools/centroid-tool/CentroidTool.js +81 -0
  75. package/dist/commonjs/tools/centroid-tool/CentroidTool.js.map +1 -0
  76. package/dist/commonjs/tools/centroid-tool/CentroidTool.output.schema.d.ts +31 -0
  77. package/dist/commonjs/tools/centroid-tool/CentroidTool.output.schema.d.ts.map +1 -0
  78. package/dist/commonjs/tools/centroid-tool/CentroidTool.output.schema.js +16 -0
  79. package/dist/commonjs/tools/centroid-tool/CentroidTool.output.schema.js.map +1 -0
  80. package/dist/commonjs/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
  81. package/dist/commonjs/tools/directions-tool/DirectionsTool.input.schema.d.ts +3 -3
  82. package/dist/commonjs/tools/directions-tool/DirectionsTool.input.schema.d.ts.map +1 -1
  83. package/dist/commonjs/tools/directions-tool/DirectionsTool.input.schema.js +6 -7
  84. package/dist/commonjs/tools/directions-tool/DirectionsTool.input.schema.js.map +1 -1
  85. package/dist/commonjs/tools/directions-tool/DirectionsTool.js +9 -8
  86. package/dist/commonjs/tools/directions-tool/DirectionsTool.js.map +1 -1
  87. package/dist/commonjs/tools/directions-tool/DirectionsTool.output.schema.d.ts +266 -266
  88. package/dist/commonjs/tools/directions-tool/DirectionsTool.output.schema.js +6 -6
  89. package/dist/commonjs/tools/directions-tool/DirectionsTool.output.schema.js.map +1 -1
  90. package/dist/commonjs/tools/directions-tool/cleanResponseData.d.ts +2 -2
  91. package/dist/commonjs/tools/directions-tool/cleanResponseData.d.ts.map +1 -1
  92. package/dist/commonjs/tools/directions-tool/cleanResponseData.js.map +1 -1
  93. package/dist/commonjs/tools/distance-tool/DistanceTool.d.ts +29 -0
  94. package/dist/commonjs/tools/distance-tool/DistanceTool.d.ts.map +1 -0
  95. package/dist/commonjs/tools/distance-tool/DistanceTool.input.schema.d.ts +52 -0
  96. package/dist/commonjs/tools/distance-tool/DistanceTool.input.schema.d.ts.map +1 -0
  97. package/dist/commonjs/tools/distance-tool/DistanceTool.input.schema.js +29 -0
  98. package/dist/commonjs/tools/distance-tool/DistanceTool.input.schema.js.map +1 -0
  99. package/dist/commonjs/tools/distance-tool/DistanceTool.js +95 -0
  100. package/dist/commonjs/tools/distance-tool/DistanceTool.js.map +1 -0
  101. package/dist/commonjs/tools/distance-tool/DistanceTool.output.schema.d.ts +55 -0
  102. package/dist/commonjs/tools/distance-tool/DistanceTool.output.schema.d.ts.map +1 -0
  103. package/dist/commonjs/tools/distance-tool/DistanceTool.output.schema.js +26 -0
  104. package/dist/commonjs/tools/distance-tool/DistanceTool.output.schema.js.map +1 -0
  105. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.d.ts.map +1 -1
  106. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.input.schema.d.ts +2 -2
  107. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.js +2 -1
  108. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.js.map +1 -1
  109. package/dist/commonjs/tools/map-matching-tool/MapMatchingTool.d.ts +22 -0
  110. package/dist/commonjs/tools/map-matching-tool/MapMatchingTool.d.ts.map +1 -0
  111. package/dist/commonjs/tools/map-matching-tool/MapMatchingTool.input.schema.d.ts +43 -0
  112. package/dist/commonjs/tools/map-matching-tool/MapMatchingTool.input.schema.d.ts.map +1 -0
  113. package/dist/commonjs/tools/map-matching-tool/MapMatchingTool.input.schema.js +60 -0
  114. package/dist/commonjs/tools/map-matching-tool/MapMatchingTool.input.schema.js.map +1 -0
  115. package/dist/commonjs/tools/map-matching-tool/MapMatchingTool.js +117 -0
  116. package/dist/commonjs/tools/map-matching-tool/MapMatchingTool.js.map +1 -0
  117. package/dist/commonjs/tools/map-matching-tool/MapMatchingTool.output.schema.d.ts +170 -0
  118. package/dist/commonjs/tools/map-matching-tool/MapMatchingTool.output.schema.d.ts.map +1 -0
  119. package/dist/commonjs/tools/map-matching-tool/MapMatchingTool.output.schema.js +49 -0
  120. package/dist/commonjs/tools/map-matching-tool/MapMatchingTool.output.schema.js.map +1 -0
  121. package/dist/commonjs/tools/matrix-tool/MatrixTool.d.ts.map +1 -1
  122. package/dist/commonjs/tools/matrix-tool/MatrixTool.input.schema.d.ts +3 -3
  123. package/dist/commonjs/tools/matrix-tool/MatrixTool.input.schema.d.ts.map +1 -1
  124. package/dist/commonjs/tools/matrix-tool/MatrixTool.input.schema.js +5 -7
  125. package/dist/commonjs/tools/matrix-tool/MatrixTool.input.schema.js.map +1 -1
  126. package/dist/commonjs/tools/matrix-tool/MatrixTool.js +5 -3
  127. package/dist/commonjs/tools/matrix-tool/MatrixTool.js.map +1 -1
  128. package/dist/commonjs/tools/midpoint-tool/MidpointTool.d.ts +21 -0
  129. package/dist/commonjs/tools/midpoint-tool/MidpointTool.d.ts.map +1 -0
  130. package/dist/commonjs/tools/midpoint-tool/MidpointTool.input.schema.d.ts +49 -0
  131. package/dist/commonjs/tools/midpoint-tool/MidpointTool.input.schema.d.ts.map +1 -0
  132. package/dist/commonjs/tools/midpoint-tool/MidpointTool.input.schema.js +27 -0
  133. package/dist/commonjs/tools/midpoint-tool/MidpointTool.input.schema.js.map +1 -0
  134. package/dist/commonjs/tools/midpoint-tool/MidpointTool.js +81 -0
  135. package/dist/commonjs/tools/midpoint-tool/MidpointTool.js.map +1 -0
  136. package/dist/commonjs/tools/midpoint-tool/MidpointTool.output.schema.d.ts +67 -0
  137. package/dist/commonjs/tools/midpoint-tool/MidpointTool.output.schema.d.ts.map +1 -0
  138. package/dist/commonjs/tools/midpoint-tool/MidpointTool.output.schema.js +24 -0
  139. package/dist/commonjs/tools/midpoint-tool/MidpointTool.output.schema.js.map +1 -0
  140. package/dist/commonjs/tools/optimization-tool/OptimizationTool.d.ts +28 -0
  141. package/dist/commonjs/tools/optimization-tool/OptimizationTool.d.ts.map +1 -0
  142. package/dist/commonjs/tools/optimization-tool/OptimizationTool.input.schema.d.ts +58 -0
  143. package/dist/commonjs/tools/optimization-tool/OptimizationTool.input.schema.d.ts.map +1 -0
  144. package/dist/commonjs/tools/optimization-tool/OptimizationTool.input.schema.js +76 -0
  145. package/dist/commonjs/tools/optimization-tool/OptimizationTool.input.schema.js.map +1 -0
  146. package/dist/commonjs/tools/optimization-tool/OptimizationTool.js +142 -0
  147. package/dist/commonjs/tools/optimization-tool/OptimizationTool.js.map +1 -0
  148. package/dist/commonjs/tools/optimization-tool/OptimizationTool.output.schema.d.ts +621 -0
  149. package/dist/commonjs/tools/optimization-tool/OptimizationTool.output.schema.d.ts.map +1 -0
  150. package/dist/commonjs/tools/optimization-tool/OptimizationTool.output.schema.js +87 -0
  151. package/dist/commonjs/tools/optimization-tool/OptimizationTool.output.schema.js.map +1 -0
  152. package/dist/commonjs/tools/optimization-tool/OptimizationV2Tool.d.ts +10 -0
  153. package/dist/commonjs/tools/optimization-tool/OptimizationV2Tool.d.ts.map +1 -0
  154. package/dist/commonjs/tools/optimization-tool/OptimizationV2Tool.input.schema.d.ts +303 -0
  155. package/dist/commonjs/tools/optimization-tool/OptimizationV2Tool.input.schema.d.ts.map +1 -0
  156. package/dist/commonjs/tools/optimization-tool/OptimizationV2Tool.input.schema.js +186 -0
  157. package/dist/commonjs/tools/optimization-tool/OptimizationV2Tool.input.schema.js.map +1 -0
  158. package/dist/commonjs/tools/optimization-tool/OptimizationV2Tool.js +332 -0
  159. package/dist/commonjs/tools/optimization-tool/OptimizationV2Tool.js.map +1 -0
  160. package/dist/commonjs/tools/optimization-tool/OptimizationV2Tool.output.schema.d.ts +356 -0
  161. package/dist/commonjs/tools/optimization-tool/OptimizationV2Tool.output.schema.d.ts.map +1 -0
  162. package/dist/commonjs/tools/optimization-tool/OptimizationV2Tool.output.schema.js +109 -0
  163. package/dist/commonjs/tools/optimization-tool/OptimizationV2Tool.output.schema.js.map +1 -0
  164. package/dist/commonjs/tools/point-in-polygon-tool/PointInPolygonTool.d.ts +24 -0
  165. package/dist/commonjs/tools/point-in-polygon-tool/PointInPolygonTool.d.ts.map +1 -0
  166. package/dist/commonjs/tools/point-in-polygon-tool/PointInPolygonTool.input.schema.d.ts +34 -0
  167. package/dist/commonjs/tools/point-in-polygon-tool/PointInPolygonTool.input.schema.d.ts.map +1 -0
  168. package/dist/commonjs/tools/point-in-polygon-tool/PointInPolygonTool.input.schema.js +32 -0
  169. package/dist/commonjs/tools/point-in-polygon-tool/PointInPolygonTool.input.schema.js.map +1 -0
  170. package/dist/commonjs/tools/point-in-polygon-tool/PointInPolygonTool.js +84 -0
  171. package/dist/commonjs/tools/point-in-polygon-tool/PointInPolygonTool.js.map +1 -0
  172. package/dist/commonjs/tools/point-in-polygon-tool/PointInPolygonTool.output.schema.d.ts +34 -0
  173. package/dist/commonjs/tools/point-in-polygon-tool/PointInPolygonTool.output.schema.d.ts.map +1 -0
  174. package/dist/commonjs/tools/point-in-polygon-tool/PointInPolygonTool.output.schema.js +19 -0
  175. package/dist/commonjs/tools/point-in-polygon-tool/PointInPolygonTool.output.schema.js.map +1 -0
  176. package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.d.ts.map +1 -1
  177. package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.js.map +1 -1
  178. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts.map +1 -1
  179. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.js +2 -1
  180. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.js.map +1 -1
  181. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.d.ts +24 -24
  182. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.d.ts +10 -10
  183. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.js +3 -3
  184. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.js.map +1 -1
  185. package/dist/commonjs/tools/simplify-tool/SimplifyTool.d.ts +22 -0
  186. package/dist/commonjs/tools/simplify-tool/SimplifyTool.d.ts.map +1 -0
  187. package/dist/commonjs/tools/simplify-tool/SimplifyTool.input.schema.d.ts +22 -0
  188. package/dist/commonjs/tools/simplify-tool/SimplifyTool.input.schema.d.ts.map +1 -0
  189. package/dist/commonjs/tools/simplify-tool/SimplifyTool.input.schema.js +38 -0
  190. package/dist/commonjs/tools/simplify-tool/SimplifyTool.input.schema.js.map +1 -0
  191. package/dist/commonjs/tools/simplify-tool/SimplifyTool.js +108 -0
  192. package/dist/commonjs/tools/simplify-tool/SimplifyTool.js.map +1 -0
  193. package/dist/commonjs/tools/simplify-tool/SimplifyTool.output.schema.d.ts +25 -0
  194. package/dist/commonjs/tools/simplify-tool/SimplifyTool.output.schema.d.ts.map +1 -0
  195. package/dist/commonjs/tools/simplify-tool/SimplifyTool.output.schema.js +23 -0
  196. package/dist/commonjs/tools/simplify-tool/SimplifyTool.output.schema.js.map +1 -0
  197. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -1
  198. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.input.schema.d.ts +8 -8
  199. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js +20 -2
  200. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -1
  201. package/dist/commonjs/tools/toolRegistry.d.ts +12 -1
  202. package/dist/commonjs/tools/toolRegistry.d.ts.map +1 -1
  203. package/dist/commonjs/tools/toolRegistry.js +22 -0
  204. package/dist/commonjs/tools/toolRegistry.js.map +1 -1
  205. package/dist/commonjs/utils/tracing.d.ts.map +1 -1
  206. package/dist/commonjs/utils/tracing.js.map +1 -1
  207. package/dist/commonjs/version.json +3 -3
  208. package/dist/esm/index.js +15 -1
  209. package/dist/esm/index.js.map +1 -1
  210. package/dist/esm/schemas/shared.d.ts +5 -0
  211. package/dist/esm/schemas/shared.d.ts.map +1 -1
  212. package/dist/esm/schemas/shared.js +10 -0
  213. package/dist/esm/schemas/shared.js.map +1 -1
  214. package/dist/esm/tools/MapboxApiBasedTool.d.ts +8 -0
  215. package/dist/esm/tools/MapboxApiBasedTool.d.ts.map +1 -1
  216. package/dist/esm/tools/MapboxApiBasedTool.js +20 -0
  217. package/dist/esm/tools/MapboxApiBasedTool.js.map +1 -1
  218. package/dist/esm/tools/area-tool/AreaTool.d.ts +21 -0
  219. package/dist/esm/tools/area-tool/AreaTool.d.ts.map +1 -0
  220. package/dist/esm/tools/area-tool/AreaTool.input.schema.d.ts +19 -0
  221. package/dist/esm/tools/area-tool/AreaTool.input.schema.d.ts.map +1 -0
  222. package/dist/esm/tools/area-tool/AreaTool.input.schema.js +28 -0
  223. package/dist/esm/tools/area-tool/AreaTool.input.schema.js.map +1 -0
  224. package/dist/esm/tools/area-tool/AreaTool.js +100 -0
  225. package/dist/esm/tools/area-tool/AreaTool.js.map +1 -0
  226. package/dist/esm/tools/area-tool/AreaTool.output.schema.d.ts +19 -0
  227. package/dist/esm/tools/area-tool/AreaTool.output.schema.d.ts.map +1 -0
  228. package/dist/esm/tools/area-tool/AreaTool.output.schema.js +11 -0
  229. package/dist/esm/tools/area-tool/AreaTool.output.schema.js.map +1 -0
  230. package/dist/esm/tools/bearing-tool/BearingTool.d.ts +22 -0
  231. package/dist/esm/tools/bearing-tool/BearingTool.d.ts.map +1 -0
  232. package/dist/esm/tools/bearing-tool/BearingTool.input.schema.d.ts +49 -0
  233. package/dist/esm/tools/bearing-tool/BearingTool.input.schema.d.ts.map +1 -0
  234. package/dist/esm/tools/bearing-tool/BearingTool.input.schema.js +21 -0
  235. package/dist/esm/tools/bearing-tool/BearingTool.input.schema.js.map +1 -0
  236. package/dist/esm/tools/bearing-tool/BearingTool.js +80 -0
  237. package/dist/esm/tools/bearing-tool/BearingTool.js.map +1 -0
  238. package/dist/esm/tools/bearing-tool/BearingTool.output.schema.d.ts +52 -0
  239. package/dist/esm/tools/bearing-tool/BearingTool.output.schema.d.ts.map +1 -0
  240. package/dist/esm/tools/bearing-tool/BearingTool.output.schema.js +18 -0
  241. package/dist/esm/tools/bearing-tool/BearingTool.output.schema.js.map +1 -0
  242. package/dist/esm/tools/bounding-box-tool/BoundingBoxTool.d.ts +22 -0
  243. package/dist/esm/tools/bounding-box-tool/BoundingBoxTool.d.ts.map +1 -0
  244. package/dist/esm/tools/bounding-box-tool/BoundingBoxTool.input.schema.d.ts +16 -0
  245. package/dist/esm/tools/bounding-box-tool/BoundingBoxTool.input.schema.d.ts.map +1 -0
  246. package/dist/esm/tools/bounding-box-tool/BoundingBoxTool.input.schema.js +25 -0
  247. package/dist/esm/tools/bounding-box-tool/BoundingBoxTool.input.schema.js.map +1 -0
  248. package/dist/esm/tools/bounding-box-tool/BoundingBoxTool.js +103 -0
  249. package/dist/esm/tools/bounding-box-tool/BoundingBoxTool.js.map +1 -0
  250. package/dist/esm/tools/bounding-box-tool/BoundingBoxTool.output.schema.d.ts +16 -0
  251. package/dist/esm/tools/bounding-box-tool/BoundingBoxTool.output.schema.d.ts.map +1 -0
  252. package/dist/esm/tools/bounding-box-tool/BoundingBoxTool.output.schema.js +12 -0
  253. package/dist/esm/tools/bounding-box-tool/BoundingBoxTool.output.schema.js.map +1 -0
  254. package/dist/esm/tools/buffer-tool/BufferTool.d.ts +22 -0
  255. package/dist/esm/tools/buffer-tool/BufferTool.d.ts.map +1 -0
  256. package/dist/esm/tools/buffer-tool/BufferTool.input.schema.d.ts +22 -0
  257. package/dist/esm/tools/buffer-tool/BufferTool.input.schema.d.ts.map +1 -0
  258. package/dist/esm/tools/buffer-tool/BufferTool.input.schema.js +29 -0
  259. package/dist/esm/tools/buffer-tool/BufferTool.input.schema.js.map +1 -0
  260. package/dist/esm/tools/buffer-tool/BufferTool.js +99 -0
  261. package/dist/esm/tools/buffer-tool/BufferTool.js.map +1 -0
  262. package/dist/esm/tools/buffer-tool/BufferTool.output.schema.d.ts +22 -0
  263. package/dist/esm/tools/buffer-tool/BufferTool.output.schema.d.ts.map +1 -0
  264. package/dist/esm/tools/buffer-tool/BufferTool.output.schema.js +14 -0
  265. package/dist/esm/tools/buffer-tool/BufferTool.output.schema.js.map +1 -0
  266. package/dist/esm/tools/category-list-tool/CategoryListTool.d.ts.map +1 -1
  267. package/dist/esm/tools/category-list-tool/CategoryListTool.js +2 -1
  268. package/dist/esm/tools/category-list-tool/CategoryListTool.js.map +1 -1
  269. package/dist/esm/tools/category-search-tool/CategorySearchTool.d.ts.map +1 -1
  270. package/dist/esm/tools/category-search-tool/CategorySearchTool.input.schema.d.ts +10 -10
  271. package/dist/esm/tools/category-search-tool/CategorySearchTool.js +2 -1
  272. package/dist/esm/tools/category-search-tool/CategorySearchTool.js.map +1 -1
  273. package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.d.ts +44 -44
  274. package/dist/esm/tools/centroid-tool/CentroidTool.d.ts +21 -0
  275. package/dist/esm/tools/centroid-tool/CentroidTool.d.ts.map +1 -0
  276. package/dist/esm/tools/centroid-tool/CentroidTool.input.schema.d.ts +16 -0
  277. package/dist/esm/tools/centroid-tool/CentroidTool.input.schema.d.ts.map +1 -0
  278. package/dist/esm/tools/centroid-tool/CentroidTool.input.schema.js +23 -0
  279. package/dist/esm/tools/centroid-tool/CentroidTool.input.schema.js.map +1 -0
  280. package/dist/esm/tools/centroid-tool/CentroidTool.js +77 -0
  281. package/dist/esm/tools/centroid-tool/CentroidTool.js.map +1 -0
  282. package/dist/esm/tools/centroid-tool/CentroidTool.output.schema.d.ts +31 -0
  283. package/dist/esm/tools/centroid-tool/CentroidTool.output.schema.d.ts.map +1 -0
  284. package/dist/esm/tools/centroid-tool/CentroidTool.output.schema.js +13 -0
  285. package/dist/esm/tools/centroid-tool/CentroidTool.output.schema.js.map +1 -0
  286. package/dist/esm/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
  287. package/dist/esm/tools/directions-tool/DirectionsTool.input.schema.d.ts +3 -3
  288. package/dist/esm/tools/directions-tool/DirectionsTool.input.schema.d.ts.map +1 -1
  289. package/dist/esm/tools/directions-tool/DirectionsTool.input.schema.js +7 -8
  290. package/dist/esm/tools/directions-tool/DirectionsTool.input.schema.js.map +1 -1
  291. package/dist/esm/tools/directions-tool/DirectionsTool.js +9 -8
  292. package/dist/esm/tools/directions-tool/DirectionsTool.js.map +1 -1
  293. package/dist/esm/tools/directions-tool/DirectionsTool.output.schema.d.ts +266 -266
  294. package/dist/esm/tools/directions-tool/DirectionsTool.output.schema.js +6 -6
  295. package/dist/esm/tools/directions-tool/DirectionsTool.output.schema.js.map +1 -1
  296. package/dist/esm/tools/directions-tool/cleanResponseData.d.ts +2 -2
  297. package/dist/esm/tools/directions-tool/cleanResponseData.d.ts.map +1 -1
  298. package/dist/esm/tools/directions-tool/cleanResponseData.js.map +1 -1
  299. package/dist/esm/tools/distance-tool/DistanceTool.d.ts +29 -0
  300. package/dist/esm/tools/distance-tool/DistanceTool.d.ts.map +1 -0
  301. package/dist/esm/tools/distance-tool/DistanceTool.input.schema.d.ts +52 -0
  302. package/dist/esm/tools/distance-tool/DistanceTool.input.schema.d.ts.map +1 -0
  303. package/dist/esm/tools/distance-tool/DistanceTool.input.schema.js +23 -0
  304. package/dist/esm/tools/distance-tool/DistanceTool.input.schema.js.map +1 -0
  305. package/dist/esm/tools/distance-tool/DistanceTool.js +91 -0
  306. package/dist/esm/tools/distance-tool/DistanceTool.js.map +1 -0
  307. package/dist/esm/tools/distance-tool/DistanceTool.output.schema.d.ts +55 -0
  308. package/dist/esm/tools/distance-tool/DistanceTool.output.schema.d.ts.map +1 -0
  309. package/dist/esm/tools/distance-tool/DistanceTool.output.schema.js +23 -0
  310. package/dist/esm/tools/distance-tool/DistanceTool.output.schema.js.map +1 -0
  311. package/dist/esm/tools/isochrone-tool/IsochroneTool.d.ts.map +1 -1
  312. package/dist/esm/tools/isochrone-tool/IsochroneTool.input.schema.d.ts +2 -2
  313. package/dist/esm/tools/isochrone-tool/IsochroneTool.js +2 -1
  314. package/dist/esm/tools/isochrone-tool/IsochroneTool.js.map +1 -1
  315. package/dist/esm/tools/map-matching-tool/MapMatchingTool.d.ts +22 -0
  316. package/dist/esm/tools/map-matching-tool/MapMatchingTool.d.ts.map +1 -0
  317. package/dist/esm/tools/map-matching-tool/MapMatchingTool.input.schema.d.ts +43 -0
  318. package/dist/esm/tools/map-matching-tool/MapMatchingTool.input.schema.d.ts.map +1 -0
  319. package/dist/esm/tools/map-matching-tool/MapMatchingTool.input.schema.js +57 -0
  320. package/dist/esm/tools/map-matching-tool/MapMatchingTool.input.schema.js.map +1 -0
  321. package/dist/esm/tools/map-matching-tool/MapMatchingTool.js +113 -0
  322. package/dist/esm/tools/map-matching-tool/MapMatchingTool.js.map +1 -0
  323. package/dist/esm/tools/map-matching-tool/MapMatchingTool.output.schema.d.ts +170 -0
  324. package/dist/esm/tools/map-matching-tool/MapMatchingTool.output.schema.d.ts.map +1 -0
  325. package/dist/esm/tools/map-matching-tool/MapMatchingTool.output.schema.js +46 -0
  326. package/dist/esm/tools/map-matching-tool/MapMatchingTool.output.schema.js.map +1 -0
  327. package/dist/esm/tools/matrix-tool/MatrixTool.d.ts.map +1 -1
  328. package/dist/esm/tools/matrix-tool/MatrixTool.input.schema.d.ts +3 -3
  329. package/dist/esm/tools/matrix-tool/MatrixTool.input.schema.d.ts.map +1 -1
  330. package/dist/esm/tools/matrix-tool/MatrixTool.input.schema.js +6 -8
  331. package/dist/esm/tools/matrix-tool/MatrixTool.input.schema.js.map +1 -1
  332. package/dist/esm/tools/matrix-tool/MatrixTool.js +5 -3
  333. package/dist/esm/tools/matrix-tool/MatrixTool.js.map +1 -1
  334. package/dist/esm/tools/midpoint-tool/MidpointTool.d.ts +21 -0
  335. package/dist/esm/tools/midpoint-tool/MidpointTool.d.ts.map +1 -0
  336. package/dist/esm/tools/midpoint-tool/MidpointTool.input.schema.d.ts +49 -0
  337. package/dist/esm/tools/midpoint-tool/MidpointTool.input.schema.d.ts.map +1 -0
  338. package/dist/esm/tools/midpoint-tool/MidpointTool.input.schema.js +21 -0
  339. package/dist/esm/tools/midpoint-tool/MidpointTool.input.schema.js.map +1 -0
  340. package/dist/esm/tools/midpoint-tool/MidpointTool.js +77 -0
  341. package/dist/esm/tools/midpoint-tool/MidpointTool.js.map +1 -0
  342. package/dist/esm/tools/midpoint-tool/MidpointTool.output.schema.d.ts +67 -0
  343. package/dist/esm/tools/midpoint-tool/MidpointTool.output.schema.d.ts.map +1 -0
  344. package/dist/esm/tools/midpoint-tool/MidpointTool.output.schema.js +21 -0
  345. package/dist/esm/tools/midpoint-tool/MidpointTool.output.schema.js.map +1 -0
  346. package/dist/esm/tools/optimization-tool/OptimizationTool.d.ts +28 -0
  347. package/dist/esm/tools/optimization-tool/OptimizationTool.d.ts.map +1 -0
  348. package/dist/esm/tools/optimization-tool/OptimizationTool.input.schema.d.ts +58 -0
  349. package/dist/esm/tools/optimization-tool/OptimizationTool.input.schema.d.ts.map +1 -0
  350. package/dist/esm/tools/optimization-tool/OptimizationTool.input.schema.js +70 -0
  351. package/dist/esm/tools/optimization-tool/OptimizationTool.input.schema.js.map +1 -0
  352. package/dist/esm/tools/optimization-tool/OptimizationTool.js +138 -0
  353. package/dist/esm/tools/optimization-tool/OptimizationTool.js.map +1 -0
  354. package/dist/esm/tools/optimization-tool/OptimizationTool.output.schema.d.ts +621 -0
  355. package/dist/esm/tools/optimization-tool/OptimizationTool.output.schema.d.ts.map +1 -0
  356. package/dist/esm/tools/optimization-tool/OptimizationTool.output.schema.js +84 -0
  357. package/dist/esm/tools/optimization-tool/OptimizationTool.output.schema.js.map +1 -0
  358. package/dist/esm/tools/optimization-tool/OptimizationV2Tool.d.ts +10 -0
  359. package/dist/esm/tools/optimization-tool/OptimizationV2Tool.d.ts.map +1 -0
  360. package/dist/esm/tools/optimization-tool/OptimizationV2Tool.input.schema.d.ts +303 -0
  361. package/dist/esm/tools/optimization-tool/OptimizationV2Tool.input.schema.d.ts.map +1 -0
  362. package/dist/esm/tools/optimization-tool/OptimizationV2Tool.input.schema.js +180 -0
  363. package/dist/esm/tools/optimization-tool/OptimizationV2Tool.input.schema.js.map +1 -0
  364. package/dist/esm/tools/optimization-tool/OptimizationV2Tool.js +329 -0
  365. package/dist/esm/tools/optimization-tool/OptimizationV2Tool.js.map +1 -0
  366. package/dist/esm/tools/optimization-tool/OptimizationV2Tool.output.schema.d.ts +356 -0
  367. package/dist/esm/tools/optimization-tool/OptimizationV2Tool.output.schema.d.ts.map +1 -0
  368. package/dist/esm/tools/optimization-tool/OptimizationV2Tool.output.schema.js +106 -0
  369. package/dist/esm/tools/optimization-tool/OptimizationV2Tool.output.schema.js.map +1 -0
  370. package/dist/esm/tools/point-in-polygon-tool/PointInPolygonTool.d.ts +24 -0
  371. package/dist/esm/tools/point-in-polygon-tool/PointInPolygonTool.d.ts.map +1 -0
  372. package/dist/esm/tools/point-in-polygon-tool/PointInPolygonTool.input.schema.d.ts +34 -0
  373. package/dist/esm/tools/point-in-polygon-tool/PointInPolygonTool.input.schema.d.ts.map +1 -0
  374. package/dist/esm/tools/point-in-polygon-tool/PointInPolygonTool.input.schema.js +26 -0
  375. package/dist/esm/tools/point-in-polygon-tool/PointInPolygonTool.input.schema.js.map +1 -0
  376. package/dist/esm/tools/point-in-polygon-tool/PointInPolygonTool.js +80 -0
  377. package/dist/esm/tools/point-in-polygon-tool/PointInPolygonTool.js.map +1 -0
  378. package/dist/esm/tools/point-in-polygon-tool/PointInPolygonTool.output.schema.d.ts +34 -0
  379. package/dist/esm/tools/point-in-polygon-tool/PointInPolygonTool.output.schema.d.ts.map +1 -0
  380. package/dist/esm/tools/point-in-polygon-tool/PointInPolygonTool.output.schema.js +16 -0
  381. package/dist/esm/tools/point-in-polygon-tool/PointInPolygonTool.output.schema.js.map +1 -0
  382. package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.d.ts.map +1 -1
  383. package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.js.map +1 -1
  384. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts.map +1 -1
  385. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.js +2 -1
  386. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.js.map +1 -1
  387. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.d.ts +24 -24
  388. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.d.ts +10 -10
  389. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.js +3 -3
  390. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.js.map +1 -1
  391. package/dist/esm/tools/simplify-tool/SimplifyTool.d.ts +22 -0
  392. package/dist/esm/tools/simplify-tool/SimplifyTool.d.ts.map +1 -0
  393. package/dist/esm/tools/simplify-tool/SimplifyTool.input.schema.d.ts +22 -0
  394. package/dist/esm/tools/simplify-tool/SimplifyTool.input.schema.d.ts.map +1 -0
  395. package/dist/esm/tools/simplify-tool/SimplifyTool.input.schema.js +32 -0
  396. package/dist/esm/tools/simplify-tool/SimplifyTool.input.schema.js.map +1 -0
  397. package/dist/esm/tools/simplify-tool/SimplifyTool.js +104 -0
  398. package/dist/esm/tools/simplify-tool/SimplifyTool.js.map +1 -0
  399. package/dist/esm/tools/simplify-tool/SimplifyTool.output.schema.d.ts +25 -0
  400. package/dist/esm/tools/simplify-tool/SimplifyTool.output.schema.d.ts.map +1 -0
  401. package/dist/esm/tools/simplify-tool/SimplifyTool.output.schema.js +20 -0
  402. package/dist/esm/tools/simplify-tool/SimplifyTool.output.schema.js.map +1 -0
  403. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -1
  404. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.input.schema.d.ts +8 -8
  405. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.js +20 -2
  406. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -1
  407. package/dist/esm/tools/toolRegistry.d.ts +12 -1
  408. package/dist/esm/tools/toolRegistry.d.ts.map +1 -1
  409. package/dist/esm/tools/toolRegistry.js +22 -0
  410. package/dist/esm/tools/toolRegistry.js.map +1 -1
  411. package/dist/esm/utils/tracing.d.ts.map +1 -1
  412. package/dist/esm/utils/tracing.js.map +1 -1
  413. package/dist/esm/version.json +3 -3
  414. package/package.json +3 -2
  415. /package/patches/{@modelcontextprotocol+sdk+1.25.1.patch → @modelcontextprotocol+sdk+1.25.2.patch} +0 -0
package/README.md CHANGED
@@ -12,8 +12,11 @@ The Mapbox MCP Server transforms any AI agent or application into a geospatially
12
12
  - **Points of interest (POI) search** across millions of businesses, landmarks, and places worldwide
13
13
  - **Multi-modal routing** for driving, walking, and cycling with real-time traffic
14
14
  - **Travel time matrices** to analyze accessibility and optimize logistics
15
+ - **Route optimization** to find the optimal visiting order for multiple stops (traveling salesman problem)
16
+ - **Map matching** to snap GPS traces to the road network for clean route visualization
15
17
  - **Isochrone generation** to visualize areas reachable within specific time or distance constraints
16
18
  - **Static map images** to create visual representations of locations, routes, and geographic data
19
+ - **Offline geospatial calculations** for distance, area, bearing, buffers, and spatial analysis without requiring API calls
17
20
 
18
21
  Whether you're building an AI travel assistant, logistics optimizer, location-based recommender, or any application that needs to understand "where", the Mapbox MCP Server provides the spatial intelligence to make it possible. You can also enable it on popular clients like Claude Desktop and VS Code. See below for details
19
22
 
@@ -76,6 +79,25 @@ Try these prompts with Claude Desktop or other MCP clients after setup:
76
79
  - "Show me areas reachable within 30 minutes of downtown Portland by car"
77
80
  - "Calculate a travel time matrix between these 3 hotel locations (Marriott, Sheraton and Hilton) and the convention center in Denver"
78
81
  - "Find the optimal route visiting these 3 tourist attractions (Golden Gate, Musical Stairs and Fisherman's Wharf) in San Francisco"
82
+ - "Optimize a delivery route for these 8 addresses: [list of addresses]"
83
+
84
+ ### GPS & Route Matching
85
+
86
+ - "Clean up this GPS trace and show the actual route on roads: [list of coordinates with timestamps]"
87
+ - "Snap this recorded bicycle ride to the cycling network: [GPS coordinates]"
88
+ - "Match this driving route to the road network and show traffic congestion levels"
89
+
90
+ ### Offline Geospatial Calculations
91
+
92
+ - "What's the distance in miles between these two coordinates?"
93
+ - "Calculate the area of this polygon in square kilometers"
94
+ - "Is the point at 37.7749°N, 122.4194°W inside this service area polygon?"
95
+ - "What's the bearing from San Francisco to New York?"
96
+ - "Find the midpoint between London and Paris"
97
+ - "Create a 5-mile buffer zone around this location"
98
+ - "Calculate the centroid of this neighborhood boundary"
99
+ - "What's the bounding box for these route coordinates?"
100
+ - "Simplify this complex polygon to reduce the number of points"
79
101
 
80
102
  ### Tips for Better Results
81
103
 
@@ -178,6 +200,119 @@ Provides access to MCP resources for clients that don't support the native MCP r
178
200
 
179
201
  **Note**: If your MCP client supports native resources, prefer using the resource API directly for better performance.
180
202
 
203
+ ### Offline Geospatial Tools
204
+
205
+ These tools perform geospatial calculations completely offline without requiring Mapbox API calls. They use [Turf.js](https://turfjs.org/) for accurate geographic computations and work anywhere, even without internet connectivity.
206
+
207
+ #### Distance Tool
208
+
209
+ Calculate the distance between two geographic coordinates using the Haversine formula.
210
+
211
+ **Features**:
212
+
213
+ - Supports multiple units: kilometers, miles, meters, feet, nautical miles
214
+ - Accurate great-circle distance calculation
215
+ - No API calls required
216
+
217
+ **Example Usage**: "What's the distance between San Francisco (37.7749°N, 122.4194°W) and New York (40.7128°N, 74.0060°W)?"
218
+
219
+ #### Point in Polygon Tool
220
+
221
+ Test whether a point is inside a polygon or multipolygon.
222
+
223
+ **Features**:
224
+
225
+ - Works with complex polygons including holes
226
+ - Supports multipolygons
227
+ - Useful for geofencing and service area checks
228
+
229
+ **Example Usage**: "Is this delivery address inside our service area?"
230
+
231
+ #### Bearing Tool
232
+
233
+ Calculate the compass direction (bearing) from one coordinate to another.
234
+
235
+ **Features**:
236
+
237
+ - Returns bearing in degrees (0-360°)
238
+ - Provides cardinal direction (N, NE, E, SE, S, SW, W, NW)
239
+ - Useful for navigation and directional queries
240
+
241
+ **Example Usage**: "What direction should I head to go from here to the airport?"
242
+
243
+ #### Midpoint Tool
244
+
245
+ Find the geographic midpoint between two coordinates along the great circle path.
246
+
247
+ **Features**:
248
+
249
+ - Calculates true midpoint on Earth's curved surface
250
+ - Useful for meeting point suggestions
251
+ - Handles long-distance calculations correctly
252
+
253
+ **Example Usage**: "What's halfway between San Francisco and New York?"
254
+
255
+ #### Centroid Tool
256
+
257
+ Calculate the geometric center (centroid) of a polygon or multipolygon.
258
+
259
+ **Features**:
260
+
261
+ - Works with complex shapes
262
+ - Returns arithmetic mean of all points
263
+ - Useful for placing labels or markers
264
+
265
+ **Example Usage**: "Where should I place a marker for this neighborhood boundary?"
266
+
267
+ #### Area Tool
268
+
269
+ Calculate the area of a polygon.
270
+
271
+ **Features**:
272
+
273
+ - Supports multiple units: square meters, square kilometers, acres, hectares, square miles, square feet
274
+ - Accurate area calculation on Earth's surface
275
+ - Works with polygons of any size
276
+
277
+ **Example Usage**: "What's the area of this park in acres?"
278
+
279
+ #### Bounding Box Tool
280
+
281
+ Calculate the minimum bounding box (bbox) that contains a geometry.
282
+
283
+ **Features**:
284
+
285
+ - Works with points, lines, polygons, and multipolygons
286
+ - Returns [minLongitude, minLatitude, maxLongitude, maxLatitude]
287
+ - Useful for viewport calculations and spatial indexing
288
+
289
+ **Example Usage**: "What's the bounding box for this route?"
290
+
291
+ #### Buffer Tool
292
+
293
+ Create a buffer zone (polygon) around a point, line, or polygon.
294
+
295
+ **Features**:
296
+
297
+ - Supports multiple distance units
298
+ - Creates circular buffers around points
299
+ - Useful for proximity analysis and creating zones of influence
300
+
301
+ **Example Usage**: "Show me a 5km buffer zone around this location"
302
+
303
+ #### Simplify Tool
304
+
305
+ Reduce the number of vertices in a line or polygon using the Douglas-Peucker algorithm.
306
+
307
+ **Features**:
308
+
309
+ - Configurable tolerance for detail level
310
+ - Preserves overall shape while reducing complexity
311
+ - Useful for reducing file sizes and improving rendering performance
312
+ - Option to maintain topology (prevent self-intersections)
313
+
314
+ **Example Usage**: "Simplify this complex boundary to reduce the number of points"
315
+
181
316
  ### Mapbox API Tools
182
317
 
183
318
  #### Category List Tool (Deprecated)
@@ -260,6 +395,36 @@ Computes areas that are reachable within a specified amount of times from a loca
260
395
  Uses the [Mapbox Search Box Text Search API](https://docs.mapbox.com/api/search/search-box/#search-request) endpoint to power searching for and geocoding POIs, addresses, places, and any other types supported by that API.
261
396
  This tool consolidates the functionality that was previously provided by the ForwardGeocodeTool and PoiSearchTool (from earlier versions of this MCP server) into a single tool.
262
397
 
398
+ #### Map matching tool
399
+
400
+ Snaps GPS traces to the road network using the [Mapbox Map Matching API](https://docs.mapbox.com/api/navigation/map-matching/). Features include:
401
+
402
+ - Convert noisy GPS traces to clean routes on the road network
403
+ - Support for different travel profiles (driving, driving-traffic, walking, cycling)
404
+ - Handle up to 100 coordinate pairs per request
405
+ - Optional timestamps for improved accuracy based on speed
406
+ - Configurable snap radiuses for different GPS quality levels
407
+ - Route annotations (speed limits, distance, duration, traffic congestion)
408
+ - Multiple geometry output formats (GeoJSON, polyline)
409
+
410
+ **Example Usage**: "Clean up this GPS trace and snap it to roads: [coordinates with timestamps]"
411
+
412
+ #### Optimization tool
413
+
414
+ Finds the optimal route through multiple locations using the [Mapbox Optimization API](https://docs.mapbox.com/api/navigation/optimization/). Features include:
415
+
416
+ - Solve traveling salesman problem (TSP) for 2-12 locations
417
+ - Support for different travel profiles (driving, driving-traffic, walking, cycling)
418
+ - Flexible start and end point configuration
419
+ - Roundtrip or one-way trip optimization
420
+ - Turn-by-turn navigation instructions (optional)
421
+ - Route annotations (distance, duration, speed)
422
+ - Multiple geometry output formats (GeoJSON, polyline)
423
+
424
+ **Example Usage**: "Find the optimal route to visit these 5 stops: [list of addresses or coordinates]"
425
+
426
+ **Note**: A V2 API with advanced features (time windows, capacity constraints, multiple vehicles) is available but requires beta access. The V2 implementation is included in the codebase but not registered by default.
427
+
263
428
  # Development
264
429
 
265
430
  ## Inspecting server
@@ -51,7 +51,21 @@ const allResources = (0, resourceRegistry_js_1.getAllResources)();
51
51
  // Create an MCP server
52
52
  const server = new mcp_js_1.McpServer({
53
53
  name: versionInfo.name,
54
- version: versionInfo.version
54
+ version: versionInfo.version,
55
+ icons: [
56
+ {
57
+ src: 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIxLjAuMiwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9Im5ldyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiCgkgdmlld0JveD0iMCAwIDgwMCAxODAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDgwMCAxODA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHRpdGxlPk1hcGJveF9Mb2dvXzA4PC90aXRsZT4KPGc+Cgk8Zz4KCQk8cGF0aCBkPSJNNTk0LjYsNDkuOGMtOS45LDAtMTkuNCw0LjEtMjYuMywxMS4zVjIzYzAtMS4yLTEtMi4yLTIuMi0yLjJsMCwwaC0xMy40Yy0xLjIsMC0yLjIsMS0yLjIsMi4ydjEwM2MwLDEuMiwxLDIuMiwyLjIsMi4yCgkJCWgxMy40YzEuMiwwLDIuMi0xLDIuMi0yLjJ2MHYtNy4xYzYuOSw3LjIsMTYuMywxMS4zLDI2LjMsMTEuM2MyMC45LDAsMzcuOC0xOCwzNy44LTQwLjJTNjE1LjUsNDkuOCw1OTQuNiw0OS44eiBNNTkxLjUsMTE0LjEKCQkJYy0xMi43LDAtMjMtMTAuNi0yMy4xLTIzLjh2LTAuNmMwLjItMTMuMiwxMC40LTIzLjgsMjMuMS0yMy44YzEyLjgsMCwyMy4xLDEwLjgsMjMuMSwyNC4xUzYwNC4yLDExNC4xLDU5MS41LDExNC4xTDU5MS41LDExNC4xeiIKCQkJLz4KCQk8cGF0aCBkPSJNNjgxLjcsNDkuOGMtMjIuNiwwLTQwLjksMTgtNDAuOSw0MC4yczE4LjMsNDAuMiw0MC45LDQwLjJjMjIuNiwwLDQwLjktMTgsNDAuOS00MC4yUzcwNC4zLDQ5LjgsNjgxLjcsNDkuOHoKCQkJIE02ODEuNiwxMTQuMWMtMTIuOCwwLTIzLjEtMTAuOC0yMy4xLTI0LjFzMTAuNC0yNC4xLDIzLjEtMjQuMXMyMy4xLDEwLjgsMjMuMSwyNC4xUzY5NC4zLDExNC4xLDY4MS42LDExNC4xTDY4MS42LDExNC4xeiIvPgoJCTxwYXRoIGQ9Ik00MzEuNiw1MS44aC0xMy40Yy0xLjIsMC0yLjIsMS0yLjIsMi4yYzAsMCwwLDAsMCwwdjcuMWMtNi45LTcuMi0xNi4zLTExLjMtMjYuMy0xMS4zYy0yMC45LDAtMzcuOCwxOC0zNy44LDQwLjIKCQkJczE2LjksNDAuMiwzNy44LDQwLjJjOS45LDAsMTkuNC00LjEsMjYuMy0xMS4zdjcuMWMwLDEuMiwxLDIuMiwyLjIsMi4ybDAsMGgxMy40YzEuMiwwLDIuMi0xLDIuMi0yLjJ2MFY1NAoJCQlDNDMzLjgsNTIuOCw0MzIuOCw1MS44LDQzMS42LDUxLjh6IE0zOTIuOCwxMTQuMWMtMTIuOCwwLTIzLjEtMTAuOC0yMy4xLTI0LjFzMTAuNC0yNC4xLDIzLjEtMjQuMWMxMi43LDAsMjMsMTAuNiwyMy4xLDIzLjh2MC42CgkJCUM0MTUuOCwxMDMuNSw0MDUuNSwxMTQuMSwzOTIuOCwxMTQuMUwzOTIuOCwxMTQuMXoiLz4KCQk8cGF0aCBkPSJNNDk4LjUsNDkuOGMtOS45LDAtMTkuNCw0LjEtMjYuMywxMS4zVjU0YzAtMS4yLTEtMi4yLTIuMi0yLjJsMCwwaC0xMy40Yy0xLjIsMC0yLjIsMS0yLjIsMi4yYzAsMCwwLDAsMCwwdjEwMwoJCQljMCwxLjIsMSwyLjIsMi4yLDIuMmwwLDBoMTMuNGMxLjIsMCwyLjItMSwyLjItMi4ydjB2LTM4LjFjNi45LDcuMiwxNi4zLDExLjMsMjYuMywxMS4zYzIwLjksMCwzNy44LTE4LDM3LjgtNDAuMgoJCQlTNTE5LjQsNDkuOCw0OTguNSw0OS44eiBNNDk1LjQsMTE0LjFjLTEyLjcsMC0yMy0xMC42LTIzLjEtMjMuOHYtMC42YzAuMi0xMy4yLDEwLjQtMjMuOCwyMy4xLTIzLjhjMTIuOCwwLDIzLjEsMTAuOCwyMy4xLDI0LjEKCQkJUzUwOC4yLDExNC4xLDQ5NS40LDExNC4xTDQ5NS40LDExNC4xeiIvPgoJCTxwYXRoIGQ9Ik0zMTEuOCw0OS44Yy0xMCwwLjEtMTkuMSw1LjktMjMuNCwxNWMtNC45LTkuMy0xNC43LTE1LjEtMjUuMi0xNWMtOC4yLDAtMTUuOSw0LTIwLjcsMTAuNlY1NGMwLTEuMi0xLTIuMi0yLjItMi4ybDAsMAoJCQloLTEzLjRjLTEuMiwwLTIuMiwxLTIuMiwyLjJjMCwwLDAsMCwwLDB2NzJjMCwxLjIsMSwyLjIsMi4yLDIuMmgwaDEzLjRjMS4yLDAsMi4yLTEsMi4yLTIuMnYwVjgyLjljMC41LTkuNiw3LjItMTcuMywxNS40LTE3LjMKCQkJYzguNSwwLDE1LjYsNy4xLDE1LjYsMTYuNHY0NGMwLDEuMiwxLDIuMiwyLjIsMi4ybDEzLjUsMGMxLjIsMCwyLjItMSwyLjItMi4yYzAsMCwwLDAsMCwwbC0wLjEtNDQuOGMxLjItOC44LDcuNS0xNS42LDE1LjItMTUuNgoJCQljOC41LDAsMTUuNiw3LjEsMTUuNiwxNi40djQ0YzAsMS4yLDEsMi4yLDIuMiwyLjJsMTMuNSwwYzEuMiwwLDIuMi0xLDIuMi0yLjJjMCwwLDAsMCwwLDBsLTAuMS00OS41CgkJCUMzMzkuOSw2MS43LDMyNy4zLDQ5LjgsMzExLjgsNDkuOHoiLz4KCQk8cGF0aCBkPSJNNzk0LjcsMTI1LjFsLTIzLjItMzUuM2wyMy0zNWMwLjYtMC45LDAuMy0yLjItMC42LTIuOGMtMC4zLTAuMi0wLjctMC4zLTEuMS0wLjNoLTE1LjVjLTEuMiwwLTIuMywwLjYtMi45LDEuNkw3NjAuOSw3NgoJCQlsLTEzLjUtMjIuNmMtMC42LTEtMS43LTEuNi0yLjktMS42aC0xNS41Yy0xLjEsMC0yLDAuOS0yLDJjMCwwLjQsMC4xLDAuOCwwLjMsMS4xbDIzLDM1bC0yMy4yLDM1LjNjLTAuNiwwLjktMC4zLDIuMiwwLjYsMi44CgkJCWMwLjMsMC4yLDAuNywwLjMsMS4xLDAuM2gxNS41YzEuMiwwLDIuMy0wLjYsMi45LTEuNmwxMy44LTIzbDEzLjgsMjNjMC42LDEsMS43LDEuNiwyLjksMS42SDc5M2MxLjEsMCwyLTAuOSwyLTIKCQkJQzc5NSwxMjUuOSw3OTQuOSwxMjUuNSw3OTQuNywxMjUuMXoiLz4KCTwvZz4KCTxnPgoJCTxwYXRoIGQ9Ik05My45LDEuMUM0NC44LDEuMSw1LDQwLjksNSw5MHMzOS44LDg4LjksODguOSw4OC45czg4LjktMzkuOCw4OC45LTg4LjlDMTgyLjgsNDAuOSwxNDMsMS4xLDkzLjksMS4xeiBNMTM2LjEsMTExLjgKCQkJYy0zMC40LDMwLjQtODQuNywyMC43LTg0LjcsMjAuN3MtOS44LTU0LjIsMjAuNy04NC43Qzg5LDMwLjksMTE3LDMxLjYsMTM0LjcsNDkuMlMxNTMsOTQuOSwxMzYuMSwxMTEuOEwxMzYuMSwxMTEuOHoiLz4KCQk8cG9seWdvbiBwb2ludHM9IjEwNC4xLDUzLjIgOTUuNCw3MS4xIDc3LjUsNzkuOCA5NS40LDg4LjUgMTA0LjEsMTA2LjQgMTEyLjgsODguNSAxMzAuNyw3OS44IDExMi44LDcxLjEgCQkiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K',
58
+ mimeType: 'image/svg+xml',
59
+ sizes: ['800x180'],
60
+ theme: 'light'
61
+ },
62
+ {
63
+ src: 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIxLjAuMiwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9Im5ldyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiCgkgdmlld0JveD0iMCAwIDgwMCAxODAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDgwMCAxODA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDojRkZGRkZGO30KPC9zdHlsZT4KPHRpdGxlPk1hcGJveF9Mb2dvXzA4PC90aXRsZT4KPGc+Cgk8Zz4KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNTk0LjYsNDkuOGMtOS45LDAtMTkuNCw0LjEtMjYuMywxMS4zVjIzYzAtMS4yLTEtMi4yLTIuMi0yLjJsMCwwaC0xMy40Yy0xLjIsMC0yLjIsMS0yLjIsMi4ydjEwMwoJCQljMCwxLjIsMSwyLjIsMi4yLDIuMmgxMy40YzEuMiwwLDIuMi0xLDIuMi0yLjJ2MHYtNy4xYzYuOSw3LjIsMTYuMywxMS4zLDI2LjMsMTEuM2MyMC45LDAsMzcuOC0xOCwzNy44LTQwLjIKCQkJUzYxNS41LDQ5LjgsNTk0LjYsNDkuOHogTTU5MS41LDExNC4xYy0xMi43LDAtMjMtMTAuNi0yMy4xLTIzLjh2LTAuNmMwLjItMTMuMiwxMC40LTIzLjgsMjMuMS0yMy44YzEyLjgsMCwyMy4xLDEwLjgsMjMuMSwyNC4xCgkJCVM2MDQuMiwxMTQuMSw1OTEuNSwxMTQuMUw1OTEuNSwxMTQuMXoiLz4KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNjgxLjcsNDkuOGMtMjIuNiwwLTQwLjksMTgtNDAuOSw0MC4yczE4LjMsNDAuMiw0MC45LDQwLjJjMjIuNiwwLDQwLjktMTgsNDAuOS00MC4yUzcwNC4zLDQ5LjgsNjgxLjcsNDkuOHoKCQkJIE02ODEuNiwxMTQuMWMtMTIuOCwwLTIzLjEtMTAuOC0yMy4xLTI0LjFzMTAuNC0yNC4xLDIzLjEtMjQuMXMyMy4xLDEwLjgsMjMuMSwyNC4xUzY5NC4zLDExNC4xLDY4MS42LDExNC4xTDY4MS42LDExNC4xeiIvPgoJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik00MzEuNiw1MS44aC0xMy40Yy0xLjIsMC0yLjIsMS0yLjIsMi4yYzAsMCwwLDAsMCwwdjcuMWMtNi45LTcuMi0xNi4zLTExLjMtMjYuMy0xMS4zCgkJCWMtMjAuOSwwLTM3LjgsMTgtMzcuOCw0MC4yczE2LjksNDAuMiwzNy44LDQwLjJjOS45LDAsMTkuNC00LjEsMjYuMy0xMS4zdjcuMWMwLDEuMiwxLDIuMiwyLjIsMi4ybDAsMGgxMy40YzEuMiwwLDIuMi0xLDIuMi0yLjIKCQkJdjBWNTRDNDMzLjgsNTIuOCw0MzIuOCw1MS44LDQzMS42LDUxLjh6IE0zOTIuOCwxMTQuMWMtMTIuOCwwLTIzLjEtMTAuOC0yMy4xLTI0LjFzMTAuNC0yNC4xLDIzLjEtMjQuMWMxMi43LDAsMjMsMTAuNiwyMy4xLDIzLjgKCQkJdjAuNkM0MTUuOCwxMDMuNSw0MDUuNSwxMTQuMSwzOTIuOCwxMTQuMUwzOTIuOCwxMTQuMXoiLz4KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNDk4LjUsNDkuOGMtOS45LDAtMTkuNCw0LjEtMjYuMywxMS4zVjU0YzAtMS4yLTEtMi4yLTIuMi0yLjJsMCwwaC0xMy40Yy0xLjIsMC0yLjIsMS0yLjIsMi4yYzAsMCwwLDAsMCwwCgkJCXYxMDNjMCwxLjIsMSwyLjIsMi4yLDIuMmwwLDBoMTMuNGMxLjIsMCwyLjItMSwyLjItMi4ydjB2LTM4LjFjNi45LDcuMiwxNi4zLDExLjMsMjYuMywxMS4zYzIwLjksMCwzNy44LTE4LDM3LjgtNDAuMgoJCQlTNTE5LjQsNDkuOCw0OTguNSw0OS44eiBNNDk1LjQsMTE0LjFjLTEyLjcsMC0yMy0xMC42LTIzLjEtMjMuOHYtMC42YzAuMi0xMy4yLDEwLjQtMjMuOCwyMy4xLTIzLjhjMTIuOCwwLDIzLjEsMTAuOCwyMy4xLDI0LjEKCQkJUzUwOC4yLDExNC4xLDQ5NS40LDExNC4xTDQ5NS40LDExNC4xeiIvPgoJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0zMTEuOCw0OS44Yy0xMCwwLjEtMTkuMSw1LjktMjMuNCwxNWMtNC45LTkuMy0xNC43LTE1LjEtMjUuMi0xNWMtOC4yLDAtMTUuOSw0LTIwLjcsMTAuNlY1NAoJCQljMC0xLjItMS0yLjItMi4yLTIuMmwwLDBoLTEzLjRjLTEuMiwwLTIuMiwxLTIuMiwyLjJjMCwwLDAsMCwwLDB2NzJjMCwxLjIsMSwyLjIsMi4yLDIuMmgwaDEzLjRjMS4yLDAsMi4yLTEsMi4yLTIuMnYwVjgyLjkKCQkJYzAuNS05LjYsNy4yLTE3LjMsMTUuNC0xNy4zYzguNSwwLDE1LjYsNy4xLDE1LjYsMTYuNHY0NGMwLDEuMiwxLDIuMiwyLjIsMi4ybDEzLjUsMGMxLjIsMCwyLjItMSwyLjItMi4yYzAsMCwwLDAsMCwwbC0wLjEtNDQuOAoJCQljMS4yLTguOCw3LjUtMTUuNiwxNS4yLTE1LjZjOC41LDAsMTUuNiw3LjEsMTUuNiwxNi40djQ0YzAsMS4yLDEsMi4yLDIuMiwyLjJsMTMuNSwwYzEuMiwwLDIuMi0xLDIuMi0yLjJjMCwwLDAsMCwwLDBsLTAuMS00OS41CgkJCUMzMzkuOSw2MS43LDMyNy4zLDQ5LjgsMzExLjgsNDkuOHoiLz4KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNzk0LjcsMTI1LjFsLTIzLjItMzUuM2wyMy0zNWMwLjYtMC45LDAuMy0yLjItMC42LTIuOGMtMC4zLTAuMi0wLjctMC4zLTEuMS0wLjNoLTE1LjUKCQkJYy0xLjIsMC0yLjMsMC42LTIuOSwxLjZMNzYwLjksNzZsLTEzLjUtMjIuNmMtMC42LTEtMS43LTEuNi0yLjktMS42aC0xNS41Yy0xLjEsMC0yLDAuOS0yLDJjMCwwLjQsMC4xLDAuOCwwLjMsMS4xbDIzLDM1CgkJCWwtMjMuMiwzNS4zYy0wLjYsMC45LTAuMywyLjIsMC42LDIuOGMwLjMsMC4yLDAuNywwLjMsMS4xLDAuM2gxNS41YzEuMiwwLDIuMy0wLjYsMi45LTEuNmwxMy44LTIzbDEzLjgsMjNjMC42LDEsMS43LDEuNiwyLjksMS42CgkJCUg3OTNjMS4xLDAsMi0wLjksMi0yQzc5NSwxMjUuOSw3OTQuOSwxMjUuNSw3OTQuNywxMjUuMXoiLz4KCTwvZz4KCTxnPgoJCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik05My45LDEuMUM0NC44LDEuMSw1LDQwLjksNSw5MHMzOS44LDg4LjksODguOSw4OC45czg4LjktMzkuOCw4OC45LTg4LjlDMTgyLjgsNDAuOSwxNDMsMS4xLDkzLjksMS4xegoJCQkgTTEzNi4xLDExMS44Yy0zMC40LDMwLjQtODQuNywyMC43LTg0LjcsMjAuN3MtOS44LTU0LjIsMjAuNy04NC43Qzg5LDMwLjksMTE3LDMxLjYsMTM0LjcsNDkuMlMxNTMsOTQuOSwxMzYuMSwxMTEuOEwxMzYuMSwxMTEuOAoJCQl6Ii8+CgkJPHBvbHlnb24gY2xhc3M9InN0MCIgcG9pbnRzPSIxMDQuMSw1My4yIDk1LjQsNzEuMSA3Ny41LDc5LjggOTUuNCw4OC41IDEwNC4xLDEwNi40IDExMi44LDg4LjUgMTMwLjcsNzkuOCAxMTIuOCw3MS4xIAkJIi8+Cgk8L2c+CjwvZz4KPC9zdmc+Cg==',
64
+ mimeType: 'image/svg+xml',
65
+ sizes: ['800x180'],
66
+ theme: 'dark'
67
+ }
68
+ ]
55
69
  }, {
56
70
  capabilities: {
57
71
  tools: {},
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -33,4 +33,9 @@ export declare const bboxSchema: z.ZodObject<{
33
33
  maxLongitude: number;
34
34
  maxLatitude: number;
35
35
  }>;
36
+ /**
37
+ * Zod schema for Mapbox routing profiles.
38
+ * Uses the fully-qualified format (e.g., 'mapbox/driving-traffic').
39
+ */
40
+ export declare const profileSchema: z.ZodEnum<["mapbox/driving-traffic", "mapbox/driving", "mapbox/walking", "mapbox/cycling"]>;
36
41
  //# sourceMappingURL=shared.d.ts.map
@@ -1 +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"}
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;AAEH;;;GAGG;AACH,eAAO,MAAM,aAAa,6FAKxB,CAAC"}
@@ -2,7 +2,7 @@
2
2
  // Copyright (c) Mapbox, Inc.
3
3
  // Licensed under the MIT License.
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.bboxSchema = exports.languageSchema = exports.countrySchema = exports.coordinateSchema = exports.latitudeSchema = exports.longitudeSchema = void 0;
5
+ exports.profileSchema = exports.bboxSchema = exports.languageSchema = exports.countrySchema = exports.coordinateSchema = exports.latitudeSchema = exports.longitudeSchema = void 0;
6
6
  const zod_1 = require("zod");
7
7
  exports.longitudeSchema = zod_1.z.number().min(-180).max(180);
8
8
  exports.latitudeSchema = zod_1.z.number().min(-90).max(90);
@@ -32,4 +32,14 @@ exports.bboxSchema = zod_1.z.object({
32
32
  maxLongitude: zod_1.z.number().min(-180).max(180),
33
33
  maxLatitude: zod_1.z.number().min(-90).max(90)
34
34
  });
35
+ /**
36
+ * Zod schema for Mapbox routing profiles.
37
+ * Uses the fully-qualified format (e.g., 'mapbox/driving-traffic').
38
+ */
39
+ exports.profileSchema = zod_1.z.enum([
40
+ 'mapbox/driving-traffic',
41
+ 'mapbox/driving',
42
+ 'mapbox/walking',
43
+ 'mapbox/cycling'
44
+ ]);
35
45
  //# sourceMappingURL=shared.js.map
@@ -1 +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
+ {"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;AAEH;;;GAGG;AACU,QAAA,aAAa,GAAG,OAAC,CAAC,IAAI,CAAC;IAClC,wBAAwB;IACxB,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;CACjB,CAAC,CAAC"}
@@ -23,6 +23,14 @@ export declare abstract class MapboxApiBasedTool<InputSchema extends ZodTypeAny,
23
23
  * @returns boolean indicating if the token has valid JWT format
24
24
  */
25
25
  private isValidJwtFormat;
26
+ /**
27
+ * Extracts error message from Mapbox API response.
28
+ * If the response contains a JSON body with a 'message' field, returns that.
29
+ * Otherwise falls back to the response status text.
30
+ * @param response The HTTP response object
31
+ * @returns The error message string in format "statusCode: message"
32
+ */
33
+ protected getErrorMessage(response: Response): Promise<string>;
26
34
  /**
27
35
  * Validates and runs the tool logic.
28
36
  */
@@ -1 +1 @@
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;IAyF1B;;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"}
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;;;;;;OAMG;cACa,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAapE;;OAEG;IACG,GAAG,CACP,QAAQ,EAAE,OAAO,EAEjB,KAAK,CAAC,EAAE,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,GACpC,OAAO,CAAC,cAAc,CAAC;IAyF1B;;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"}
@@ -32,6 +32,26 @@ class MapboxApiBasedTool extends BaseTool_js_1.BaseTool {
32
32
  // Check that all parts are non-empty
33
33
  return parts.every((part) => part.length > 0);
34
34
  }
35
+ /**
36
+ * Extracts error message from Mapbox API response.
37
+ * If the response contains a JSON body with a 'message' field, returns that.
38
+ * Otherwise falls back to the response status text.
39
+ * @param response The HTTP response object
40
+ * @returns The error message string in format "statusCode: message"
41
+ */
42
+ async getErrorMessage(response) {
43
+ try {
44
+ const errorBody = await response.text();
45
+ const errorJson = JSON.parse(errorBody);
46
+ if (errorJson.message) {
47
+ return `${response.status}: ${errorJson.message}`;
48
+ }
49
+ }
50
+ catch {
51
+ // If parsing fails, fall back to status text
52
+ }
53
+ return `${response.status}: ${response.statusText}`;
54
+ }
35
55
  /**
36
56
  * Validates and runs the tool logic.
37
57
  */
@@ -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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"}
@@ -0,0 +1,21 @@
1
+ import { BaseTool } from '../BaseTool.js';
2
+ import { AreaInputSchema } from './AreaTool.input.schema.js';
3
+ import { AreaOutputSchema } from './AreaTool.output.schema.js';
4
+ import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
5
+ /**
6
+ * AreaTool - Calculate the area of a polygon or multipolygon
7
+ */
8
+ export declare class AreaTool extends BaseTool<typeof AreaInputSchema, typeof AreaOutputSchema> {
9
+ readonly name = "area_tool";
10
+ readonly description: string;
11
+ readonly annotations: {
12
+ title: string;
13
+ readOnlyHint: boolean;
14
+ destructiveHint: boolean;
15
+ idempotentHint: boolean;
16
+ openWorldHint: boolean;
17
+ };
18
+ constructor();
19
+ run(rawInput: unknown): Promise<CallToolResult>;
20
+ }
21
+ //# sourceMappingURL=AreaTool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AreaTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/area-tool/AreaTool.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAmB,MAAM,6BAA6B,CAAC;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEzE;;GAEG;AACH,qBAAa,QAAS,SAAQ,QAAQ,CACpC,OAAO,eAAe,EACtB,OAAO,gBAAgB,CACxB;IACC,QAAQ,CAAC,IAAI,eAAe;IAC5B,QAAQ,CAAC,WAAW,SAGiB;IAErC,QAAQ,CAAC,WAAW;;;;;;MAMlB;;IASI,GAAG,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;CAkFtD"}
@@ -0,0 +1,19 @@
1
+ import z from 'zod';
2
+ /**
3
+ * Input schema for AreaTool
4
+ */
5
+ export declare const AreaInputSchema: z.ZodObject<{
6
+ geometry: z.ZodUnion<[z.ZodArray<z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">, "many">, z.ZodArray<z.ZodArray<z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">, "many">, "many">]>;
7
+ units: z.ZodDefault<z.ZodOptional<z.ZodEnum<["meters", "kilometers", "feet", "miles", "acres", "hectares"]>>>;
8
+ }, "strip", z.ZodTypeAny, {
9
+ geometry: number[][][] | number[][][][];
10
+ units: "meters" | "kilometers" | "feet" | "miles" | "acres" | "hectares";
11
+ }, {
12
+ geometry: number[][][] | number[][][][];
13
+ units?: "meters" | "kilometers" | "feet" | "miles" | "acres" | "hectares" | undefined;
14
+ }>;
15
+ /**
16
+ * Type inference for AreaInput
17
+ */
18
+ export type AreaInput = z.infer<typeof AreaInputSchema>;
19
+ //# sourceMappingURL=AreaTool.input.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AreaTool.input.schema.d.ts","sourceRoot":"","sources":["../../../../src/tools/area-tool/AreaTool.input.schema.ts"],"names":[],"mappings":"AAGA,OAAO,CAAC,MAAM,KAAK,CAAC;AAOpB;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;EAkB1B,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ // Copyright (c) Mapbox, Inc.
3
+ // Licensed under the MIT License.
4
+ var __importDefault = (this && this.__importDefault) || function (mod) {
5
+ return (mod && mod.__esModule) ? mod : { "default": mod };
6
+ };
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.AreaInputSchema = void 0;
9
+ const zod_1 = __importDefault(require("zod"));
10
+ const CoordinateSchema = zod_1.default
11
+ .array(zod_1.default.number())
12
+ .length(2)
13
+ .describe('Coordinate as [longitude, latitude]');
14
+ /**
15
+ * Input schema for AreaTool
16
+ */
17
+ exports.AreaInputSchema = zod_1.default.object({
18
+ geometry: zod_1.default
19
+ .union([
20
+ // Polygon
21
+ zod_1.default.array(zod_1.default.array(CoordinateSchema)).min(1),
22
+ // MultiPolygon
23
+ zod_1.default.array(zod_1.default.array(zod_1.default.array(CoordinateSchema))).min(1)
24
+ ])
25
+ .describe('Polygon or MultiPolygon coordinates. ' +
26
+ 'Polygon: array of rings (first is outer, rest are holes). ' +
27
+ 'MultiPolygon: array of polygons.'),
28
+ units: zod_1.default
29
+ .enum(['meters', 'kilometers', 'feet', 'miles', 'acres', 'hectares'])
30
+ .optional()
31
+ .default('meters')
32
+ .describe('Unit of measurement for area')
33
+ });
34
+ //# sourceMappingURL=AreaTool.input.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AreaTool.input.schema.js","sourceRoot":"","sources":["../../../../src/tools/area-tool/AreaTool.input.schema.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;;;;AAElC,8CAAoB;AAEpB,MAAM,gBAAgB,GAAG,aAAC;KACvB,KAAK,CAAC,aAAC,CAAC,MAAM,EAAE,CAAC;KACjB,MAAM,CAAC,CAAC,CAAC;KACT,QAAQ,CAAC,qCAAqC,CAAC,CAAC;AAEnD;;GAEG;AACU,QAAA,eAAe,GAAG,aAAC,CAAC,MAAM,CAAC;IACtC,QAAQ,EAAE,aAAC;SACR,KAAK,CAAC;QACL,UAAU;QACV,aAAC,CAAC,KAAK,CAAC,aAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACzC,eAAe;QACf,aAAC,CAAC,KAAK,CAAC,aAAC,CAAC,KAAK,CAAC,aAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;KACnD,CAAC;SACD,QAAQ,CACP,uCAAuC;QACrC,4DAA4D;QAC5D,kCAAkC,CACrC;IACH,KAAK,EAAE,aAAC;SACL,IAAI,CAAC,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;SACpE,QAAQ,EAAE;SACV,OAAO,CAAC,QAAQ,CAAC;SACjB,QAAQ,CAAC,8BAA8B,CAAC;CAC5C,CAAC,CAAC"}
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ // Copyright (c) Mapbox, Inc.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.AreaTool = void 0;
6
+ const turf_1 = require("@turf/turf");
7
+ const api_1 = require("@opentelemetry/api");
8
+ const tracing_js_1 = require("../../utils/tracing.js");
9
+ const BaseTool_js_1 = require("../BaseTool.js");
10
+ const AreaTool_input_schema_js_1 = require("./AreaTool.input.schema.js");
11
+ const AreaTool_output_schema_js_1 = require("./AreaTool.output.schema.js");
12
+ /**
13
+ * AreaTool - Calculate the area of a polygon or multipolygon
14
+ */
15
+ class AreaTool extends BaseTool_js_1.BaseTool {
16
+ name = 'area_tool';
17
+ description = 'Calculate the area of a polygon or multipolygon. ' +
18
+ 'Supports various units including square meters, kilometers, acres, and hectares. ' +
19
+ 'Works offline without API calls.';
20
+ annotations = {
21
+ title: 'Calculate Area',
22
+ readOnlyHint: true,
23
+ destructiveHint: false,
24
+ idempotentHint: true,
25
+ openWorldHint: false
26
+ };
27
+ constructor() {
28
+ super({
29
+ inputSchema: AreaTool_input_schema_js_1.AreaInputSchema,
30
+ outputSchema: AreaTool_output_schema_js_1.AreaOutputSchema
31
+ });
32
+ }
33
+ async run(rawInput) {
34
+ const toolContext = (0, tracing_js_1.createLocalToolExecutionContext)(this.name, 0);
35
+ return await api_1.context.with(api_1.trace.setSpan(api_1.context.active(), toolContext.span), async () => {
36
+ try {
37
+ const input = AreaTool_input_schema_js_1.AreaInputSchema.parse(rawInput);
38
+ // Determine if it's a polygon or multipolygon based on depth
39
+ const isMultiPolygon = Array.isArray(input.geometry[0]) &&
40
+ Array.isArray(input.geometry[0][0]) &&
41
+ Array.isArray(input.geometry[0][0][0]);
42
+ const geom = isMultiPolygon
43
+ ? (0, turf_1.multiPolygon)(input.geometry)
44
+ : (0, turf_1.polygon)(input.geometry);
45
+ // Calculate area in square meters first
46
+ const areaInSquareMeters = (0, turf_1.area)(geom);
47
+ // Convert to requested units
48
+ let area;
49
+ switch (input.units) {
50
+ case 'meters':
51
+ area = areaInSquareMeters;
52
+ break;
53
+ case 'kilometers':
54
+ area = areaInSquareMeters / 1000000;
55
+ break;
56
+ case 'feet':
57
+ area = areaInSquareMeters * 10.7639;
58
+ break;
59
+ case 'miles':
60
+ area = areaInSquareMeters / 2589988.11;
61
+ break;
62
+ case 'acres':
63
+ area = areaInSquareMeters / 4046.86;
64
+ break;
65
+ case 'hectares':
66
+ area = areaInSquareMeters / 10000;
67
+ break;
68
+ default:
69
+ area = areaInSquareMeters;
70
+ }
71
+ const result = {
72
+ area: Math.round(area * 1000) / 1000,
73
+ units: input.units
74
+ };
75
+ const validatedResult = this.validateOutput(result);
76
+ const text = `Area: ${validatedResult.area} square ${validatedResult.units}`;
77
+ toolContext.span.setStatus({ code: api_1.SpanStatusCode.OK });
78
+ toolContext.span.end();
79
+ return {
80
+ content: [{ type: 'text', text }],
81
+ structuredContent: validatedResult,
82
+ isError: false
83
+ };
84
+ }
85
+ catch (error) {
86
+ const errorMessage = error instanceof Error ? error.message : String(error);
87
+ toolContext.span.setStatus({
88
+ code: api_1.SpanStatusCode.ERROR,
89
+ message: errorMessage
90
+ });
91
+ toolContext.span.end();
92
+ this.log('error', `${this.name}: ${errorMessage}`);
93
+ return {
94
+ content: [
95
+ { type: 'text', text: `AreaTool: ${errorMessage}` }
96
+ ],
97
+ isError: true
98
+ };
99
+ }
100
+ });
101
+ }
102
+ }
103
+ exports.AreaTool = AreaTool;
104
+ //# sourceMappingURL=AreaTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AreaTool.js","sourceRoot":"","sources":["../../../../src/tools/area-tool/AreaTool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Output schema for AreaTool
4
+ */
5
+ export declare const AreaOutputSchema: z.ZodObject<{
6
+ area: z.ZodNumber;
7
+ units: z.ZodString;
8
+ }, "strip", z.ZodTypeAny, {
9
+ units: string;
10
+ area: number;
11
+ }, {
12
+ units: string;
13
+ area: number;
14
+ }>;
15
+ /**
16
+ * Type inference for AreaOutput
17
+ */
18
+ export type AreaOutput = z.infer<typeof AreaOutputSchema>;
19
+ //# sourceMappingURL=AreaTool.output.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AreaTool.output.schema.d.ts","sourceRoot":"","sources":["../../../../src/tools/area-tool/AreaTool.output.schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;EAG3B,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ // Copyright (c) Mapbox, Inc.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.AreaOutputSchema = void 0;
6
+ const zod_1 = require("zod");
7
+ /**
8
+ * Output schema for AreaTool
9
+ */
10
+ exports.AreaOutputSchema = zod_1.z.object({
11
+ area: zod_1.z.number().describe('Calculated area'),
12
+ units: zod_1.z.string().describe('Unit of measurement')
13
+ });
14
+ //# sourceMappingURL=AreaTool.output.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AreaTool.output.schema.js","sourceRoot":"","sources":["../../../../src/tools/area-tool/AreaTool.output.schema.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAElC,6BAAwB;AAExB;;GAEG;AACU,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAC5C,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;CAClD,CAAC,CAAC"}