@mapbox/mcp-server 0.6.1 → 0.8.1-dev.0

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 (224) 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 +8 -11
@@ -123,6 +123,13 @@ export declare const IsochroneFeatureSchema: z.ZodObject<{
123
123
  }>]>;
124
124
  }, "strip", z.ZodTypeAny, {
125
125
  type: "Feature";
126
+ geometry: {
127
+ type: "LineString";
128
+ coordinates: [number, number][];
129
+ } | {
130
+ type: "Polygon";
131
+ coordinates: [number, number][][];
132
+ };
126
133
  properties: {
127
134
  contour: number;
128
135
  fill?: string | undefined;
@@ -133,6 +140,8 @@ export declare const IsochroneFeatureSchema: z.ZodObject<{
133
140
  fillOpacity?: number | undefined;
134
141
  metric?: "distance" | "time" | undefined;
135
142
  };
143
+ }, {
144
+ type: "Feature";
136
145
  geometry: {
137
146
  type: "LineString";
138
147
  coordinates: [number, number][];
@@ -140,8 +149,6 @@ export declare const IsochroneFeatureSchema: z.ZodObject<{
140
149
  type: "Polygon";
141
150
  coordinates: [number, number][][];
142
151
  };
143
- }, {
144
- type: "Feature";
145
152
  properties: {
146
153
  contour: number;
147
154
  fill?: string | undefined;
@@ -152,13 +159,6 @@ export declare const IsochroneFeatureSchema: z.ZodObject<{
152
159
  fillOpacity?: number | undefined;
153
160
  metric?: "distance" | "time" | undefined;
154
161
  };
155
- geometry: {
156
- type: "LineString";
157
- coordinates: [number, number][];
158
- } | {
159
- type: "Polygon";
160
- coordinates: [number, number][][];
161
- };
162
162
  }>;
163
163
  /**
164
164
  * Complete Isochrone API response
@@ -225,6 +225,13 @@ export declare const IsochroneResponseSchema: z.ZodObject<{
225
225
  }>]>;
226
226
  }, "strip", z.ZodTypeAny, {
227
227
  type: "Feature";
228
+ geometry: {
229
+ type: "LineString";
230
+ coordinates: [number, number][];
231
+ } | {
232
+ type: "Polygon";
233
+ coordinates: [number, number][][];
234
+ };
228
235
  properties: {
229
236
  contour: number;
230
237
  fill?: string | undefined;
@@ -235,6 +242,8 @@ export declare const IsochroneResponseSchema: z.ZodObject<{
235
242
  fillOpacity?: number | undefined;
236
243
  metric?: "distance" | "time" | undefined;
237
244
  };
245
+ }, {
246
+ type: "Feature";
238
247
  geometry: {
239
248
  type: "LineString";
240
249
  coordinates: [number, number][];
@@ -242,8 +251,6 @@ export declare const IsochroneResponseSchema: z.ZodObject<{
242
251
  type: "Polygon";
243
252
  coordinates: [number, number][][];
244
253
  };
245
- }, {
246
- type: "Feature";
247
254
  properties: {
248
255
  contour: number;
249
256
  fill?: string | undefined;
@@ -254,6 +261,11 @@ export declare const IsochroneResponseSchema: z.ZodObject<{
254
261
  fillOpacity?: number | undefined;
255
262
  metric?: "distance" | "time" | undefined;
256
263
  };
264
+ }>, "many">;
265
+ }, "strip", z.ZodTypeAny, {
266
+ type: "FeatureCollection";
267
+ features: {
268
+ type: "Feature";
257
269
  geometry: {
258
270
  type: "LineString";
259
271
  coordinates: [number, number][];
@@ -261,11 +273,6 @@ export declare const IsochroneResponseSchema: z.ZodObject<{
261
273
  type: "Polygon";
262
274
  coordinates: [number, number][][];
263
275
  };
264
- }>, "many">;
265
- }, "strip", z.ZodTypeAny, {
266
- type: "FeatureCollection";
267
- features: {
268
- type: "Feature";
269
276
  properties: {
270
277
  contour: number;
271
278
  fill?: string | undefined;
@@ -276,6 +283,11 @@ export declare const IsochroneResponseSchema: z.ZodObject<{
276
283
  fillOpacity?: number | undefined;
277
284
  metric?: "distance" | "time" | undefined;
278
285
  };
286
+ }[];
287
+ }, {
288
+ type: "FeatureCollection";
289
+ features: {
290
+ type: "Feature";
279
291
  geometry: {
280
292
  type: "LineString";
281
293
  coordinates: [number, number][];
@@ -283,11 +295,6 @@ export declare const IsochroneResponseSchema: z.ZodObject<{
283
295
  type: "Polygon";
284
296
  coordinates: [number, number][][];
285
297
  };
286
- }[];
287
- }, {
288
- type: "FeatureCollection";
289
- features: {
290
- type: "Feature";
291
298
  properties: {
292
299
  contour: number;
293
300
  fill?: string | undefined;
@@ -298,13 +305,6 @@ export declare const IsochroneResponseSchema: z.ZodObject<{
298
305
  fillOpacity?: number | undefined;
299
306
  metric?: "distance" | "time" | undefined;
300
307
  };
301
- geometry: {
302
- type: "LineString";
303
- coordinates: [number, number][];
304
- } | {
305
- type: "Polygon";
306
- coordinates: [number, number][][];
307
- };
308
308
  }[];
309
309
  }>;
310
310
  export type IsochroneResponse = z.infer<typeof IsochroneResponseSchema>;
@@ -0,0 +1,28 @@
1
+ import { BaseTool } from '../BaseTool.js';
2
+ import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
3
+ import type { RequestHandlerExtra } from '@modelcontextprotocol/sdk/shared/protocol.js';
4
+ import { ResourceReaderToolInputSchema } from './ResourceReaderTool.input.schema.js';
5
+ import { ResourceReaderToolOutputSchema } from './ResourceReaderTool.output.schema.js';
6
+ /**
7
+ * Tool for reading MCP resources via the tool interface.
8
+ * This provides a fallback mechanism for clients that don't support the MCP resource API.
9
+ */
10
+ export declare class ResourceReaderTool extends BaseTool<typeof ResourceReaderToolInputSchema, typeof ResourceReaderToolOutputSchema> {
11
+ name: string;
12
+ description: string;
13
+ annotations: {
14
+ title: string;
15
+ readOnlyHint: boolean;
16
+ destructiveHint: boolean;
17
+ idempotentHint: boolean;
18
+ openWorldHint: boolean;
19
+ };
20
+ constructor();
21
+ run(rawInput: unknown, extra?: RequestHandlerExtra<any, any>): Promise<CallToolResult>;
22
+ private execute;
23
+ /**
24
+ * Lists all available resource URIs for error messages
25
+ */
26
+ private listAvailableResources;
27
+ }
28
+ //# sourceMappingURL=ResourceReaderTool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourceReaderTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/resource-reader-tool/ResourceReaderTool.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AAExF,OAAO,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAC;AACrF,OAAO,EAAE,8BAA8B,EAAE,MAAM,uCAAuC,CAAC;AAGvF;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,QAAQ,CAC9C,OAAO,6BAA6B,EACpC,OAAO,8BAA8B,CACtC;IACC,IAAI,SAA0B;IAC9B,WAAW,SACmU;IAC9U,WAAW;;;;;;MAMT;;IASI,GAAG,CACP,QAAQ,EAAE,OAAO,EAEjB,KAAK,CAAC,EAAE,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,GACpC,OAAO,CAAC,cAAc,CAAC;YA+BZ,OAAO;IAqFrB;;OAEG;YACW,sBAAsB;CAOrC"}
@@ -0,0 +1,10 @@
1
+ import { z } from 'zod';
2
+ export declare const ResourceReaderToolInputSchema: z.ZodObject<{
3
+ uri: z.ZodString;
4
+ }, "strip", z.ZodTypeAny, {
5
+ uri: string;
6
+ }, {
7
+ uri: string;
8
+ }>;
9
+ export type ResourceReaderToolInput = z.infer<typeof ResourceReaderToolInputSchema>;
10
+ //# sourceMappingURL=ResourceReaderTool.input.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourceReaderTool.input.schema.d.ts","sourceRoot":"","sources":["../../../../src/tools/resource-reader-tool/ResourceReaderTool.input.schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,6BAA6B;;;;;;EAOxC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAC3C,OAAO,6BAA6B,CACrC,CAAC"}
@@ -0,0 +1,10 @@
1
+ // Copyright (c) Mapbox, Inc.
2
+ // Licensed under the MIT License.
3
+ import { z } from 'zod';
4
+ export const ResourceReaderToolInputSchema = z.object({
5
+ uri: z
6
+ .string()
7
+ .min(1, 'URI must not be empty')
8
+ .describe('The resource URI to read (e.g., "mapbox://categories" or "mapbox://categories/ja")')
9
+ });
10
+ //# sourceMappingURL=ResourceReaderTool.input.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourceReaderTool.input.schema.js","sourceRoot":"","sources":["../../../../src/tools/resource-reader-tool/ResourceReaderTool.input.schema.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AAElC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,uBAAuB,CAAC;SAC/B,QAAQ,CACP,oFAAoF,CACrF;CACJ,CAAC,CAAC"}
@@ -0,0 +1,137 @@
1
+ // Copyright (c) Mapbox, Inc.
2
+ // Licensed under the MIT License.
3
+ import { BaseTool } from '../BaseTool.js';
4
+ import { ResourceReaderToolInputSchema } from './ResourceReaderTool.input.schema.js';
5
+ import { ResourceReaderToolOutputSchema } from './ResourceReaderTool.output.schema.js';
6
+ import { getResourceByUri } from '../../resources/resourceRegistry.js';
7
+ /**
8
+ * Tool for reading MCP resources via the tool interface.
9
+ * This provides a fallback mechanism for clients that don't support the MCP resource API.
10
+ */
11
+ export class ResourceReaderTool extends BaseTool {
12
+ name = 'resource_reader_tool';
13
+ description = 'Reads an MCP resource by URI. This tool is a fallback for clients that do not support the native MCP resource API. Supports reading category lists and other Mapbox resources. Use "mapbox://categories" for default categories or "mapbox://categories/{language}" for localized versions (e.g., "mapbox://categories/ja" for Japanese).';
14
+ annotations = {
15
+ title: 'Resource Reader Tool',
16
+ readOnlyHint: true,
17
+ destructiveHint: false,
18
+ idempotentHint: true,
19
+ openWorldHint: true
20
+ };
21
+ constructor() {
22
+ super({
23
+ inputSchema: ResourceReaderToolInputSchema,
24
+ outputSchema: ResourceReaderToolOutputSchema
25
+ });
26
+ }
27
+ async run(rawInput,
28
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
29
+ extra) {
30
+ try {
31
+ const input = this.inputSchema.parse(rawInput);
32
+ const result = await this.execute(input, extra);
33
+ return result;
34
+ }
35
+ catch (error) {
36
+ const errorMessage = error instanceof Error ? error.message : String(error);
37
+ this.log('error', `${this.name}: Error during execution: ${errorMessage}`);
38
+ const errorResponse = {
39
+ message: errorMessage,
40
+ tool: this.name
41
+ };
42
+ return {
43
+ content: [
44
+ {
45
+ type: 'text',
46
+ text: JSON.stringify(errorResponse)
47
+ }
48
+ ],
49
+ isError: true
50
+ };
51
+ }
52
+ }
53
+ async execute(input,
54
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
55
+ extra) {
56
+ // Find the resource by URI
57
+ const resource = getResourceByUri(input.uri);
58
+ if (!resource) {
59
+ const availableResources = await this.listAvailableResources();
60
+ return {
61
+ content: [
62
+ {
63
+ type: 'text',
64
+ text: `Resource not found: ${input.uri}. Available resource URIs: ${availableResources}`
65
+ }
66
+ ],
67
+ isError: true
68
+ };
69
+ }
70
+ try {
71
+ // Read the resource
72
+ const result = await resource.read(input.uri, extra);
73
+ // Return the first content item (resources can return multiple, but we'll return the first)
74
+ const content = result.contents[0];
75
+ if (!content) {
76
+ return {
77
+ content: [
78
+ {
79
+ type: 'text',
80
+ text: `Resource returned no content: ${input.uri}`
81
+ }
82
+ ],
83
+ isError: true
84
+ };
85
+ }
86
+ // Validate output against schema
87
+ try {
88
+ ResourceReaderToolOutputSchema.parse(content);
89
+ }
90
+ catch (validationError) {
91
+ this.log('warning', `Output schema validation failed: ${validationError instanceof Error ? validationError.message : 'Unknown validation error'}`);
92
+ }
93
+ // Extract text or blob from the content using type guards
94
+ let textContent;
95
+ if ('text' in content && typeof content.text === 'string') {
96
+ textContent = content.text;
97
+ }
98
+ else if ('blob' in content && typeof content.blob === 'string') {
99
+ textContent = content.blob;
100
+ }
101
+ else {
102
+ throw new Error('Resource content must contain either text or blob');
103
+ }
104
+ return {
105
+ content: [
106
+ {
107
+ type: 'text',
108
+ text: textContent
109
+ }
110
+ ],
111
+ structuredContent: content,
112
+ isError: false
113
+ };
114
+ }
115
+ catch (error) {
116
+ const errorMessage = error instanceof Error ? error.message : String(error);
117
+ return {
118
+ content: [
119
+ {
120
+ type: 'text',
121
+ text: `Error reading resource ${input.uri}: ${errorMessage}`
122
+ }
123
+ ],
124
+ isError: true
125
+ };
126
+ }
127
+ }
128
+ /**
129
+ * Lists all available resource URIs for error messages
130
+ */
131
+ async listAvailableResources() {
132
+ const { getAllResources } = await import('../../resources/resourceRegistry.js');
133
+ const resources = getAllResources();
134
+ return resources.map((r) => r.uri).join(', ');
135
+ }
136
+ }
137
+ //# sourceMappingURL=ResourceReaderTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourceReaderTool.js","sourceRoot":"","sources":["../../../../src/tools/resource-reader-tool/ResourceReaderTool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { z } from 'zod';
2
+ export declare const ResourceReaderToolOutputSchema: z.ZodObject<{
3
+ uri: z.ZodString;
4
+ mimeType: z.ZodOptional<z.ZodString>;
5
+ text: z.ZodOptional<z.ZodString>;
6
+ blob: z.ZodOptional<z.ZodString>;
7
+ }, "strip", z.ZodTypeAny, {
8
+ uri: string;
9
+ text?: string | undefined;
10
+ mimeType?: string | undefined;
11
+ blob?: string | undefined;
12
+ }, {
13
+ uri: string;
14
+ text?: string | undefined;
15
+ mimeType?: string | undefined;
16
+ blob?: string | undefined;
17
+ }>;
18
+ export type ResourceReaderToolOutput = z.infer<typeof ResourceReaderToolOutputSchema>;
19
+ //# sourceMappingURL=ResourceReaderTool.output.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourceReaderTool.output.schema.d.ts","sourceRoot":"","sources":["../../../../src/tools/resource-reader-tool/ResourceReaderTool.output.schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;EAKzC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAC5C,OAAO,8BAA8B,CACtC,CAAC"}
@@ -0,0 +1,10 @@
1
+ // Copyright (c) Mapbox, Inc.
2
+ // Licensed under the MIT License.
3
+ import { z } from 'zod';
4
+ export const ResourceReaderToolOutputSchema = z.object({
5
+ uri: z.string().describe('The URI that was read'),
6
+ mimeType: z.string().optional().describe('MIME type of the content'),
7
+ text: z.string().optional().describe('Text content of the resource'),
8
+ blob: z.string().optional().describe('Base64-encoded blob content')
9
+ });
10
+ //# sourceMappingURL=ResourceReaderTool.output.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourceReaderTool.output.schema.js","sourceRoot":"","sources":["../../../../src/tools/resource-reader-tool/ResourceReaderTool.output.schema.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AAElC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IACrD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IACjD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACpE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACpE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;CACpE,CAAC,CAAC"}
@@ -10,9 +10,9 @@ export declare const ReverseGeocodeInputSchema: z.ZodObject<{
10
10
  worldview: z.ZodDefault<z.ZodOptional<z.ZodEnum<["us", "cn", "jp", "in"]>>>;
11
11
  format: z.ZodDefault<z.ZodOptional<z.ZodEnum<["json_string", "formatted_text"]>>>;
12
12
  }, "strip", z.ZodTypeAny, {
13
+ limit: number;
13
14
  longitude: number;
14
15
  latitude: number;
15
- limit: number;
16
16
  format: "json_string" | "formatted_text";
17
17
  permanent: boolean;
18
18
  worldview: "in" | "us" | "cn" | "jp";