@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,638 @@
1
+ import { z } from 'zod';
2
+ import { MapboxApiBasedTool } from '../MapboxApiBasedTool.js';
3
+ // Full list of supported categories
4
+ const SUPPORTED_CATEGORIES = [
5
+ 'services',
6
+ 'shopping',
7
+ 'food_and_drink',
8
+ 'food',
9
+ 'health_services',
10
+ 'office',
11
+ 'restaurant',
12
+ 'education',
13
+ 'transportation',
14
+ 'grocery',
15
+ 'apartment_or_condo',
16
+ 'place_of_worship',
17
+ 'outdoors',
18
+ 'school',
19
+ 'lodging',
20
+ 'financial_services',
21
+ 'clothing_store',
22
+ 'supermarket',
23
+ 'wholesale_store',
24
+ 'beauty_store',
25
+ 'auto_repair',
26
+ 'cafe',
27
+ 'salon',
28
+ 'bus_stop',
29
+ 'government',
30
+ 'real_estate_agent',
31
+ 'tourist_attraction',
32
+ 'park',
33
+ 'medical_practice',
34
+ 'temple',
35
+ 'sports',
36
+ 'doctors_office',
37
+ 'hotel',
38
+ 'fast_food',
39
+ 'bank',
40
+ 'hairdresser',
41
+ 'nightlife',
42
+ 'entertainment',
43
+ 'pharmacy',
44
+ 'bar',
45
+ 'church',
46
+ 'consulting',
47
+ 'farm',
48
+ 'coffee',
49
+ 'medical_clinic',
50
+ 'lawyer',
51
+ 'coffee_shop',
52
+ 'bakery',
53
+ 'repair_shop',
54
+ 'fitness_center',
55
+ 'dentist',
56
+ 'factory',
57
+ 'shipping_store',
58
+ 'photographer',
59
+ 'electronics_shop',
60
+ 'home',
61
+ 'furniture_store',
62
+ 'shopping_mall',
63
+ 'atm',
64
+ 'car_dealership',
65
+ 'historic_site',
66
+ 'travel_agency',
67
+ 'hospital',
68
+ 'insurance_broker',
69
+ 'clothing',
70
+ 'post_office',
71
+ 'advertising_agency',
72
+ 'alternative_healthcare',
73
+ 'it',
74
+ 'gas_station',
75
+ 'hospital_unit',
76
+ 'hardware_store',
77
+ 'monument',
78
+ 'phone_store',
79
+ 'mosque',
80
+ 'parking_lot',
81
+ 'commercial',
82
+ 'jewelry_store',
83
+ 'river',
84
+ 'elementary_school',
85
+ 'lake',
86
+ 'convenience_store',
87
+ 'physiotherapist',
88
+ 'dessert_shop',
89
+ 'psychotherapist',
90
+ 'playground',
91
+ 'gift_shop',
92
+ 'tailor',
93
+ 'nongovernmental_organization',
94
+ 'bed_and_breakfast',
95
+ 'laundry',
96
+ 'warehouse',
97
+ 'market',
98
+ 'shoe_store',
99
+ 'car_wash',
100
+ 'pet_store',
101
+ 'kindergarten',
102
+ 'cemetery',
103
+ 'sports_club',
104
+ 'field',
105
+ 'butcher_shop',
106
+ 'landscaping',
107
+ 'care_services',
108
+ 'florist',
109
+ 'spa',
110
+ 'garden',
111
+ 'psychological_services',
112
+ 'chiropractor',
113
+ 'photo_store',
114
+ 'charging_station',
115
+ 'car_rental',
116
+ 'college',
117
+ 'womens_clothing_store',
118
+ 'public_transportation_station',
119
+ 'internet_cafe',
120
+ 'design_studio',
121
+ 'mountain',
122
+ 'social_club',
123
+ 'copyshop',
124
+ 'paper_goods_store',
125
+ 'ice_cream',
126
+ 'liquor_store',
127
+ 'art',
128
+ 'pizza_restaurant',
129
+ 'event_planner',
130
+ 'medical_supply_store',
131
+ 'employment_agency',
132
+ 'museum',
133
+ 'community_center',
134
+ 'book_store',
135
+ 'massage_shop',
136
+ 'childcare',
137
+ 'nail_salon',
138
+ 'teahouse',
139
+ 'tobacco_shop',
140
+ 'taxi',
141
+ 'tax_advisor',
142
+ 'veterinarian',
143
+ 'mexican_restaurant',
144
+ 'event_space',
145
+ 'university',
146
+ 'studio',
147
+ 'assisted_living_facility',
148
+ 'medical_laboratory',
149
+ 'equipment_rental',
150
+ 'hostel',
151
+ 'forest',
152
+ 'indian_restaurant',
153
+ 'driving_school',
154
+ 'asian_restaurant',
155
+ 'high_school',
156
+ 'optician',
157
+ 'deli',
158
+ 'sports_shop',
159
+ 'bicycle_shop',
160
+ 'library',
161
+ 'arts_and_craft_store',
162
+ 'island',
163
+ 'department_store',
164
+ 'boutique',
165
+ 'dance_studio',
166
+ 'food_court',
167
+ 'diner_restaurant',
168
+ 'storage',
169
+ 'art_gallery',
170
+ 'fashion_accessory_shop',
171
+ 'health_food_store',
172
+ 'counselling',
173
+ 'bridge',
174
+ 'tutor',
175
+ 'tattoo_parlour',
176
+ 'dry_cleaners',
177
+ 'motorcycle_dealer',
178
+ 'nightclub',
179
+ 'fire_station',
180
+ 'police_station',
181
+ 'yoga_studio',
182
+ 'indonesian_restaurant',
183
+ 'fabric_store',
184
+ 'chinese_restaurant',
185
+ 'video_game_store',
186
+ 'news_kiosk',
187
+ 'music_school',
188
+ 'funeral_home',
189
+ 'theme_park',
190
+ 'breakfast_restaurant',
191
+ 'seafood_restaurant',
192
+ 'toy_store',
193
+ 'buddhist_temple',
194
+ 'brunch_restaurant',
195
+ 'japanese_restaurant',
196
+ 'soccer_field',
197
+ 'notary',
198
+ 'juice_bar',
199
+ 'noodle_restaurant',
200
+ 'fishing_store',
201
+ 'language_school',
202
+ 'government_offices',
203
+ 'baby_goods_shop',
204
+ 'theatre',
205
+ 'university_building',
206
+ 'furniture_maker',
207
+ 'bus_station',
208
+ 'burger_restaurant',
209
+ 'townhall',
210
+ 'swimming_pool',
211
+ 'winery',
212
+ 'dormitory',
213
+ 'recording_studio',
214
+ 'conference_center',
215
+ 'charity',
216
+ 'campground',
217
+ 'taco_shop',
218
+ 'pub',
219
+ 'snack_bar',
220
+ 'nature_reserve',
221
+ 'italian_restaurant',
222
+ 'music_shop',
223
+ 'public_artwork',
224
+ 'outdoor_sculpture',
225
+ 'laboratory',
226
+ 'antique_shop',
227
+ 'cinema',
228
+ 'music_venue',
229
+ 'barbeque_restaurant',
230
+ 'garden_store',
231
+ 'sandwich_shop',
232
+ 'american_restaurant',
233
+ 'stadium',
234
+ 'tourist_information',
235
+ 'waste_transfer_station',
236
+ 'recycling_center',
237
+ 'tours',
238
+ 'canal',
239
+ 'tennis_courts',
240
+ 'lighting_store',
241
+ 'pawnshop',
242
+ 'rehabilitation_center',
243
+ 'motel',
244
+ 'railway_station',
245
+ 'psychic',
246
+ 'mattress_store',
247
+ 'thrift_shop',
248
+ 'vape_shop',
249
+ 'golf_course',
250
+ 'rest_area',
251
+ 'radio_studio',
252
+ 'locksmith',
253
+ 'thai_restaurant',
254
+ 'watch_store',
255
+ 'labor_union',
256
+ 'vacation_rental',
257
+ 'bridal_shop',
258
+ 'boat_rental',
259
+ 'arts_center',
260
+ 'video_store',
261
+ 'brewery',
262
+ 'sushi_restaurant',
263
+ 'recreation_center',
264
+ 'basketball_court',
265
+ 'cobbler',
266
+ 'party_store',
267
+ 'kitchen_store',
268
+ 'shoe_repair',
269
+ 'bubble_tea',
270
+ 'airport',
271
+ 'leather_goods',
272
+ 'martial_arts_studio',
273
+ 'coworking_space',
274
+ 'home_repair',
275
+ 'outlet_store',
276
+ 'sewing_shop',
277
+ 'courthouse',
278
+ 'cannabis_dispensary',
279
+ 'beach',
280
+ 'fair_grounds',
281
+ 'pilates_studio',
282
+ 'stable',
283
+ 'concert_hall',
284
+ 'currency_exchange',
285
+ 'trade_school',
286
+ 'hobby_shop',
287
+ 'gymnastics',
288
+ 'herbalist',
289
+ 'discount_store',
290
+ 'donut_shop',
291
+ 'casino',
292
+ 'carpet_store',
293
+ 'frame_store',
294
+ 'tanning_salon',
295
+ 'karaoke_bar',
296
+ 'viewpoint',
297
+ 'camera_shop',
298
+ 'gun_store',
299
+ 'sports_center',
300
+ 'marina',
301
+ 'buffet_restaurant',
302
+ 'animal_shelter',
303
+ 'turkish_restaurant',
304
+ 'wine_bar',
305
+ 'tapas_restaurant',
306
+ 'pier',
307
+ 'spanish_restaurant',
308
+ 'television_studio',
309
+ 'korean_restaurant',
310
+ 'billiards',
311
+ 'vietnamese_restaurant',
312
+ 'baseball_field',
313
+ 'french_restaurant',
314
+ 'waste_disposal',
315
+ 'cocktail_bar',
316
+ 'picnic_shelter',
317
+ 'dog_park',
318
+ 'photo_lab',
319
+ 'steakhouse',
320
+ 'skatepark',
321
+ 'bookmaker',
322
+ 'resort',
323
+ 'fish_and_chips_restaurant',
324
+ 'greek_restaurant',
325
+ 'cheese_shop',
326
+ 'fireworks_store',
327
+ 'military_office',
328
+ 'sauna',
329
+ 'sports_bar',
330
+ 'vineyard',
331
+ 'beer_bar',
332
+ 'hookah_lounge',
333
+ 'mediterranean_restaurant',
334
+ 'african_restaurant',
335
+ 'gastropub',
336
+ 'community_college',
337
+ 'middle_eastern_restaurant',
338
+ 'salad_bar',
339
+ 'prison',
340
+ 'zoo',
341
+ 'racetrack',
342
+ 'dam',
343
+ 'climbing',
344
+ 'climbing_gym',
345
+ 'dialysis_center',
346
+ 'coffee_roaster',
347
+ 'bowling_alley',
348
+ 'boxing_gym',
349
+ 'emergency_room',
350
+ 'hunting_store',
351
+ 'synagogue',
352
+ 'waterfall',
353
+ 'luggage_store',
354
+ 'filipino_restaurant',
355
+ 'bagel_shop',
356
+ 'fishing',
357
+ 'cricket_club',
358
+ 'light_rail_station',
359
+ 'aquarium',
360
+ 'hot_dog_stand',
361
+ 'german_restaurant',
362
+ 'motorsports_store',
363
+ 'carribean_restaurant',
364
+ 'ice_rink',
365
+ 'ski_area',
366
+ 'frozen_yogurt_shop',
367
+ 'military_base',
368
+ 'summer_camp',
369
+ 'fishmonger',
370
+ 'distillery',
371
+ 'embassy',
372
+ 'exhibit',
373
+ 'treecare',
374
+ 'biergarten',
375
+ 'ramen_restaurant',
376
+ 'fountain',
377
+ 'surfboard_store',
378
+ 'check_cashing',
379
+ 'boat_or_ferry',
380
+ 'hunting_area',
381
+ 'disc_golf_course',
382
+ 'miniature_golf',
383
+ 'gay_bar',
384
+ 'optometrist',
385
+ 'water_park',
386
+ 'observatory',
387
+ 'cable_car',
388
+ 'cave',
389
+ 'plaza',
390
+ 'lounge',
391
+ 'korean_barbeque_restaurant',
392
+ 'hawaiian_restaurant',
393
+ 'town',
394
+ 'portuguese_restaurant',
395
+ 'latin_american_restaurant',
396
+ 'duty_free_shop',
397
+ 'brazilian_restaurant',
398
+ 'skydiving_drop_zone',
399
+ 'english_restaurant',
400
+ 'cuban_restaurant',
401
+ 'train',
402
+ 'persian_restaurant',
403
+ 'rugby_stadium',
404
+ 'gluten_free_restaurant',
405
+ 'creole_restaurant',
406
+ 'trailhead',
407
+ 'airport_terminal',
408
+ 'carpet_cleaner',
409
+ 'tiki_bar',
410
+ 'street',
411
+ 'intersection',
412
+ 'windmill',
413
+ 'information_technology_company',
414
+ 'bike_rental',
415
+ 'food_truck',
416
+ 'veterans_service',
417
+ 'wings_joint',
418
+ 'arcade',
419
+ 'outdoors_store',
420
+ 'irish_pub',
421
+ 'surf_spot',
422
+ 'peruvian_restaurant',
423
+ 'track',
424
+ 'chocolate_shop',
425
+ 'soccer_stadium',
426
+ 'cruise',
427
+ 'mountain_hut',
428
+ 'theme_park_attraction',
429
+ 'service_area',
430
+ 'ski_shop',
431
+ 'lighthouse',
432
+ 'airport_gate',
433
+ 'baseball_stadium',
434
+ 'basketball_stadium',
435
+ 'football_stadium',
436
+ 'go_kart_racing',
437
+ 'tech_startup',
438
+ 'dive_bar',
439
+ 'states_and_municipalities',
440
+ 'hockey_stadium',
441
+ 'laser_tag',
442
+ 'political_party_office',
443
+ 'driving_range',
444
+ 'stripclub',
445
+ 'well',
446
+ 'beach_bar',
447
+ 'tunnel',
448
+ 'waffle_shop',
449
+ 'ski_trail',
450
+ 'tennis_stadium',
451
+ 'boat_launch',
452
+ 'meeting_room',
453
+ 'rafting_spot',
454
+ 'scuba_diving_shop',
455
+ 'speakeasy',
456
+ 'university_book_store',
457
+ 'university_laboratory',
458
+ 'zoo_exhibit',
459
+ 'chairlift',
460
+ 'corporate_amenity',
461
+ 'indoor_cycling',
462
+ 'racecourse',
463
+ 'tree',
464
+ 'turkish_coffeehouse',
465
+ 'baggage_claim',
466
+ 'champagne_bar',
467
+ 'planetarium',
468
+ 'sake_bar',
469
+ 'village',
470
+ 'airport_ticket_counter',
471
+ 'beer_festival',
472
+ 'bus_line',
473
+ 'city',
474
+ 'country',
475
+ 'county',
476
+ 'graffiti',
477
+ 'hotel_bar',
478
+ 'lgbtq_organization',
479
+ 'moving_target',
480
+ 'neighbourhood',
481
+ 'pop_up_shop',
482
+ 'railway_platform',
483
+ 'road',
484
+ 'state',
485
+ 'variety_store',
486
+ 'whiskey_bar'
487
+ ].join(', ');
488
+ const CategorySearchInputSchema = z.object({
489
+ category: z
490
+ .string()
491
+ .describe(`The canonical category ID to search for. Supported categories include: ${SUPPORTED_CATEGORIES}`),
492
+ language: z
493
+ .string()
494
+ .optional()
495
+ .describe('ISO language code for the response (e.g., "en", "es", "fr", "de", "ja")'),
496
+ limit: z
497
+ .number()
498
+ .min(1)
499
+ .max(25)
500
+ .optional()
501
+ .default(10)
502
+ .describe('Maximum number of results to return (1-25)'),
503
+ proximity: z
504
+ .union([
505
+ z.tuple([z.number().min(-180).max(180), z.number().min(-90).max(90)]),
506
+ z.string().transform((val) => {
507
+ // Handle special case of 'ip'
508
+ if (val === 'ip') {
509
+ return 'ip';
510
+ }
511
+ // Handle string that looks like an array: "[-82.451668, 27.942964]"
512
+ if (val.startsWith('[') && val.endsWith(']')) {
513
+ const coords = val
514
+ .slice(1, -1)
515
+ .split(',')
516
+ .map((s) => Number(s.trim()));
517
+ if (coords.length === 2 && !isNaN(coords[0]) && !isNaN(coords[1])) {
518
+ return coords;
519
+ }
520
+ }
521
+ // Handle comma-separated string: "-82.451668,27.942964"
522
+ const parts = val.split(',').map((s) => Number(s.trim()));
523
+ if (parts.length === 2 && !isNaN(parts[0]) && !isNaN(parts[1])) {
524
+ return parts;
525
+ }
526
+ throw new Error('Invalid proximity format. Expected [longitude, latitude], "longitude,latitude", or "ip"');
527
+ })
528
+ ])
529
+ .optional()
530
+ .describe('Location to bias results towards. Either [longitude, latitude] or "ip" for IP-based location'),
531
+ bbox: z
532
+ .tuple([
533
+ z.number().min(-180).max(180),
534
+ z.number().min(-90).max(90),
535
+ z.number().min(-180).max(180),
536
+ z.number().min(-90).max(90)
537
+ ])
538
+ .optional()
539
+ .describe('Bounding box to limit results within [minLon, minLat, maxLon, maxLat]'),
540
+ country: z
541
+ .array(z.string().length(2))
542
+ .optional()
543
+ .describe('Array of ISO 3166 alpha 2 country codes to limit results'),
544
+ poi_category_exclusions: z
545
+ .array(z.string())
546
+ .optional()
547
+ .describe('Array of POI categories to exclude from results')
548
+ });
549
+ export class CategorySearchTool extends MapboxApiBasedTool {
550
+ name = 'CategorySearchTool';
551
+ description = "Return all places that match a category (industry, amenity, or NAICS‑style code). Use when the user asks for a type of place, plural or generic terms like 'museums', 'coffee shops', 'electric‑vehicle chargers', or when the query includes is‑a phrases such as 'any', 'all', 'nearby'. Do not use when a unique name or brand is provided.";
552
+ constructor() {
553
+ super({ inputSchema: CategorySearchInputSchema });
554
+ }
555
+ formatGeoJsonToText(geoJsonResponse) {
556
+ if (!geoJsonResponse ||
557
+ !geoJsonResponse.features ||
558
+ geoJsonResponse.features.length === 0) {
559
+ return 'No results found.';
560
+ }
561
+ const results = geoJsonResponse.features.map((feature, index) => {
562
+ const props = feature.properties || {};
563
+ const geom = feature.geometry || {};
564
+ let result = `${index + 1}. `;
565
+ // POI name
566
+ result += `${props.name}`;
567
+ if (props.name_preferred) {
568
+ result += ` (${props.name_preferred})`;
569
+ }
570
+ // Full address
571
+ if (props.full_address) {
572
+ result += `\n Address: ${props.full_address}`;
573
+ }
574
+ else if (props.place_formatted) {
575
+ result += `\n Address: ${props.place_formatted}`;
576
+ }
577
+ // Geographic coordinates
578
+ if (geom.coordinates && Array.isArray(geom.coordinates)) {
579
+ const [lng, lat] = geom.coordinates;
580
+ result += `\n Coordinates: ${lat}, ${lng}`;
581
+ }
582
+ // Feature type
583
+ if (props.feature_type) {
584
+ result += `\n Type: ${props.feature_type}`;
585
+ }
586
+ // Category information
587
+ if (props.poi_category && Array.isArray(props.poi_category)) {
588
+ result += `\n Category: ${props.poi_category.join(', ')}`;
589
+ }
590
+ else if (props.category) {
591
+ result += `\n Category: ${props.category}`;
592
+ }
593
+ return result;
594
+ });
595
+ return results.join('\n\n');
596
+ }
597
+ async execute(input) {
598
+ // Build URL with required parameters
599
+ const url = new URL(`${MapboxApiBasedTool.MAPBOX_API_ENDPOINT}search/searchbox/v1/category/${encodeURIComponent(input.category)}`);
600
+ // Add access token
601
+ url.searchParams.append('access_token', MapboxApiBasedTool.MAPBOX_ACCESS_TOKEN);
602
+ // Add optional parameters
603
+ if (input.language) {
604
+ url.searchParams.append('language', input.language);
605
+ }
606
+ if (input.limit !== undefined) {
607
+ url.searchParams.append('limit', input.limit.toString());
608
+ }
609
+ if (input.proximity) {
610
+ if (input.proximity === 'ip') {
611
+ url.searchParams.append('proximity', 'ip');
612
+ }
613
+ else {
614
+ const [lng, lat] = input.proximity;
615
+ url.searchParams.append('proximity', `${lng},${lat}`);
616
+ }
617
+ }
618
+ if (input.bbox) {
619
+ const [minLon, minLat, maxLon, maxLat] = input.bbox;
620
+ url.searchParams.append('bbox', `${minLon},${minLat},${maxLon},${maxLat}`);
621
+ }
622
+ if (input.country && input.country.length > 0) {
623
+ url.searchParams.append('country', input.country.join(','));
624
+ }
625
+ if (input.poi_category_exclusions &&
626
+ input.poi_category_exclusions.length > 0) {
627
+ url.searchParams.append('poi_category_exclusions', input.poi_category_exclusions.join(','));
628
+ }
629
+ // Make the request
630
+ const response = await fetch(url.toString());
631
+ if (!response.ok) {
632
+ throw new Error(`Failed to search category: ${response.status} ${response.statusText}`);
633
+ }
634
+ const data = await response.json();
635
+ return { type: 'text', text: this.formatGeoJsonToText(data) };
636
+ }
637
+ }
638
+ //# sourceMappingURL=CategorySearchTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CategorySearchTool.js","sourceRoot":"","sources":["../../../src/tools/category-search-tool/CategorySearchTool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=CategorySearchTool.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CategorySearchTool.test.d.ts","sourceRoot":"","sources":["../../../src/tools/category-search-tool/CategorySearchTool.test.ts"],"names":[],"mappings":""}