@mapbox/mcp-server 0.0.2 → 0.1.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 (88) hide show
  1. package/dist/cjs/package.json +3 -0
  2. package/dist/esm/package.json +3 -0
  3. package/dist/index.d.ts +2 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +38 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/tools/MapboxApiBasedTool.d.ts +75 -0
  8. package/dist/tools/MapboxApiBasedTool.d.ts.map +1 -0
  9. package/dist/tools/MapboxApiBasedTool.js +78 -0
  10. package/dist/tools/MapboxApiBasedTool.js.map +1 -0
  11. package/dist/tools/category-search-tool/CategorySearchTool.d.ts +39 -0
  12. package/dist/tools/category-search-tool/CategorySearchTool.d.ts.map +1 -0
  13. package/dist/tools/category-search-tool/CategorySearchTool.js +638 -0
  14. package/dist/tools/category-search-tool/CategorySearchTool.js.map +1 -0
  15. package/dist/tools/category-search-tool/CategorySearchTool.test.d.ts +2 -0
  16. package/dist/tools/category-search-tool/CategorySearchTool.test.d.ts.map +1 -0
  17. package/dist/tools/category-search-tool/CategorySearchTool.test.js +289 -0
  18. package/dist/tools/category-search-tool/CategorySearchTool.test.js.map +1 -0
  19. package/dist/tools/directions-tool/DirectionsTool.d.ts +53 -0
  20. package/dist/tools/directions-tool/DirectionsTool.d.ts.map +1 -0
  21. package/dist/tools/directions-tool/DirectionsTool.js +405 -0
  22. package/dist/tools/directions-tool/DirectionsTool.js.map +1 -0
  23. package/dist/tools/directions-tool/DirectionsTool.test.d.ts +2 -0
  24. package/dist/tools/directions-tool/DirectionsTool.test.d.ts.map +1 -0
  25. package/dist/tools/directions-tool/DirectionsTool.test.js +867 -0
  26. package/dist/tools/directions-tool/DirectionsTool.test.js.map +1 -0
  27. package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.d.ts +51 -0
  28. package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.d.ts.map +1 -0
  29. package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.js +182 -0
  30. package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.js.map +1 -0
  31. package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.test.d.ts +2 -0
  32. package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.test.d.ts.map +1 -0
  33. package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.test.js +335 -0
  34. package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.test.js.map +1 -0
  35. package/dist/tools/isochrone-tool/IsochroneTool.d.ts +44 -0
  36. package/dist/tools/isochrone-tool/IsochroneTool.d.ts.map +1 -0
  37. package/dist/tools/isochrone-tool/IsochroneTool.js +108 -0
  38. package/dist/tools/isochrone-tool/IsochroneTool.js.map +1 -0
  39. package/dist/tools/isochrone-tool/IsochroneTool.test.d.ts +2 -0
  40. package/dist/tools/isochrone-tool/IsochroneTool.test.d.ts.map +1 -0
  41. package/dist/tools/isochrone-tool/IsochroneTool.test.js +110 -0
  42. package/dist/tools/isochrone-tool/IsochroneTool.test.js.map +1 -0
  43. package/dist/tools/matrix-tool/MatrixTool.d.ts +35 -0
  44. package/dist/tools/matrix-tool/MatrixTool.d.ts.map +1 -0
  45. package/dist/tools/matrix-tool/MatrixTool.js +195 -0
  46. package/dist/tools/matrix-tool/MatrixTool.js.map +1 -0
  47. package/dist/tools/matrix-tool/MatrixTool.test.d.ts +2 -0
  48. package/dist/tools/matrix-tool/MatrixTool.test.d.ts.map +1 -0
  49. package/dist/tools/matrix-tool/MatrixTool.test.js +803 -0
  50. package/dist/tools/matrix-tool/MatrixTool.test.js.map +1 -0
  51. package/dist/tools/poi-search-tool/PoiSearchTool.d.ts +54 -0
  52. package/dist/tools/poi-search-tool/PoiSearchTool.d.ts.map +1 -0
  53. package/dist/tools/poi-search-tool/PoiSearchTool.js +193 -0
  54. package/dist/tools/poi-search-tool/PoiSearchTool.js.map +1 -0
  55. package/dist/tools/poi-search-tool/PoiSearchTool.test.d.ts +2 -0
  56. package/dist/tools/poi-search-tool/PoiSearchTool.test.d.ts.map +1 -0
  57. package/dist/tools/poi-search-tool/PoiSearchTool.test.js +338 -0
  58. package/dist/tools/poi-search-tool/PoiSearchTool.test.js.map +1 -0
  59. package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts +42 -0
  60. package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts.map +1 -0
  61. package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.js +131 -0
  62. package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.js.map +1 -0
  63. package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.test.d.ts +2 -0
  64. package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.test.d.ts.map +1 -0
  65. package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.test.js +340 -0
  66. package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.test.js.map +1 -0
  67. package/dist/tools/static-map-image-tool/StaticMapImageTool.d.ts +148 -0
  68. package/dist/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -0
  69. package/dist/tools/static-map-image-tool/StaticMapImageTool.js +406 -0
  70. package/dist/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -0
  71. package/dist/tools/static-map-image-tool/StaticMapImageTool.test.d.ts +2 -0
  72. package/dist/tools/static-map-image-tool/StaticMapImageTool.test.d.ts.map +1 -0
  73. package/dist/tools/static-map-image-tool/StaticMapImageTool.test.js +440 -0
  74. package/dist/tools/static-map-image-tool/StaticMapImageTool.test.js.map +1 -0
  75. package/dist/utils/requestUtils.d.ts +6 -0
  76. package/dist/utils/requestUtils.d.ts.map +1 -0
  77. package/dist/utils/requestUtils.js +29 -0
  78. package/dist/utils/requestUtils.js.map +1 -0
  79. package/dist/utils/requestUtils.test-helpers.d.ts +3 -0
  80. package/dist/utils/requestUtils.test-helpers.d.ts.map +1 -0
  81. package/dist/utils/requestUtils.test-helpers.js +28 -0
  82. package/dist/utils/requestUtils.test-helpers.js.map +1 -0
  83. package/dist/utils/versionUtils.d.ts +9 -0
  84. package/dist/utils/versionUtils.d.ts.map +1 -0
  85. package/dist/utils/versionUtils.js +25 -0
  86. package/dist/utils/versionUtils.js.map +1 -0
  87. package/dist/version.json +6 -0
  88. package/package.json +2 -2
