@mapbox/mcp-server 0.6.1 → 0.8.1-dev.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 (226) hide show
  1. package/README.md +147 -23
  2. package/dist/commonjs/config/toolConfig.d.ts +10 -0
  3. package/dist/commonjs/config/toolConfig.d.ts.map +1 -1
  4. package/dist/commonjs/config/toolConfig.js +36 -0
  5. package/dist/commonjs/config/toolConfig.js.map +1 -1
  6. package/dist/commonjs/index.d.ts +1 -1
  7. package/dist/commonjs/index.d.ts.map +1 -1
  8. package/dist/commonjs/index.js +167 -13
  9. package/dist/commonjs/index.js.map +1 -1
  10. package/dist/commonjs/prompts/BasePrompt.d.ts +40 -0
  11. package/dist/commonjs/prompts/BasePrompt.d.ts.map +1 -0
  12. package/dist/commonjs/prompts/BasePrompt.js +38 -0
  13. package/dist/commonjs/prompts/BasePrompt.js.map +1 -0
  14. package/dist/commonjs/prompts/FindPlacesNearbyPrompt.d.ts +22 -0
  15. package/dist/commonjs/prompts/FindPlacesNearbyPrompt.d.ts.map +1 -0
  16. package/dist/commonjs/prompts/FindPlacesNearbyPrompt.js +65 -0
  17. package/dist/commonjs/prompts/FindPlacesNearbyPrompt.js.map +1 -0
  18. package/dist/commonjs/prompts/GetDirectionsPrompt.d.ts +23 -0
  19. package/dist/commonjs/prompts/GetDirectionsPrompt.d.ts.map +1 -0
  20. package/dist/commonjs/prompts/GetDirectionsPrompt.js +67 -0
  21. package/dist/commonjs/prompts/GetDirectionsPrompt.js.map +1 -0
  22. package/dist/commonjs/prompts/ShowReachableAreasPrompt.d.ts +23 -0
  23. package/dist/commonjs/prompts/ShowReachableAreasPrompt.d.ts.map +1 -0
  24. package/dist/commonjs/prompts/ShowReachableAreasPrompt.js +70 -0
  25. package/dist/commonjs/prompts/ShowReachableAreasPrompt.js.map +1 -0
  26. package/dist/commonjs/prompts/promptRegistry.d.ts +29 -0
  27. package/dist/commonjs/prompts/promptRegistry.d.ts.map +1 -0
  28. package/dist/commonjs/prompts/promptRegistry.js +39 -0
  29. package/dist/commonjs/prompts/promptRegistry.js.map +1 -0
  30. package/dist/commonjs/resources/BaseResource.d.ts +28 -0
  31. package/dist/commonjs/resources/BaseResource.d.ts.map +1 -0
  32. package/dist/commonjs/resources/BaseResource.js +32 -0
  33. package/dist/commonjs/resources/BaseResource.js.map +1 -0
  34. package/dist/commonjs/resources/MapboxApiBasedResource.d.ts +35 -0
  35. package/dist/commonjs/resources/MapboxApiBasedResource.d.ts.map +1 -0
  36. package/dist/commonjs/resources/MapboxApiBasedResource.js +88 -0
  37. package/dist/commonjs/resources/MapboxApiBasedResource.js.map +1 -0
  38. package/dist/commonjs/resources/category-list/CategoryListResource.d.ts +27 -0
  39. package/dist/commonjs/resources/category-list/CategoryListResource.d.ts.map +1 -0
  40. package/dist/commonjs/resources/category-list/CategoryListResource.js +71 -0
  41. package/dist/commonjs/resources/category-list/CategoryListResource.js.map +1 -0
  42. package/dist/commonjs/resources/resourceRegistry.d.ts +6 -0
  43. package/dist/commonjs/resources/resourceRegistry.d.ts.map +1 -0
  44. package/dist/commonjs/resources/resourceRegistry.js +32 -0
  45. package/dist/commonjs/resources/resourceRegistry.js.map +1 -0
  46. package/dist/commonjs/tools/BaseTool.d.ts +7 -0
  47. package/dist/commonjs/tools/BaseTool.d.ts.map +1 -1
  48. package/dist/commonjs/tools/BaseTool.js +19 -0
  49. package/dist/commonjs/tools/BaseTool.js.map +1 -1
  50. package/dist/commonjs/tools/MapboxApiBasedTool.d.ts.map +1 -1
  51. package/dist/commonjs/tools/MapboxApiBasedTool.js +1 -1
  52. package/dist/commonjs/tools/MapboxApiBasedTool.js.map +1 -1
  53. package/dist/commonjs/tools/category-list-tool/CategoryListTool.d.ts.map +1 -1
  54. package/dist/commonjs/tools/category-list-tool/CategoryListTool.js +2 -2
  55. package/dist/commonjs/tools/category-list-tool/CategoryListTool.js.map +1 -1
  56. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.d.ts.map +1 -1
  57. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.input.schema.d.ts +4 -10
  58. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.input.schema.d.ts.map +1 -1
  59. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.input.schema.js +5 -43
  60. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.input.schema.js.map +1 -1
  61. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.js +2 -7
  62. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.js.map +1 -1
  63. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.d.ts +204 -204
  64. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.d.ts.map +1 -1
  65. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.js +2 -1
  66. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.js.map +1 -1
  67. package/dist/commonjs/tools/directions-tool/DirectionsTool.output.schema.d.ts +66 -66
  68. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.output.schema.d.ts +28 -28
  69. package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.d.ts +28 -0
  70. package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.d.ts.map +1 -0
  71. package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.input.schema.d.ts +10 -0
  72. package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.input.schema.d.ts.map +1 -0
  73. package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.input.schema.js +13 -0
  74. package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.input.schema.js.map +1 -0
  75. package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.js +141 -0
  76. package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.js.map +1 -0
  77. package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.output.schema.d.ts +19 -0
  78. package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.output.schema.d.ts.map +1 -0
  79. package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.output.schema.js +13 -0
  80. package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.output.schema.js.map +1 -0
  81. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.d.ts +1 -1
  82. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.d.ts +538 -538
  83. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts.map +1 -1
  84. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.d.ts +17 -17
  85. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.d.ts.map +1 -1
  86. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.js +6 -30
  87. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.js.map +1 -1
  88. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.js +2 -11
  89. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.js.map +1 -1
  90. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.d.ts +1514 -623
  91. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.d.ts.map +1 -1
  92. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.js +9 -4
  93. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.js.map +1 -1
  94. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -1
  95. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.input.schema.d.ts +8 -8
  96. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js +26 -7
  97. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -1
  98. package/dist/commonjs/tools/toolRegistry.d.ts +2 -1
  99. package/dist/commonjs/tools/toolRegistry.d.ts.map +1 -1
  100. package/dist/commonjs/tools/toolRegistry.js +2 -0
  101. package/dist/commonjs/tools/toolRegistry.js.map +1 -1
  102. package/dist/commonjs/tools/version-tool/VersionTool.d.ts.map +1 -1
  103. package/dist/commonjs/tools/version-tool/VersionTool.js +7 -7
  104. package/dist/commonjs/tools/version-tool/VersionTool.js.map +1 -1
  105. package/dist/commonjs/utils/httpPipeline.d.ts +5 -0
  106. package/dist/commonjs/utils/httpPipeline.d.ts.map +1 -1
  107. package/dist/commonjs/utils/httpPipeline.js +46 -1
  108. package/dist/commonjs/utils/httpPipeline.js.map +1 -1
  109. package/dist/commonjs/utils/tracing.d.ts.map +1 -1
  110. package/dist/commonjs/utils/tracing.js +17 -0
  111. package/dist/commonjs/utils/tracing.js.map +1 -1
  112. package/dist/commonjs/version.json +4 -4
  113. package/dist/esm/config/toolConfig.d.ts +10 -0
  114. package/dist/esm/config/toolConfig.d.ts.map +1 -1
  115. package/dist/esm/config/toolConfig.js +35 -0
  116. package/dist/esm/config/toolConfig.js.map +1 -1
  117. package/dist/esm/index.d.ts +1 -1
  118. package/dist/esm/index.d.ts.map +1 -1
  119. package/dist/esm/index.js +168 -14
  120. package/dist/esm/index.js.map +1 -1
  121. package/dist/esm/prompts/BasePrompt.d.ts +40 -0
  122. package/dist/esm/prompts/BasePrompt.d.ts.map +1 -0
  123. package/dist/esm/prompts/BasePrompt.js +34 -0
  124. package/dist/esm/prompts/BasePrompt.js.map +1 -0
  125. package/dist/esm/prompts/FindPlacesNearbyPrompt.d.ts +22 -0
  126. package/dist/esm/prompts/FindPlacesNearbyPrompt.d.ts.map +1 -0
  127. package/dist/esm/prompts/FindPlacesNearbyPrompt.js +61 -0
  128. package/dist/esm/prompts/FindPlacesNearbyPrompt.js.map +1 -0
  129. package/dist/esm/prompts/GetDirectionsPrompt.d.ts +23 -0
  130. package/dist/esm/prompts/GetDirectionsPrompt.d.ts.map +1 -0
  131. package/dist/esm/prompts/GetDirectionsPrompt.js +63 -0
  132. package/dist/esm/prompts/GetDirectionsPrompt.js.map +1 -0
  133. package/dist/esm/prompts/ShowReachableAreasPrompt.d.ts +23 -0
  134. package/dist/esm/prompts/ShowReachableAreasPrompt.d.ts.map +1 -0
  135. package/dist/esm/prompts/ShowReachableAreasPrompt.js +66 -0
  136. package/dist/esm/prompts/ShowReachableAreasPrompt.js.map +1 -0
  137. package/dist/esm/prompts/promptRegistry.d.ts +29 -0
  138. package/dist/esm/prompts/promptRegistry.d.ts.map +1 -0
  139. package/dist/esm/prompts/promptRegistry.js +35 -0
  140. package/dist/esm/prompts/promptRegistry.js.map +1 -0
  141. package/dist/esm/resources/BaseResource.d.ts +28 -0
  142. package/dist/esm/resources/BaseResource.d.ts.map +1 -0
  143. package/dist/esm/resources/BaseResource.js +28 -0
  144. package/dist/esm/resources/BaseResource.js.map +1 -0
  145. package/dist/esm/resources/MapboxApiBasedResource.d.ts +35 -0
  146. package/dist/esm/resources/MapboxApiBasedResource.d.ts.map +1 -0
  147. package/dist/esm/resources/MapboxApiBasedResource.js +84 -0
  148. package/dist/esm/resources/MapboxApiBasedResource.js.map +1 -0
  149. package/dist/esm/resources/category-list/CategoryListResource.d.ts +27 -0
  150. package/dist/esm/resources/category-list/CategoryListResource.d.ts.map +1 -0
  151. package/dist/esm/resources/category-list/CategoryListResource.js +67 -0
  152. package/dist/esm/resources/category-list/CategoryListResource.js.map +1 -0
  153. package/dist/esm/resources/resourceRegistry.d.ts +6 -0
  154. package/dist/esm/resources/resourceRegistry.d.ts.map +1 -0
  155. package/dist/esm/resources/resourceRegistry.js +27 -0
  156. package/dist/esm/resources/resourceRegistry.js.map +1 -0
  157. package/dist/esm/tools/BaseTool.d.ts +7 -0
  158. package/dist/esm/tools/BaseTool.d.ts.map +1 -1
  159. package/dist/esm/tools/BaseTool.js +19 -0
  160. package/dist/esm/tools/BaseTool.js.map +1 -1
  161. package/dist/esm/tools/MapboxApiBasedTool.d.ts.map +1 -1
  162. package/dist/esm/tools/MapboxApiBasedTool.js +1 -1
  163. package/dist/esm/tools/MapboxApiBasedTool.js.map +1 -1
  164. package/dist/esm/tools/category-list-tool/CategoryListTool.d.ts.map +1 -1
  165. package/dist/esm/tools/category-list-tool/CategoryListTool.js +2 -2
  166. package/dist/esm/tools/category-list-tool/CategoryListTool.js.map +1 -1
  167. package/dist/esm/tools/category-search-tool/CategorySearchTool.d.ts.map +1 -1
  168. package/dist/esm/tools/category-search-tool/CategorySearchTool.input.schema.d.ts +4 -10
  169. package/dist/esm/tools/category-search-tool/CategorySearchTool.input.schema.d.ts.map +1 -1
  170. package/dist/esm/tools/category-search-tool/CategorySearchTool.input.schema.js +5 -43
  171. package/dist/esm/tools/category-search-tool/CategorySearchTool.input.schema.js.map +1 -1
  172. package/dist/esm/tools/category-search-tool/CategorySearchTool.js +2 -7
  173. package/dist/esm/tools/category-search-tool/CategorySearchTool.js.map +1 -1
  174. package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.d.ts +204 -204
  175. package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.d.ts.map +1 -1
  176. package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.js +2 -1
  177. package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.js.map +1 -1
  178. package/dist/esm/tools/directions-tool/DirectionsTool.output.schema.d.ts +66 -66
  179. package/dist/esm/tools/isochrone-tool/IsochroneTool.output.schema.d.ts +28 -28
  180. package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.d.ts +28 -0
  181. package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.d.ts.map +1 -0
  182. package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.input.schema.d.ts +10 -0
  183. package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.input.schema.d.ts.map +1 -0
  184. package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.input.schema.js +10 -0
  185. package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.input.schema.js.map +1 -0
  186. package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.js +137 -0
  187. package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.js.map +1 -0
  188. package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.output.schema.d.ts +19 -0
  189. package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.output.schema.d.ts.map +1 -0
  190. package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.output.schema.js +10 -0
  191. package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.output.schema.js.map +1 -0
  192. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.d.ts +1 -1
  193. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.d.ts +538 -538
  194. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts.map +1 -1
  195. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.d.ts +17 -17
  196. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.d.ts.map +1 -1
  197. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.js +6 -30
  198. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.js.map +1 -1
  199. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.js +2 -11
  200. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.js.map +1 -1
  201. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.d.ts +1514 -623
  202. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.d.ts.map +1 -1
  203. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.js +9 -4
  204. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.js.map +1 -1
  205. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -1
  206. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.input.schema.d.ts +8 -8
  207. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.js +26 -7
  208. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -1
  209. package/dist/esm/tools/toolRegistry.d.ts +2 -1
  210. package/dist/esm/tools/toolRegistry.d.ts.map +1 -1
  211. package/dist/esm/tools/toolRegistry.js +2 -0
  212. package/dist/esm/tools/toolRegistry.js.map +1 -1
  213. package/dist/esm/tools/version-tool/VersionTool.d.ts.map +1 -1
  214. package/dist/esm/tools/version-tool/VersionTool.js +7 -7
  215. package/dist/esm/tools/version-tool/VersionTool.js.map +1 -1
  216. package/dist/esm/utils/httpPipeline.d.ts +5 -0
  217. package/dist/esm/utils/httpPipeline.d.ts.map +1 -1
  218. package/dist/esm/utils/httpPipeline.js +44 -0
  219. package/dist/esm/utils/httpPipeline.js.map +1 -1
  220. package/dist/esm/utils/tracing.d.ts.map +1 -1
  221. package/dist/esm/utils/tracing.js +18 -1
  222. package/dist/esm/utils/tracing.js.map +1 -1
  223. package/dist/esm/version.json +4 -4
  224. package/package.json +10 -12
  225. package/patches/@modelcontextprotocol+sdk+1.21.1.patch +54 -0
  226. package/patches/README.md +41 -0