@@ -0,0 +1,406 @@
1
+ import { z } from 'zod';
2
+ import { MapboxApiBasedTool } from '../MapboxApiBasedTool.js';
3
+ // List of valid Maki icon names
4
+ const MAKI_ICONS = [
5
+ 'aerialway',
6
+ 'airfield',
7
+ 'airport',
8
+ 'alcohol-shop',
9
+ 'american-football',
10
+ 'amusement-park',
11
+ 'animal-shelter',
12
+ 'aquarium',
13
+ 'arrow',
14
+ 'art-gallery',
15
+ 'attraction',
16
+ 'bakery',
17
+ 'bank-JP',
18
+ 'bank',
19
+ 'bar',
20
+ 'barrier',
21
+ 'baseball',
22
+ 'basketball',
23
+ 'bbq',
24
+ 'beach',
25
+ 'beer',
26
+ 'bicycle-share',
27
+ 'bicycle',
28
+ 'blood-bank',
29
+ 'bowling-alley',
30
+ 'bridge',
31
+ 'building-alt1',
32
+ 'building',
33
+ 'bus',
34
+ 'cafe',
35
+ 'campsite',
36
+ 'car-rental',
37
+ 'car-repair',
38
+ 'car',
39
+ 'casino',
40
+ 'castle-JP',
41
+ 'castle',
42
+ 'caution',
43
+ 'cemetery-JP',
44
+ 'cemetery',
45
+ 'charging-station',
46
+ 'cinema',
47
+ 'circle-stroked',
48
+ 'circle',
49
+ 'city',
50
+ 'clothing-store',
51
+ 'college-JP',
52
+ 'college',
53
+ 'commercial',
54
+ 'communications-tower',
55
+ 'confectionery',
56
+ 'construction',
57
+ 'convenience',
58
+ 'cricket',
59
+ 'cross',
60
+ 'dam',
61
+ 'danger',
62
+ 'defibrillator',
63
+ 'dentist',
64
+ 'diamond',
65
+ 'doctor',
66
+ 'dog-park',
67
+ 'drinking-water',
68
+ 'elevator',
69
+ 'embassy',
70
+ 'emergency-phone',
71
+ 'entrance-alt1',
72
+ 'entrance',
73
+ 'farm',
74
+ 'fast-food',
75
+ 'fence',
76
+ 'ferry-JP',
77
+ 'ferry',
78
+ 'fire-station-JP',
79
+ 'fire-station',
80
+ 'fitness-centre',
81
+ 'florist',
82
+ 'fuel',
83
+ 'furniture',
84
+ 'gaming',
85
+ 'garden-centre',
86
+ 'garden',
87
+ 'gate',
88
+ 'gift',
89
+ 'globe',
90
+ 'golf',
91
+ 'grocery',
92
+ 'hairdresser',
93
+ 'harbor',
94
+ 'hardware',
95
+ 'heart',
96
+ 'heliport',
97
+ 'highway-rest-area',
98
+ 'historic',
99
+ 'home',
100
+ 'horse-riding',
101
+ 'hospital-JP',
102
+ 'hospital',
103
+ 'hot-spring',
104
+ 'ice-cream',
105
+ 'industry',
106
+ 'information',
107
+ 'jewelry-store',
108
+ 'karaoke',
109
+ 'landmark-JP',
110
+ 'landmark',
111
+ 'landuse',
112
+ 'laundry',
113
+ 'library',
114
+ 'lift-gate',
115
+ 'lighthouse-JP',
116
+ 'lighthouse',
117
+ 'lodging',
118
+ 'logging',
119
+ 'marae',
120
+ 'marker-stroked',
121
+ 'marker',
122
+ 'mobile-phone',
123
+ 'monument-JP',
124
+ 'monument',
125
+ 'mountain',
126
+ 'museum',
127
+ 'music',
128
+ 'natural',
129
+ 'nightclub',
130
+ 'observation-tower',
131
+ 'optician',
132
+ 'paint',
133
+ 'park-alt1',
134
+ 'park',
135
+ 'parking-garage',
136
+ 'parking-paid',
137
+ 'parking',
138
+ 'pharmacy',
139
+ 'picnic-site',
140
+ 'pitch',
141
+ 'place-of-worship',
142
+ 'playground',
143
+ 'police-JP',
144
+ 'police',
145
+ 'post-JP',
146
+ 'post',
147
+ 'prison',
148
+ 'racetrack-boat',
149
+ 'racetrack-cycling',
150
+ 'racetrack-horse',
151
+ 'racetrack',
152
+ 'rail-light',
153
+ 'rail-metro',
154
+ 'rail',
155
+ 'ranger-station',
156
+ 'recycling',
157
+ 'religious-buddhist',
158
+ 'religious-christian',
159
+ 'religious-jewish',
160
+ 'religious-muslim',
161
+ 'religious-shinto',
162
+ 'residential-community',
163
+ 'restaurant-bbq',
164
+ 'restaurant-noodle',
165
+ 'restaurant-pizza',
166
+ 'restaurant-seafood',
167
+ 'restaurant-sushi',
168
+ 'restaurant',
169
+ 'road-accident',
170
+ 'roadblock',
171
+ 'rocket',
172
+ 'school-JP',
173
+ 'school',
174
+ 'scooter',
175
+ 'shelter',
176
+ 'shoe',
177
+ 'shop',
178
+ 'skateboard',
179
+ 'skiing',
180
+ 'slaughterhouse',
181
+ 'slipway',
182
+ 'snowmobile',
183
+ 'soccer',
184
+ 'square-stroked',
185
+ 'square',
186
+ 'stadium',
187
+ 'star-stroked',
188
+ 'star',
189
+ 'suitcase',
190
+ 'swimming',
191
+ 'table-tennis',
192
+ 'taxi',
193
+ 'teahouse',
194
+ 'telephone',
195
+ 'tennis',
196
+ 'terminal',
197
+ 'theatre',
198
+ 'toilet',
199
+ 'toll',
200
+ 'town-hall',
201
+ 'town',
202
+ 'triangle-stroked',
203
+ 'triangle',
204
+ 'tunnel',
205
+ 'veterinary',
206
+ 'viewpoint',
207
+ 'village',
208
+ 'volcano',
209
+ 'volleyball',
210
+ 'warehouse',
211
+ 'waste-basket',
212
+ 'watch',
213
+ 'water',
214
+ 'waterfall',
215
+ 'watermill',
216
+ 'wetland',
217
+ 'wheelchair',
218
+ 'windmill',
219
+ 'zoo'
220
+ ];
221
+ // Overlay schemas
222
+ const MarkerOverlaySchema = z.object({
223
+ type: z.literal('marker'),
224
+ longitude: z.number().min(-180).max(180),
225
+ latitude: z.number().min(-85.0511).max(85.0511),
226
+ size: z.enum(['small', 'large']).optional().default('small'),
227
+ label: z
228
+ .string()
229
+ .optional()
230
+ .transform((val) => {
231
+ if (!val)
232
+ return val;
233
+ const lowerVal = val.toLowerCase();
234
+ // Check if it's a single letter, number 0-99, or valid Maki icon
235
+ if (/^[a-z]$/.test(lowerVal) ||
236
+ /^[0-9]{1,2}$/.test(val) ||
237
+ MAKI_ICONS.includes(lowerVal)) {
238
+ return lowerVal;
239
+ }
240
+ // If more than one character and not a valid Maki icon, truncate to first character
241
+ return lowerVal.charAt(0);
242
+ })
243
+ .describe(`Single letter (a-z), number (0-99), or Maki icon name. Valid Maki icons: ${MAKI_ICONS.join(', ')}. Labels longer than one character that are not valid Maki icons will be truncated to the first character.`),
244
+ color: z
245
+ .string()
246
+ .regex(/^[0-9a-fA-F]{3}([0-9a-fA-F]{3})?$/)
247
+ .optional()
248
+ .describe('3 or 6 digit hex color without #')
249
+ });
250
+ const CustomMarkerOverlaySchema = z.object({
251
+ type: z.literal('custom-marker'),
252
+ longitude: z.number().min(-180).max(180),
253
+ latitude: z.number().min(-85.0511).max(85.0511),
254
+ url: z
255
+ .string()
256
+ .url()
257
+ .describe('URL of custom marker image (PNG or JPEG, max 1024px)')
258
+ });
259
+ const PathOverlaySchema = z.object({
260
+ type: z.literal('path'),
261
+ encodedPolyline: z
262
+ .string()
263
+ .min(1)
264
+ .describe('Encoded polyline string with 5 decimal place precision'),
265
+ strokeWidth: z.number().min(1).optional().default(5),
266
+ strokeColor: z
267
+ .string()
268
+ .regex(/^[0-9a-fA-F]{3}([0-9a-fA-F]{3})?$/)
269
+ .optional()
270
+ .describe('3 or 6 digit hex color without #'),
271
+ strokeOpacity: z
272
+ .number()
273
+ .min(0)
274
+ .max(1)
275
+ .optional()
276
+ .describe('Stroke opacity (0-1)'),
277
+ fillColor: z
278
+ .string()
279
+ .regex(/^[0-9a-fA-F]{3}([0-9a-fA-F]{3})?$/)
280
+ .optional()
281
+ .describe('3 or 6 digit hex color without #'),
282
+ fillOpacity: z
283
+ .number()
284
+ .min(0)
285
+ .max(1)
286
+ .optional()
287
+ .describe('Fill opacity (0-1)')
288
+ });
289
+ const GeoJsonOverlaySchema = z.object({
290
+ type: z.literal('geojson'),
291
+ data: z
292
+ .any()
293
+ .describe('GeoJSON object (Point, MultiPoint, LineString, or Polygon)')
294
+ });
295
+ const OverlaySchema = z.discriminatedUnion('type', [
296
+ MarkerOverlaySchema,
297
+ CustomMarkerOverlaySchema,
298
+ PathOverlaySchema,
299
+ GeoJsonOverlaySchema
300
+ ]);
301
+ const StaticMapImageInputSchema = z.object({
302
+ center: z
303
+ .tuple([
304
+ z.number().min(-180).max(180),
305
+ z.number().min(-85.0511).max(85.0511)
306
+ ])
307
+ .describe('Center point of the map as [longitude, latitude]. Longitude: -180 to 180, Latitude: -85.0511 to 85.0511'),
308
+ zoom: z
309
+ .number()
310
+ .min(0)
311
+ .max(22)
312
+ .describe('Zoom level (0-22). Fractional zoom levels are rounded to two decimal places'),
313
+ size: z
314
+ .tuple([z.number().min(1).max(1280), z.number().min(1).max(1280)])
315
+ .describe('Image size as [width, height] in pixels. Each dimension must be between 1 and 1280 pixels'),
316
+ style: z
317
+ .string()
318
+ .optional()
319
+ .default('mapbox/streets-v12')
320
+ .describe('Mapbox style ID (e.g., mapbox/streets-v12, mapbox/satellite-v9, mapbox/dark-v11)'),
321
+ highDensity: z
322
+ .boolean()
323
+ .optional()
324
+ .default(false)
325
+ .describe('Whether to return a high-density (2x) image'),
326
+ overlays: z
327
+ .array(OverlaySchema)
328
+ .optional()
329
+ .describe('Array of overlays to add to the map. Overlays are rendered in order (last item appears on top)')
330
+ });
331
+ export class StaticMapImageTool extends MapboxApiBasedTool {
332
+ name = 'StaticMapImageTool';
333
+ description = 'Generates a static map image from Mapbox Static Images API. Supports center coordinates, zoom level (0-22), image size (up to 1280x1280), various Mapbox styles, and overlays (markers, paths, GeoJSON). Returns PNG for vector styles, JPEG for raster-only styles.';
334
+ constructor() {
335
+ super({ inputSchema: StaticMapImageInputSchema });
336
+ }
337
+ encodeOverlay(overlay) {
338
+ switch (overlay.type) {
339
+ case 'marker': {
340
+ const size = overlay.size === 'large' ? 'pin-l' : 'pin-s';
341
+ let marker = size;
342
+ if (overlay.label) {
343
+ marker += `-${overlay.label}`;
344
+ }
345
+ if (overlay.color) {
346
+ marker += `+${overlay.color}`;
347
+ }
348
+ return `${marker}(${overlay.longitude},${overlay.latitude})`;
349
+ }
350
+ case 'custom-marker': {
351
+ const encodedUrl = encodeURIComponent(overlay.url);
352
+ return `url-${encodedUrl}(${overlay.longitude},${overlay.latitude})`;
353
+ }
354
+ case 'path': {
355
+ let path = `path-${overlay.strokeWidth}`;
356
+ if (overlay.strokeColor) {
357
+ path += `+${overlay.strokeColor}`;
358
+ if (overlay.strokeOpacity !== undefined) {
359
+ path += `-${overlay.strokeOpacity}`;
360
+ }
361
+ }
362
+ if (overlay.fillColor) {
363
+ path += `+${overlay.fillColor}`;
364
+ if (overlay.fillOpacity !== undefined) {
365
+ path += `-${overlay.fillOpacity}`;
366
+ }
367
+ }
368
+ // URL encode the polyline to handle special characters
369
+ return `${path}(${encodeURIComponent(overlay.encodedPolyline)})`;
370
+ }
371
+ case 'geojson': {
372
+ const geojsonString = JSON.stringify(overlay.data);
373
+ return `geojson(${encodeURIComponent(geojsonString)})`;
374
+ }
375
+ }
376
+ }
377
+ async execute(input) {
378
+ const [lng, lat] = input.center;
379
+ const [width, height] = input.size;
380
+ // Build overlay string
381
+ let overlayString = '';
382
+ if (input.overlays && input.overlays.length > 0) {
383
+ const encodedOverlays = input.overlays.map((overlay) => {
384
+ return this.encodeOverlay(overlay);
385
+ });
386
+ overlayString = encodedOverlays.join(',') + '/';
387
+ }
388
+ const density = input.highDensity ? '@2x' : '';
389
+ const url = `${MapboxApiBasedTool.MAPBOX_API_ENDPOINT}styles/v1/${input.style}/static/${overlayString}${lng},${lat},${input.zoom}/${width}x${height}${density}?access_token=${MapboxApiBasedTool.MAPBOX_ACCESS_TOKEN}`;
390
+ const response = await fetch(url);
391
+ if (!response.ok) {
392
+ throw new Error(`Failed to fetch map image: ${response.status} ${response.statusText}`);
393
+ }
394
+ const buffer = await response.arrayBuffer();
395
+ const base64Data = Buffer.from(buffer).toString('base64');
396
+ // Determine MIME type based on style (raster-only styles return JPEG)
397
+ const isRasterStyle = input.style.includes('satellite');
398
+ const mimeType = isRasterStyle ? 'image/jpeg' : 'image/png';
399
+ return {
400
+ type: 'image',
401
+ data: base64Data,
402
+ mimeType
403
+ };
404
+ }
405
+ }
406
+ //# sourceMappingURL=StaticMapImageTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StaticMapImageTool.js","sourceRoot":"","sources":["../../../src/tools/static-map-image-tool/StaticMapImageTool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=StaticMapImageTool.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StaticMapImageTool.test.d.ts","sourceRoot":"","sources":["../../../src/tools/static-map-image-tool/StaticMapImageTool.test.ts"],"names":[],"mappings":""}