@@ -1 +1 @@
1
- {"version":3,"file":"toolConfig.js","sourceRoot":"","sources":["../../../src/config/toolConfig.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AASlC,MAAM,UAAU,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,MAAM,UAAU,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":"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"}
@@ -1,2 +1,2 @@
1
- import 'dotenv/config';
1
+ export {};
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAaA,OAAO,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":""}
package/dist/esm/index.js CHANGED
@@ -1,50 +1,186 @@
1
1
  #!/usr/bin/env node
2
2
  // Copyright (c) Mapbox, Inc.
3
3
  // Licensed under the MIT License.
4
+ // Load environment variables from .env file if present
5
+ // Use Node.js built-in util.parseEnv() and manually apply to override existing vars
6
+ import { parseEnv } from 'node:util';
7
+ import { readFileSync } from 'node:fs';
8
+ import { join } from 'node:path';
9
+ import { existsSync } from 'node:fs';
10
+ import { SpanStatusCode } from '@opentelemetry/api';
4
11
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
12
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
13
+ import { ListPromptsRequestSchema, GetPromptRequestSchema } from '@modelcontextprotocol/sdk/types.js';
6
14
  import { parseToolConfigFromArgs, filterTools } from './config/toolConfig.js';
7
15
  import { getAllTools } from './tools/toolRegistry.js';
16
+ import { getAllResources } from './resources/resourceRegistry.js';
17
+ import { getAllPrompts, getPromptByName } from './prompts/promptRegistry.js';
8
18
  import { getVersionInfo } from './utils/versionUtils.js';
9
- import { initializeTracing, shutdownTracing, isTracingInitialized } from './utils/tracing.js';
10
- import 'dotenv/config';
19
+ import { initializeTracing, shutdownTracing, isTracingInitialized, getTracer } from './utils/tracing.js';
20
+ // Load .env from current working directory (where npm run is executed)
21
+ // This happens before tracing is initialized, but we'll add a span when tracing is ready
22
+ const envPath = join(process.cwd(), '.env');
23
+ let envLoadError = null;
24
+ let envLoadedCount = 0;
25
+ if (existsSync(envPath)) {
26
+ try {
27
+ // Read and parse .env file using Node.js built-in parseEnv
28
+ const envFile = readFileSync(envPath, 'utf-8');
29
+ const parsed = parseEnv(envFile);
30
+ // Apply parsed values to process.env (with override)
31
+ // Note: process.loadEnvFile() doesn't override, so we use parseEnv + manual assignment
32
+ for (const [key, value] of Object.entries(parsed)) {
33
+ process.env[key] = value;
34
+ envLoadedCount++;
35
+ }
36
+ }
37
+ catch (error) {
38
+ envLoadError = error instanceof Error ? error : new Error(String(error));
39
+ }
40
+ }
11
41
  const versionInfo = getVersionInfo();
12
42
  // Parse configuration from command-line arguments
13
43
  const config = parseToolConfigFromArgs();
14
44
  // Get and filter tools based on configuration
15
45
  const allTools = getAllTools();
16
46
  const enabledTools = filterTools(allTools, config);
47
+ // Get all resources
48
+ const allResources = getAllResources();
17
49
  // Create an MCP server
18
50
  const server = new McpServer({
19
51
  name: versionInfo.name,
20
52
  version: versionInfo.version
21
53
  }, {
22
54
  capabilities: {
23
- tools: {}
55
+ tools: {},
56
+ resources: {},
57
+ prompts: {}
24
58
  }
25
59
  });
26
60
  // Register enabled tools to the server
27
61
  enabledTools.forEach((tool) => {
28
62
  tool.installTo(server);
29
63
  });
30
- // MCP-compatible logging functions
31
- // Completely suppress logging when MCP_DISABLE_LOGGING is set (for MCP inspector compatibility)
32
- function logIfEnabled(level, ...args) {
33
- if (!process.env.MCP_DISABLE_LOGGING) {
34
- console[level](...args);
64
+ // Register all resources to the server
65
+ allResources.forEach((resource) => {
66
+ resource.installTo(server);
67
+ });
68
+ // Register prompt handlers
69
+ server.server.setRequestHandler(ListPromptsRequestSchema, async () => {
70
+ const allPrompts = getAllPrompts();
71
+ return {
72
+ prompts: allPrompts.map((prompt) => prompt.getMetadata())
73
+ };
74
+ });
75
+ server.server.setRequestHandler(GetPromptRequestSchema, async (request) => {
76
+ const { name, arguments: args } = request.params;
77
+ const prompt = getPromptByName(name);
78
+ if (!prompt) {
79
+ throw new Error(`Prompt not found: ${name}`);
35
80
  }
36
- }
81
+ // Convert args to object for easier access
82
+ const argsObj = {};
83
+ if (args && typeof args === 'object') {
84
+ Object.assign(argsObj, args);
85
+ }
86
+ // Get the prompt messages with filled-in arguments
87
+ const messages = prompt.getMessages(argsObj);
88
+ return {
89
+ description: prompt.description,
90
+ messages
91
+ };
92
+ });
37
93
  async function main() {
38
94
  // Initialize OpenTelemetry tracing if not in test mode
95
+ let tracingInitialized = false;
39
96
  if (process.env.NODE_ENV !== 'test' && !process.env.VITEST) {
40
97
  try {
41
98
  await initializeTracing();
42
- logIfEnabled('log', `OpenTelemetry tracing: ${isTracingInitialized() ? 'enabled' : 'disabled'}`);
99
+ tracingInitialized = isTracingInitialized();
100
+ // Record .env loading as a span (retrospectively since it happened before tracing init)
101
+ if (tracingInitialized) {
102
+ const tracer = getTracer();
103
+ const span = tracer.startSpan('config.load_env', {
104
+ attributes: {
105
+ 'config.file.path': envPath,
106
+ 'config.file.exists': existsSync(envPath),
107
+ 'config.vars.loaded': envLoadedCount,
108
+ 'operation.type': 'config_load'
109
+ }
110
+ });
111
+ if (envLoadError) {
112
+ span.recordException(envLoadError);
113
+ span.setStatus({
114
+ code: SpanStatusCode.ERROR,
115
+ message: envLoadError.message
116
+ });
117
+ span.setAttribute('error.type', envLoadError.name);
118
+ span.setAttribute('error.message', envLoadError.message);
119
+ }
120
+ else if (envLoadedCount > 0) {
121
+ span.setStatus({ code: SpanStatusCode.OK });
122
+ span.setAttribute('config.load.success', true);
123
+ }
124
+ else {
125
+ // No error, but no variables loaded either (file might be empty or not exist)
126
+ span.setStatus({ code: SpanStatusCode.OK });
127
+ span.setAttribute('config.load.success', true);
128
+ span.setAttribute('config.load.empty', true);
129
+ }
130
+ span.end();
131
+ }
43
132
  }
44
133
  catch (error) {
45
- logIfEnabled('warn', 'Failed to initialize tracing:', error);
134
+ // Tracing initialization failed, log it but continue without tracing
135
+ server.server.sendLoggingMessage({
136
+ level: 'warning',
137
+ data: `Failed to initialize tracing: ${error instanceof Error ? error.message : String(error)}`
138
+ });
46
139
  }
47
140
  }
141
+ // Log tracing status and configuration
142
+ if (tracingInitialized) {
143
+ const tracingConfig = {
144
+ status: 'enabled',
145
+ endpoint: process.env.OTEL_EXPORTER_OTLP_ENDPOINT || 'not set',
146
+ serviceName: process.env.OTEL_SERVICE_NAME || 'mapbox-mcp-server (default)'
147
+ };
148
+ server.server.sendLoggingMessage({
149
+ level: 'info',
150
+ data: `OpenTelemetry tracing enabled - Endpoint: ${tracingConfig.endpoint}, Service: ${tracingConfig.serviceName}`
151
+ });
152
+ }
153
+ else {
154
+ server.server.sendLoggingMessage({
155
+ level: 'info',
156
+ data: 'OpenTelemetry tracing: disabled'
157
+ });
158
+ }
159
+ // Send MCP logging message about environment variables
160
+ if (envLoadError) {
161
+ server.server.sendLoggingMessage({
162
+ level: 'warning',
163
+ data: `Warning loading .env file: ${envLoadError.message}`
164
+ });
165
+ }
166
+ else if (envLoadedCount > 0) {
167
+ server.server.sendLoggingMessage({
168
+ level: 'info',
169
+ data: `Loaded ${envLoadedCount} environment variables from ${envPath}`
170
+ });
171
+ }
172
+ const relevantEnvVars = Object.freeze({
173
+ MAPBOX_ACCESS_TOKEN: process.env.MAPBOX_ACCESS_TOKEN ? '***' : undefined,
174
+ MAPBOX_API_ENDPOINT: process.env.MAPBOX_API_ENDPOINT,
175
+ OTEL_SERVICE_NAME: process.env.OTEL_SERVICE_NAME,
176
+ OTEL_EXPORTER_OTLP_ENDPOINT: process.env.OTEL_EXPORTER_OTLP_ENDPOINT,
177
+ OTEL_TRACING_ENABLED: process.env.OTEL_TRACING_ENABLED,
178
+ NODE_ENV: process.env.NODE_ENV
179
+ });
180
+ server.server.sendLoggingMessage({
181
+ level: 'debug',
182
+ data: JSON.stringify(relevantEnvVars, null, 2)
183
+ });
48
184
  // Start receiving messages on stdin and sending messages on stdout
49
185
  const transport = new StdioServerTransport();
50
186
  await server.connect(transport);
@@ -55,13 +191,31 @@ async function shutdown() {
55
191
  try {
56
192
  await shutdownTracing();
57
193
  }
58
- catch (e) {
59
- logIfEnabled('error', 'Error shutting down tracing:', e);
194
+ catch (error) {
195
+ // Tracing shutdown failed, log via MCP if server is available
196
+ try {
197
+ server.server.sendLoggingMessage({
198
+ level: 'error',
199
+ data: `Error shutting down tracing: ${error instanceof Error ? error.message : String(error)}`
200
+ });
201
+ }
202
+ catch {
203
+ // Server not available, ignore
204
+ }
60
205
  }
61
206
  process.exit(0);
62
207
  }
63
208
  function exitWithLog(message, error, code = 1) {
64
- logIfEnabled('error', message, error);
209
+ // Log error via MCP server if available
210
+ try {
211
+ server.server.sendLoggingMessage({
212
+ level: 'error',
213
+ data: `${message}: ${error instanceof Error ? error.message : String(error)}`
214
+ });
215
+ }
216
+ catch {
217
+ // Server not available, ignore
218
+ }
65
219
  process.exit(code);
66
220
  }
67
221
  ['SIGINT', 'SIGTERM'].forEach((signal) => {
@@ -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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"}
@@ -0,0 +1,40 @@
1
+ import { type Prompt, type PromptArgument, type PromptMessage } from '@modelcontextprotocol/sdk/types.js';
2
+ /**
3
+ * Base class for all MCP prompts.
4
+ *
5
+ * Prompts are pre-built, parameterized workflows that guide multi-step geospatial tasks.
6
+ * They capture domain expertise and best practices for common use cases.
7
+ */
8
+ export declare abstract class BasePrompt {
9
+ /**
10
+ * Unique identifier for this prompt (e.g., "find-places-nearby")
11
+ */
12
+ abstract readonly name: string;
13
+ /**
14
+ * Human-readable description of what this prompt does
15
+ */
16
+ abstract readonly description: string;
17
+ /**
18
+ * Arguments this prompt accepts
19
+ */
20
+ abstract readonly arguments: PromptArgument[];
21
+ /**
22
+ * Get the prompt metadata for listing
23
+ */
24
+ getMetadata(): Prompt;
25
+ /**
26
+ * Generate the prompt messages with filled-in arguments
27
+ *
28
+ * @param args - The argument values provided by the user/agent
29
+ * @returns Array of messages to send to the LLM
30
+ */
31
+ abstract getMessages(args: Record<string, string>): PromptMessage[];
32
+ /**
33
+ * Validate that all required arguments are provided
34
+ *
35
+ * @param args - The argument values to validate
36
+ * @throws Error if required arguments are missing
37
+ */
38
+ protected validateArguments(args: Record<string, string>): void;
39
+ }
40
+ //# sourceMappingURL=BasePrompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BasePrompt.d.ts","sourceRoot":"","sources":["../../../src/prompts/BasePrompt.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,MAAM,EACX,KAAK,cAAc,EACnB,KAAK,aAAa,EACnB,MAAM,oCAAoC,CAAC;AAE5C;;;;;GAKG;AACH,8BAAsB,UAAU;IAC9B;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAEtC;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,cAAc,EAAE,CAAC;IAE9C;;OAEG;IACH,WAAW,IAAI,MAAM;IAQrB;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,aAAa,EAAE;IAEnE;;;;;OAKG;IACH,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;CAOhE"}
@@ -0,0 +1,34 @@
1
+ // Copyright (c) Mapbox, Inc.
2
+ // Licensed under the MIT License.
3
+ /**
4
+ * Base class for all MCP prompts.
5
+ *
6
+ * Prompts are pre-built, parameterized workflows that guide multi-step geospatial tasks.
7
+ * They capture domain expertise and best practices for common use cases.
8
+ */
9
+ export class BasePrompt {
10
+ /**
11
+ * Get the prompt metadata for listing
12
+ */
13
+ getMetadata() {
14
+ return {
15
+ name: this.name,
16
+ description: this.description,
17
+ arguments: this.arguments
18
+ };
19
+ }
20
+ /**
21
+ * Validate that all required arguments are provided
22
+ *
23
+ * @param args - The argument values to validate
24
+ * @throws Error if required arguments are missing
25
+ */
26
+ validateArguments(args) {
27
+ for (const arg of this.arguments) {
28
+ if (arg.required && !args[arg.name]) {
29
+ throw new Error(`Missing required argument: ${arg.name}`);
30
+ }
31
+ }
32
+ }
33
+ }
34
+ //# sourceMappingURL=BasePrompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BasePrompt.js","sourceRoot":"","sources":["../../../src/prompts/BasePrompt.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AAQlC;;;;;GAKG;AACH,MAAM,OAAgB,UAAU;IAgB9B;;OAEG;IACH,WAAW;QACT,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;IACJ,CAAC;IAUD;;;;;OAKG;IACO,iBAAiB,CAAC,IAA4B;QACtD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjC,IAAI,GAAG,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,22 @@
1
+ import { BasePrompt } from './BasePrompt.js';
2
+ import type { PromptArgument, PromptMessage } from '@modelcontextprotocol/sdk/types.js';
3
+ /**
4
+ * Prompt for finding places near a location with optional map visualization.
5
+ *
6
+ * This prompt guides the agent through:
7
+ * 1. Geocoding the location (if needed)
8
+ * 2. Searching for places by category
9
+ * 3. Formatting results with map visualization
10
+ *
11
+ * Example queries:
12
+ * - "Find coffee shops near downtown Seattle"
13
+ * - "Show me restaurants near 123 Main St"
14
+ * - "What museums are near the Eiffel Tower?"
15
+ */
16
+ export declare class FindPlacesNearbyPrompt extends BasePrompt {
17
+ readonly name = "find-places-nearby";
18
+ readonly description = "Helps you search for specific types of places near a location with optional map visualization";
19
+ readonly arguments: PromptArgument[];
20
+ getMessages(args: Record<string, string>): PromptMessage[];
21
+ }
22
+ //# sourceMappingURL=FindPlacesNearbyPrompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FindPlacesNearbyPrompt.d.ts","sourceRoot":"","sources":["../../../src/prompts/FindPlacesNearbyPrompt.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACd,MAAM,oCAAoC,CAAC;AAE5C;;;;;;;;;;;;GAYG;AACH,qBAAa,sBAAuB,SAAQ,UAAU;IACpD,QAAQ,CAAC,IAAI,wBAAwB;IACrC,QAAQ,CAAC,WAAW,mGAC8E;IAElG,QAAQ,CAAC,SAAS,EAAE,cAAc,EAAE,CAkBlC;IAEF,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,aAAa,EAAE;CAyB3D"}
@@ -0,0 +1,61 @@
1
+ // Copyright (c) Mapbox, Inc.
2
+ // Licensed under the MIT License.
3
+ import { BasePrompt } from './BasePrompt.js';
4
+ /**
5
+ * Prompt for finding places near a location with optional map visualization.
6
+ *
7
+ * This prompt guides the agent through:
8
+ * 1. Geocoding the location (if needed)
9
+ * 2. Searching for places by category
10
+ * 3. Formatting results with map visualization
11
+ *
12
+ * Example queries:
13
+ * - "Find coffee shops near downtown Seattle"
14
+ * - "Show me restaurants near 123 Main St"
15
+ * - "What museums are near the Eiffel Tower?"
16
+ */
17
+ export class FindPlacesNearbyPrompt extends BasePrompt {
18
+ name = 'find-places-nearby';
19
+ description = 'Helps you search for specific types of places near a location with optional map visualization';
20
+ arguments = [
21
+ {
22
+ name: 'location',
23
+ description: 'The location to search near (address, place name, or coordinates)',
24
+ required: true
25
+ },
26
+ {
27
+ name: 'category',
28
+ description: 'Type of place to search for (e.g., "coffee shops", "restaurants", "museums")',
29
+ required: false
30
+ },
31
+ {
32
+ name: 'radius',
33
+ description: 'Search radius in meters (default: 1000)',
34
+ required: false
35
+ }
36
+ ];
37
+ getMessages(args) {
38
+ this.validateArguments(args);
39
+ const { location, category, radius } = args;
40
+ const radiusText = radius ? ` within ${radius} meters` : '';
41
+ const categoryText = category || 'places';
42
+ return [
43
+ {
44
+ role: 'user',
45
+ content: {
46
+ type: 'text',
47
+ text: `Find ${categoryText} near ${location}${radiusText}.
48
+
49
+ Please follow these steps:
50
+ 1. If the location is not in coordinate format, geocode it first using search_and_geocode_tool
51
+ 2. Use category_search_tool or search_tool to find ${categoryText} near the location
52
+ 3. Display the results on a map showing the location and the found places
53
+ 4. Provide a summary of the top results with key details (name, address, distance)
54
+
55
+ Make the output clear and actionable.`
56
+ }
57
+ }
58
+ ];
59
+ }
60
+ }
61
+ //# sourceMappingURL=FindPlacesNearbyPrompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FindPlacesNearbyPrompt.js","sourceRoot":"","sources":["../../../src/prompts/FindPlacesNearbyPrompt.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AAElC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAM7C;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,sBAAuB,SAAQ,UAAU;IAC3C,IAAI,GAAG,oBAAoB,CAAC;IAC5B,WAAW,GAClB,+FAA+F,CAAC;IAEzF,SAAS,GAAqB;QACrC;YACE,IAAI,EAAE,UAAU;YAChB,WAAW,EACT,mEAAmE;YACrE,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,UAAU;YAChB,WAAW,EACT,8EAA8E;YAChF,QAAQ,EAAE,KAAK;SAChB;QACD;YACE,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,yCAAyC;YACtD,QAAQ,EAAE,KAAK;SAChB;KACF,CAAC;IAEF,WAAW,CAAC,IAA4B;QACtC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAE7B,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAC5C,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,MAAM,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,MAAM,YAAY,GAAG,QAAQ,IAAI,QAAQ,CAAC;QAE1C,OAAO;YACL;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,QAAQ,YAAY,SAAS,QAAQ,GAAG,UAAU;;;;qDAIb,YAAY;;;;sCAI3B;iBAC7B;aACF;SACF,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,23 @@
1
+ import { BasePrompt } from './BasePrompt.js';
2
+ import type { PromptArgument, PromptMessage } from '@modelcontextprotocol/sdk/types.js';
3
+ /**
4
+ * Prompt for getting turn-by-turn directions between two locations.
5
+ *
6
+ * This prompt guides the agent through:
7
+ * 1. Geocoding start and end locations (if needed)
8
+ * 2. Getting directions via the appropriate routing profile
9
+ * 3. Visualizing the route on a map
10
+ * 4. Providing clear turn-by-turn instructions
11
+ *
12
+ * Example queries:
13
+ * - "Get directions from my office to the airport"
14
+ * - "How do I drive from Seattle to Portland?"
15
+ * - "Walking directions from here to the museum"
16
+ */
17
+ export declare class GetDirectionsPrompt extends BasePrompt {
18
+ readonly name = "get-directions";
19
+ readonly description = "Provides turn-by-turn directions between two locations with options for different travel modes";
20
+ readonly arguments: PromptArgument[];
21
+ getMessages(args: Record<string, string>): PromptMessage[];
22
+ }
23
+ //# sourceMappingURL=GetDirectionsPrompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetDirectionsPrompt.d.ts","sourceRoot":"","sources":["../../../src/prompts/GetDirectionsPrompt.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACd,MAAM,oCAAoC,CAAC;AAE5C;;;;;;;;;;;;;GAaG;AACH,qBAAa,mBAAoB,SAAQ,UAAU;IACjD,QAAQ,CAAC,IAAI,oBAAoB;IACjC,QAAQ,CAAC,WAAW,oGAC+E;IAEnG,QAAQ,CAAC,SAAS,EAAE,cAAc,EAAE,CAiBlC;IAEF,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,aAAa,EAAE;CA0B3D"}
@@ -0,0 +1,63 @@
1
+ // Copyright (c) Mapbox, Inc.
2
+ // Licensed under the MIT License.
3
+ import { BasePrompt } from './BasePrompt.js';
4
+ /**
5
+ * Prompt for getting turn-by-turn directions between two locations.
6
+ *
7
+ * This prompt guides the agent through:
8
+ * 1. Geocoding start and end locations (if needed)
9
+ * 2. Getting directions via the appropriate routing profile
10
+ * 3. Visualizing the route on a map
11
+ * 4. Providing clear turn-by-turn instructions
12
+ *
13
+ * Example queries:
14
+ * - "Get directions from my office to the airport"
15
+ * - "How do I drive from Seattle to Portland?"
16
+ * - "Walking directions from here to the museum"
17
+ */
18
+ export class GetDirectionsPrompt extends BasePrompt {
19
+ name = 'get-directions';
20
+ description = 'Provides turn-by-turn directions between two locations with options for different travel modes';
21
+ arguments = [
22
+ {
23
+ name: 'from',
24
+ description: 'Starting location (address, place name, or coordinates)',
25
+ required: true
26
+ },
27
+ {
28
+ name: 'to',
29
+ description: 'Destination location (address, place name, or coordinates)',
30
+ required: true
31
+ },
32
+ {
33
+ name: 'mode',
34
+ description: 'Travel mode: driving, walking, or cycling (default: driving)',
35
+ required: false
36
+ }
37
+ ];
38
+ getMessages(args) {
39
+ this.validateArguments(args);
40
+ const { from, to, mode = 'driving' } = args;
41
+ return [
42
+ {
43
+ role: 'user',
44
+ content: {
45
+ type: 'text',
46
+ text: `Get ${mode} directions from ${from} to ${to}.
47
+
48
+ Please follow these steps:
49
+ 1. Geocode both the starting point and destination if they're not in coordinate format
50
+ 2. Use directions_tool to get the route with profile set to ${mode}
51
+ 3. Display the route on a map with clear start and end markers
52
+ 4. Provide:
53
+ - Total distance and estimated travel time
54
+ - Turn-by-turn directions (summarized if very long)
55
+ - Any notable features along the route (tolls, ferries, etc.)
56
+
57
+ Format the output to be clear and easy to follow.`
58
+ }
59
+ }
60
+ ];
61
+ }
62
+ }
63
+ //# sourceMappingURL=GetDirectionsPrompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetDirectionsPrompt.js","sourceRoot":"","sources":["../../../src/prompts/GetDirectionsPrompt.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AAElC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAM7C;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,mBAAoB,SAAQ,UAAU;IACxC,IAAI,GAAG,gBAAgB,CAAC;IACxB,WAAW,GAClB,gGAAgG,CAAC;IAE1F,SAAS,GAAqB;QACrC;YACE,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,yDAAyD;YACtE,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,IAAI;YACV,WAAW,EAAE,4DAA4D;YACzE,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,MAAM;YACZ,WAAW,EACT,8DAA8D;YAChE,QAAQ,EAAE,KAAK;SAChB;KACF,CAAC;IAEF,WAAW,CAAC,IAA4B;QACtC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAE7B,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC;QAE5C,OAAO;YACL;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,OAAO,IAAI,oBAAoB,IAAI,OAAO,EAAE;;;;8DAIE,IAAI;;;;;;;kDAOhB;iBACzC;aACF;SACF,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,23 @@
1
+ import { BasePrompt } from './BasePrompt.js';
2
+ import type { PromptArgument, PromptMessage } from '@modelcontextprotocol/sdk/types.js';
3
+ /**
4
+ * Prompt for visualizing areas reachable within a specified time from a location.
5
+ *
6
+ * This prompt guides the agent through:
7
+ * 1. Geocoding the starting location (if needed)
8
+ * 2. Calculating isochrones for the specified travel time
9
+ * 3. Visualizing the reachable areas on a map
10
+ * 4. Providing context about what the isochrone represents
11
+ *
12
+ * Example queries:
13
+ * - "Show me areas I can reach in 15 minutes from downtown"
14
+ * - "What's the 30-minute driving range from our warehouse?"
15
+ * - "Display my 10-minute walk radius from home"
16
+ */
17
+ export declare class ShowReachableAreasPrompt extends BasePrompt {
18
+ readonly name = "show-reachable-areas";
19
+ readonly description = "Visualizes areas that can be reached from a location within a specified time using isochrones";
20
+ readonly arguments: PromptArgument[];
21
+ getMessages(args: Record<string, string>): PromptMessage[];
22
+ }
23
+ //# sourceMappingURL=ShowReachableAreasPrompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShowReachableAreasPrompt.d.ts","sourceRoot":"","sources":["../../../src/prompts/ShowReachableAreasPrompt.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACd,MAAM,oCAAoC,CAAC;AAE5C;;;;;;;;;;;;;GAaG;AACH,qBAAa,wBAAyB,SAAQ,UAAU;IACtD,QAAQ,CAAC,IAAI,0BAA0B;IACvC,QAAQ,CAAC,WAAW,mGAC8E;IAElG,QAAQ,CAAC,SAAS,EAAE,cAAc,EAAE,CAiBlC;IAEF,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,aAAa,EAAE;CA6B3D"}
@@ -0,0 +1,66 @@
1
+ // Copyright (c) Mapbox, Inc.
2
+ // Licensed under the MIT License.
3
+ import { BasePrompt } from './BasePrompt.js';
4
+ /**
5
+ * Prompt for visualizing areas reachable within a specified time from a location.
6
+ *
7
+ * This prompt guides the agent through:
8
+ * 1. Geocoding the starting location (if needed)
9
+ * 2. Calculating isochrones for the specified travel time
10
+ * 3. Visualizing the reachable areas on a map
11
+ * 4. Providing context about what the isochrone represents
12
+ *
13
+ * Example queries:
14
+ * - "Show me areas I can reach in 15 minutes from downtown"
15
+ * - "What's the 30-minute driving range from our warehouse?"
16
+ * - "Display my 10-minute walk radius from home"
17
+ */
18
+ export class ShowReachableAreasPrompt extends BasePrompt {
19
+ name = 'show-reachable-areas';
20
+ description = 'Visualizes areas that can be reached from a location within a specified time using isochrones';
21
+ arguments = [
22
+ {
23
+ name: 'location',
24
+ description: 'Starting location (address, place name, or coordinates)',
25
+ required: true
26
+ },
27
+ {
28
+ name: 'time_minutes',
29
+ description: 'Travel time in minutes (default: 15)',
30
+ required: false
31
+ },
32
+ {
33
+ name: 'mode',
34
+ description: 'Travel mode: driving, walking, or cycling (default: driving)',
35
+ required: false
36
+ }
37
+ ];
38
+ getMessages(args) {
39
+ this.validateArguments(args);
40
+ const { location, time_minutes = '15', mode = 'driving' } = args;
41
+ return [
42
+ {
43
+ role: 'user',
44
+ content: {
45
+ type: 'text',
46
+ text: `Show areas reachable within ${time_minutes} minutes of ${mode} from ${location}.
47
+
48
+ Please follow these steps:
49
+ 1. Geocode the location if it's not in coordinate format
50
+ 2. Use isochrone_tool to calculate the ${time_minutes}-minute ${mode} isochrone
51
+ 3. Visualize the reachable area on a map with:
52
+ - The starting location clearly marked
53
+ - The isochrone polygon showing the reachable area
54
+ - Appropriate styling to make it easy to understand
55
+ 4. Provide context explaining:
56
+ - What area is covered (approximate square miles/km)
57
+ - What this means practically (e.g., "You can reach X locations within ${time_minutes} minutes")
58
+ - Any limitations or caveats (traffic conditions, time of day, etc.)
59
+
60
+ Make the visualization clear and the explanation actionable.`
61
+ }
62
+ }
63
+ ];
64
+ }
65
+ }
66
+ //# sourceMappingURL=ShowReachableAreasPrompt.js.map