@mapbox/mcp-server 0.2.0-issue.11.2 → 0.2.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 (86) hide show
  1. package/README.md +4 -82
  2. package/dist/index.js +0 -0
  3. package/dist/tools/MapboxApiBasedTool.d.ts +0 -7
  4. package/dist/tools/MapboxApiBasedTool.d.ts.map +1 -1
  5. package/dist/tools/MapboxApiBasedTool.js +2 -24
  6. package/dist/tools/MapboxApiBasedTool.js.map +1 -1
  7. package/dist/tools/category-search-tool/CategorySearchTool.d.ts +6 -55
  8. package/dist/tools/category-search-tool/CategorySearchTool.d.ts.map +1 -1
  9. package/dist/tools/category-search-tool/CategorySearchTool.js +19 -47
  10. package/dist/tools/category-search-tool/CategorySearchTool.js.map +1 -1
  11. package/dist/tools/category-search-tool/CategorySearchTool.test.js +10 -90
  12. package/dist/tools/category-search-tool/CategorySearchTool.test.js.map +1 -1
  13. package/dist/tools/directions-tool/DirectionsTool.d.ts +14 -4
  14. package/dist/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
  15. package/dist/tools/directions-tool/DirectionsTool.js +55 -31
  16. package/dist/tools/directions-tool/DirectionsTool.js.map +1 -1
  17. package/dist/tools/directions-tool/DirectionsTool.test.js +160 -115
  18. package/dist/tools/directions-tool/DirectionsTool.test.js.map +1 -1
  19. package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.d.ts +9 -55
  20. package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.d.ts.map +1 -1
  21. package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.js +21 -44
  22. package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.js.map +1 -1
  23. package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.test.js +10 -90
  24. package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.test.js.map +1 -1
  25. package/dist/tools/isochrone-tool/IsochroneTool.d.ts +3 -18
  26. package/dist/tools/isochrone-tool/IsochroneTool.d.ts.map +1 -1
  27. package/dist/tools/isochrone-tool/IsochroneTool.js +3 -6
  28. package/dist/tools/isochrone-tool/IsochroneTool.js.map +1 -1
  29. package/dist/tools/isochrone-tool/IsochroneTool.test.js +7 -8
  30. package/dist/tools/isochrone-tool/IsochroneTool.test.js.map +1 -1
  31. package/dist/tools/matrix-tool/MatrixTool.d.ts +3 -18
  32. package/dist/tools/matrix-tool/MatrixTool.d.ts.map +1 -1
  33. package/dist/tools/matrix-tool/MatrixTool.js +6 -6
  34. package/dist/tools/matrix-tool/MatrixTool.js.map +1 -1
  35. package/dist/tools/matrix-tool/MatrixTool.test.js +115 -128
  36. package/dist/tools/matrix-tool/MatrixTool.test.js.map +1 -1
  37. package/dist/tools/poi-search-tool/PoiSearchTool.d.ts +9 -73
  38. package/dist/tools/poi-search-tool/PoiSearchTool.d.ts.map +1 -1
  39. package/dist/tools/poi-search-tool/PoiSearchTool.js +22 -53
  40. package/dist/tools/poi-search-tool/PoiSearchTool.js.map +1 -1
  41. package/dist/tools/poi-search-tool/PoiSearchTool.test.js +10 -90
  42. package/dist/tools/poi-search-tool/PoiSearchTool.test.js.map +1 -1
  43. package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts +2 -5
  44. package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts.map +1 -1
  45. package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.js +3 -13
  46. package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.js.map +1 -1
  47. package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.test.js +7 -70
  48. package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.test.js.map +1 -1
  49. package/dist/tools/static-map-image-tool/StaticMapImageTool.d.ts +6 -36
  50. package/dist/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -1
  51. package/dist/tools/static-map-image-tool/StaticMapImageTool.js +9 -12
  52. package/dist/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -1
  53. package/dist/tools/static-map-image-tool/StaticMapImageTool.test.js +47 -48
  54. package/dist/tools/static-map-image-tool/StaticMapImageTool.test.js.map +1 -1
  55. package/dist/utils/requestUtils.d.ts.map +1 -1
  56. package/dist/utils/requestUtils.js +2 -31
  57. package/dist/utils/requestUtils.js.map +1 -1
  58. package/dist/utils/requestUtils.test-helpers.d.ts.map +1 -1
  59. package/dist/utils/requestUtils.test-helpers.js +1 -5
  60. package/dist/utils/requestUtils.test-helpers.js.map +1 -1
  61. package/dist/version.json +4 -4
  62. package/package.json +2 -2
  63. package/dist/tools/MapboxApiBasedTool.test.d.ts +0 -2
  64. package/dist/tools/MapboxApiBasedTool.test.d.ts.map +0 -1
  65. package/dist/tools/MapboxApiBasedTool.test.js +0 -143
  66. package/dist/tools/MapboxApiBasedTool.test.js.map +0 -1
  67. package/dist/tools/directions-tool/cleanResponseData.d.ts +0 -11
  68. package/dist/tools/directions-tool/cleanResponseData.d.ts.map +0 -1
  69. package/dist/tools/directions-tool/cleanResponseData.js +0 -175
  70. package/dist/tools/directions-tool/cleanResponseData.js.map +0 -1
  71. package/dist/tools/directions-tool/cleanResponseData.test.d.ts +0 -2
  72. package/dist/tools/directions-tool/cleanResponseData.test.d.ts.map +0 -1
  73. package/dist/tools/directions-tool/cleanResponseData.test.js +0 -295
  74. package/dist/tools/directions-tool/cleanResponseData.test.js.map +0 -1
  75. package/dist/tools/directions-tool/formatIsoDateTime.d.ts +0 -8
  76. package/dist/tools/directions-tool/formatIsoDateTime.d.ts.map +0 -1
  77. package/dist/tools/directions-tool/formatIsoDateTime.js +0 -17
  78. package/dist/tools/directions-tool/formatIsoDateTime.js.map +0 -1
  79. package/dist/tools/directions-tool/formatIsoDateTime.test.d.ts +0 -2
  80. package/dist/tools/directions-tool/formatIsoDateTime.test.d.ts.map +0 -1
  81. package/dist/tools/directions-tool/formatIsoDateTime.test.js +0 -26
  82. package/dist/tools/directions-tool/formatIsoDateTime.test.js.map +0 -1
  83. package/dist/utils/requestUtils.test.d.ts +0 -2
  84. package/dist/utils/requestUtils.test.d.ts.map +0 -1
  85. package/dist/utils/requestUtils.test.js +0 -115
  86. package/dist/utils/requestUtils.test.js.map +0 -1
package/README.md CHANGED
@@ -37,41 +37,6 @@ For detailed setup instructions for different integrations, refer to the followi
37
37
  - [VS Code Setup](./docs/vscode-setup.md) - Setting up a development environment in Visual Studio Code
38
38
  - [Smolagents Integration](./docs/using-mcp-with-smolagents/README.md) - Example showing how to connect Smolagents AI agents to Mapbox's tools
39
39
 
40
- ## Example Prompts
41
-
42
- Try these prompts with Claude Desktop or other MCP clients after setup:
43
-
44
- ### Location Discovery
45
-
46
- - "Find coffee shops within walking distance of the Empire State Building"
47
- - "Show me gas stations along the route from Boston to New York"
48
- - "What restaurants are near Times Square?"
49
-
50
- ### Navigation & Travel
51
-
52
- - "Get driving directions from LAX to Hollywood with current traffic"
53
- - "How long would it take to walk from Central Park to Times Square?"
54
- - "Calculate travel time from my hotel (Four Seasons) to JFK Airport by taxi during rush hour"
55
-
56
- ### Visualization & Maps
57
-
58
- - "Create a map image showing the route from Golden Gate Bridge to Fisherman's Wharf with markers at both locations"
59
- - "Show me a satellite view of Manhattan with key landmarks marked"
60
- - "Generate a map highlighting all Starbucks locations within a mile of downtown Seattle"
61
-
62
- ### Analysis & Planning
63
-
64
- - "Show me areas reachable within 30 minutes of downtown Portland by car"
65
- - "Calculate a travel time matrix between these 3 hotel locations (Marriott, Sheraton and Hilton) and the convention center in Denver"
66
- - "Find the optimal route visiting these 3 tourist attractions (Golden Gate, Musical Stairs and Fisherman's Wharf) in San Francisco"
67
-
68
- ### Tips for Better Results
69
-
70
- - Be specific about locations (use full addresses or landmark names)
71
- - Specify your preferred travel method (driving, walking, cycling)
72
- - Include time constraints when relevant ("during rush hour", "at 3 PM")
73
- - Ask for specific output formats when needed ("as a map image", "in JSON format")
74
-
75
40
  ## Tools
76
41
 
77
42
  ### Mapbox API tools
@@ -147,12 +112,13 @@ Fetches routing directions using the [Mapbox Directions API](https://docs.mapbox
147
112
  - Future departure time (`depart_at`) for driving and driving-traffic profiles
148
113
  - Desired arrival time (`arrive_by`) for driving profile only
149
114
  - Profile-specific optimizations:
115
+ - Walking: customizable walking speed and bias for/against walkways
150
116
  - Driving: vehicle dimension constraints (height, width, weight)
151
117
  - Exclusion options for routing:
152
118
  - Common exclusions: ferry routes, cash-only tolls
153
119
  - Driving-specific exclusions: tolls, motorways, unpaved roads, tunnels, country borders, state borders
154
120
  - Custom point exclusions (up to 50 geographic points to avoid)
155
- - GeoJSON geometry output format
121
+ - Multiple geometry output formats (GeoJSON, polyline)
156
122
 
157
123
  #### Isochrone tool
158
124
 
@@ -203,53 +169,9 @@ Set `VERBOSE_ERRORS=true` to get detailed error messages from the MCP server. Th
203
169
 
204
170
  By default, the server returns generic error messages. With verbose errors enabled, you'll receive the actual error details, which can help diagnose API connection issues, invalid parameters, or other problems.
205
171
 
206
- ## Data Usage & Privacy
207
-
208
- ### What data is sent to Mapbox APIs
209
-
210
- When you use the MCP server tools, the following data is sent directly from your environment to Mapbox APIs:
211
-
212
- - **Geocoding tools**: Address/location text, coordinates, country/region filters
213
- - **Search tools**: Search queries, location coordinates for proximity, category filters
214
- - **Directions tool**: Start/end coordinates, waypoints, routing preferences, vehicle constraints
215
- - **Matrix tool**: Multiple coordinate pairs, travel profile, departure times
216
- - **Static map tool**: Coordinates, zoom level, styling preferences, marker information
217
- - **Isochrone tool**: Origin coordinates, time/distance parameters, travel profile
218
-
219
- ### Your privacy
220
-
221
- - **Local execution**: All API calls are made directly from your environment to Mapbox APIs
222
- - **Token security**: Your Mapbox API token remains on your local machine and is never transmitted to or stored by this MCP server
223
- - **No data storage**: This MCP server does not store, log, or collect any of your data or API requests
224
- - **Direct communication**: There is no intermediary server between you and Mapbox APIs
225
-
226
- ### Third-party data usage
227
-
228
- - **Mapbox's privacy policy** governs data sent to their APIs: https://www.mapbox.com/legal/privacy/
229
- - **API usage**: Standard Mapbox API terms apply to all requests made through these tools
230
- - **Data retention**: Refer to Mapbox's documentation for their data retention policies
231
-
232
- ## Support & Contact
233
-
234
- ### For MCP Server Issues
235
-
236
- - **Email**: mcp-feedback@mapbox.com
237
- - **GitHub Issues**: [Report bugs and feature requests](https://github.com/mapbox/mcp-server/issues)
238
-
239
- ### For Mapbox API Questions
240
-
241
- - **Mapbox Support**: https://support.mapbox.com/
242
- - **Documentation**: https://docs.mapbox.com/
243
- - **API Status**: https://status.mapbox.com/
244
-
245
- ### Maintenance Commitment
246
-
247
- This MCP server is officially maintained by Mapbox, Inc. We provide:
172
+ ## Feedback
248
173
 
249
- - Regular updates for new Mapbox API features
250
- - Bug fixes and security updates
251
- - Compatibility with latest MCP protocol versions
252
- - Community support through GitHub issues
174
+ For feedback and questions about this MCP server, email mcp-feedback@mapbox.com.
253
175
 
254
176
  ---
255
177
 
package/dist/index.js CHANGED
File without changes
@@ -55,13 +55,6 @@ export declare abstract class MapboxApiBasedTool<InputSchema extends ZodTypeAny>
55
55
  constructor(params: {
56
56
  inputSchema: InputSchema;
57
57
  });
58
- /**
59
- * Validates if a string has the format of a JWT token (header.payload.signature)
60
- * Docs: https://docs.mapbox.com/api/accounts/tokens/#token-format
61
- * @param token The token string to validate
62
- * @returns boolean indicating if the token has valid JWT format
63
- */
64
- private isValidJwtFormat;
65
58
  /**
66
59
  * Validates and runs the tool logic.
67
60
  */
@@ -1 +1 @@
1
- {"version":3,"file":"MapboxApiBasedTool.d.ts","sourceRoot":"","sources":["../../src/tools/MapboxApiBasedTool.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,cAAc,EACf,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAEpC,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAevB,CAAC;AAEH,8BAAsB,kBAAkB,CAAC,WAAW,SAAS,UAAU;IACrE,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAEtC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAQ;IAE1C,MAAM,CAAC,QAAQ,CAAC,mBAAmB,qBAAmC;IACtE,MAAM,CAAC,QAAQ,CAAC,mBAAmB,SAC4B;gBAEnD,MAAM,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE;IAIhD;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IASxB;;OAEG;IACG,GAAG,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;IAwDnE;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAEtE;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,cAAc;IAU5C;;OAEG;IACH,SAAS,CAAC,GAAG,CACX,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,EAC7C,IAAI,EAAE,GAAG,GACR,IAAI;CAKR"}
1
+ {"version":3,"file":"MapboxApiBasedTool.d.ts","sourceRoot":"","sources":["../../src/tools/MapboxApiBasedTool.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,cAAc,EACf,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAEpC,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAevB,CAAC;AAEH,8BAAsB,kBAAkB,CAAC,WAAW,SAAS,UAAU;IACrE,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAEtC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAQ;IAE1C,MAAM,CAAC,QAAQ,CAAC,mBAAmB,qBAAmC;IACtE,MAAM,CAAC,QAAQ,CAAC,mBAAmB,SAC4B;gBAEnD,MAAM,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE;IAIhD;;OAEG;IACG,GAAG,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;IA2CnE;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAEtE;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,cAAc;IAU5C;;OAEG;IACH,SAAS,CAAC,GAAG,CACX,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,EAC7C,IAAI,EAAE,GAAG,GACR,IAAI;CAKR"}
@@ -21,20 +21,6 @@ export class MapboxApiBasedTool {
21
21
  constructor(params) {
22
22
  this.inputSchema = params.inputSchema;
23
23
  }
24
- /**
25
- * Validates if a string has the format of a JWT token (header.payload.signature)
26
- * Docs: https://docs.mapbox.com/api/accounts/tokens/#token-format
27
- * @param token The token string to validate
28
- * @returns boolean indicating if the token has valid JWT format
29
- */
30
- isValidJwtFormat(token) {
31
- // JWT consists of three parts separated by dots: header.payload.signature
32
- const parts = token.split('.');
33
- if (parts.length !== 3)
34
- return false;
35
- // Check that all parts are non-empty
36
- return parts.every((part) => part.length > 0);
37
- }
38
24
  /**
39
25
  * Validates and runs the tool logic.
40
26
  */
@@ -43,10 +29,6 @@ export class MapboxApiBasedTool {
43
29
  if (!MapboxApiBasedTool.MAPBOX_ACCESS_TOKEN) {
44
30
  throw new Error('MAPBOX_ACCESS_TOKEN is not set');
45
31
  }
46
- // Validate that the token has the correct JWT format
47
- if (!this.isValidJwtFormat(MapboxApiBasedTool.MAPBOX_ACCESS_TOKEN)) {
48
- throw new Error('MAPBOX_ACCESS_TOKEN is not in valid JWT format');
49
- }
50
32
  const input = this.inputSchema.parse(rawInput);
51
33
  const result = await this.execute(input);
52
34
  // Check if result is already a content object (image or text)
@@ -65,16 +47,12 @@ export class MapboxApiBasedTool {
65
47
  };
66
48
  }
67
49
  catch (error) {
68
- const errorMessage = error instanceof Error ? error.message : String(error);
69
- this.log('error', `${this.name}: Error during execution: ${errorMessage}`);
70
- const isVerboseErrors = process.env.VERBOSE_ERRORS === 'true';
50
+ this.log('error', `${this.name}: Error during execution: ${error instanceof Error ? error.message : String(error)}`);
71
51
  return {
72
52
  content: [
73
53
  {
74
54
  type: 'text',
75
- text: isVerboseErrors
76
- ? errorMessage
77
- : 'Internal error has occurred.'
55
+ text: 'Internal error has occurred.'
78
56
  }
79
57
  ],
80
58
  is_error: true
@@ -1 +1 @@
1
- {"version":3,"file":"MapboxApiBasedTool.js","sourceRoot":"","sources":["../../src/tools/MapboxApiBasedTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MapboxApiBasedTool.js","sourceRoot":"","sources":["../../src/tools/MapboxApiBasedTool.ts"],"names":[],"mappings":"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"}
@@ -4,75 +4,26 @@ declare const CategorySearchInputSchema: z.ZodObject<{
4
4
  category: z.ZodString;
5
5
  language: z.ZodOptional<z.ZodString>;
6
6
  limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
7
- proximity: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
8
- longitude: z.ZodNumber;
9
- latitude: z.ZodNumber;
10
- }, "strip", z.ZodTypeAny, {
11
- longitude: number;
12
- latitude: number;
13
- }, {
14
- longitude: number;
15
- latitude: number;
16
- }>, z.ZodEffects<z.ZodString, "ip" | {
17
- longitude: any;
18
- latitude: any;
19
- }, string>]>>;
20
- bbox: z.ZodOptional<z.ZodObject<{
21
- minLongitude: z.ZodNumber;
22
- minLatitude: z.ZodNumber;
23
- maxLongitude: z.ZodNumber;
24
- maxLatitude: z.ZodNumber;
25
- }, "strip", z.ZodTypeAny, {
26
- minLongitude: number;
27
- minLatitude: number;
28
- maxLongitude: number;
29
- maxLatitude: number;
30
- }, {
31
- minLongitude: number;
32
- minLatitude: number;
33
- maxLongitude: number;
34
- maxLatitude: number;
35
- }>>;
7
+ proximity: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodEffects<z.ZodString, [number, number] | "ip", string>]>>;
8
+ bbox: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
36
9
  country: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
37
10
  poi_category_exclusions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
38
- format: z.ZodDefault<z.ZodOptional<z.ZodEnum<["json_string", "formatted_text"]>>>;
39
11
  }, "strip", z.ZodTypeAny, {
40
12
  category: string;
41
13
  limit: number;
42
- format: "json_string" | "formatted_text";
43
14
  country?: string[] | undefined;
44
15
  language?: string | undefined;
45
- proximity?: {
46
- longitude: number;
47
- latitude: number;
48
- } | "ip" | {
49
- longitude: any;
50
- latitude: any;
51
- } | undefined;
52
- bbox?: {
53
- minLongitude: number;
54
- minLatitude: number;
55
- maxLongitude: number;
56
- maxLatitude: number;
57
- } | undefined;
16
+ proximity?: [number, number] | "ip" | undefined;
17
+ bbox?: [number, number, number, number] | undefined;
58
18
  poi_category_exclusions?: string[] | undefined;
59
19
  }, {
60
20
  category: string;
61
21
  country?: string[] | undefined;
62
22
  language?: string | undefined;
63
23
  limit?: number | undefined;
64
- proximity?: string | {
65
- longitude: number;
66
- latitude: number;
67
- } | undefined;
68
- bbox?: {
69
- minLongitude: number;
70
- minLatitude: number;
71
- maxLongitude: number;
72
- maxLatitude: number;
73
- } | undefined;
24
+ proximity?: string | [number, number] | undefined;
25
+ bbox?: [number, number, number, number] | undefined;
74
26
  poi_category_exclusions?: string[] | undefined;
75
- format?: "json_string" | "formatted_text" | undefined;
76
27
  }>;
77
28
  export declare class CategorySearchTool extends MapboxApiBasedTool<typeof CategorySearchInputSchema> {
78
29
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"CategorySearchTool.d.ts","sourceRoot":"","sources":["../../../src/tools/category-search-tool/CategorySearchTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAwe9D,QAAA,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8F7B,CAAC;AAEH,qBAAa,kBAAmB,SAAQ,kBAAkB,CACxD,OAAO,yBAAyB,CACjC;IACC,IAAI,SAAwB;IAC5B,WAAW,SACoX;;IAM/X,OAAO,CAAC,mBAAmB;cAsDX,OAAO,CACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,GAC/C,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAsE3C"}
1
+ {"version":3,"file":"CategorySearchTool.d.ts","sourceRoot":"","sources":["../../../src/tools/category-search-tool/CategorySearchTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAwe9D,QAAA,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;EAsE7B,CAAC;AAEH,qBAAa,kBAAmB,SAAQ,kBAAkB,CACxD,OAAO,yBAAyB,CACjC;IACC,IAAI,SAAwB;IAC5B,WAAW,SACwU;;IAMnV,OAAO,CAAC,mBAAmB;cAsDX,OAAO,CACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,GAC/C,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAgE3C"}
@@ -502,30 +502,12 @@ const CategorySearchInputSchema = z.object({
502
502
  .describe('Maximum number of results to return (1-25)'),
503
503
  proximity: z
504
504
  .union([
505
- z.object({
506
- longitude: z.number().min(-180).max(180),
507
- latitude: z.number().min(-90).max(90)
508
- }),
505
+ z.tuple([z.number().min(-180).max(180), z.number().min(-90).max(90)]),
509
506
  z.string().transform((val) => {
510
507
  // Handle special case of 'ip'
511
508
  if (val === 'ip') {
512
509
  return 'ip';
513
510
  }
514
- // Handle JSON-stringified object: "{\"longitude\": -82.458107, \"latitude\": 27.937259}"
515
- if (val.startsWith('{') && val.endsWith('}')) {
516
- try {
517
- const parsed = JSON.parse(val);
518
- if (typeof parsed === 'object' &&
519
- parsed !== null &&
520
- typeof parsed.longitude === 'number' &&
521
- typeof parsed.latitude === 'number') {
522
- return { longitude: parsed.longitude, latitude: parsed.latitude };
523
- }
524
- }
525
- catch {
526
- // Fall back to other formats
527
- }
528
- }
529
511
  // Handle string that looks like an array: "[-82.451668, 27.942964]"
530
512
  if (val.startsWith('[') && val.endsWith(']')) {
531
513
  const coords = val
@@ -533,28 +515,28 @@ const CategorySearchInputSchema = z.object({
533
515
  .split(',')
534
516
  .map((s) => Number(s.trim()));
535
517
  if (coords.length === 2 && !isNaN(coords[0]) && !isNaN(coords[1])) {
536
- return { longitude: coords[0], latitude: coords[1] };
518
+ return coords;
537
519
  }
538
520
  }
539
521
  // Handle comma-separated string: "-82.451668,27.942964"
540
522
  const parts = val.split(',').map((s) => Number(s.trim()));
541
523
  if (parts.length === 2 && !isNaN(parts[0]) && !isNaN(parts[1])) {
542
- return { longitude: parts[0], latitude: parts[1] };
524
+ return parts;
543
525
  }
544
- throw new Error('Invalid proximity format. Expected {longitude, latitude}, "longitude,latitude", or "ip"');
526
+ throw new Error('Invalid proximity format. Expected [longitude, latitude], "longitude,latitude", or "ip"');
545
527
  })
546
528
  ])
547
529
  .optional()
548
- .describe('Location to bias results towards. Either coordinate object with longitude and latitude or "ip" for IP-based location'),
530
+ .describe('Location to bias results towards. Either [longitude, latitude] or "ip" for IP-based location'),
549
531
  bbox: z
550
- .object({
551
- minLongitude: z.number().min(-180).max(180),
552
- minLatitude: z.number().min(-90).max(90),
553
- maxLongitude: z.number().min(-180).max(180),
554
- maxLatitude: z.number().min(-90).max(90)
555
- })
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
+ ])
556
538
  .optional()
557
- .describe('Bounding box to limit results within specified bounds'),
539
+ .describe('Bounding box to limit results within [minLon, minLat, maxLon, maxLat]'),
558
540
  country: z
559
541
  .array(z.string().length(2))
560
542
  .optional()
@@ -562,16 +544,11 @@ const CategorySearchInputSchema = z.object({
562
544
  poi_category_exclusions: z
563
545
  .array(z.string())
564
546
  .optional()
565
- .describe('Array of POI categories to exclude from results'),
566
- format: z
567
- .enum(['json_string', 'formatted_text'])
568
- .optional()
569
- .default('formatted_text')
570
- .describe('Output format: "json_string" returns raw GeoJSON data as a JSON string that can be parsed; "formatted_text" returns human-readable text with place names, addresses, and coordinates. Both return as text content but json_string contains parseable JSON data while formatted_text is for display.')
547
+ .describe('Array of POI categories to exclude from results')
571
548
  });
572
549
  export class CategorySearchTool extends MapboxApiBasedTool {
573
550
  name = 'CategorySearchTool';
574
- 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. Supports both JSON and text output formats.";
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.";
575
552
  constructor() {
576
553
  super({ inputSchema: CategorySearchInputSchema });
577
554
  }
@@ -634,13 +611,13 @@ export class CategorySearchTool extends MapboxApiBasedTool {
634
611
  url.searchParams.append('proximity', 'ip');
635
612
  }
636
613
  else {
637
- const { longitude, latitude } = input.proximity;
638
- url.searchParams.append('proximity', `${longitude},${latitude}`);
614
+ const [lng, lat] = input.proximity;
615
+ url.searchParams.append('proximity', `${lng},${lat}`);
639
616
  }
640
617
  }
641
618
  if (input.bbox) {
642
- const { minLongitude, minLatitude, maxLongitude, maxLatitude } = input.bbox;
643
- url.searchParams.append('bbox', `${minLongitude},${minLatitude},${maxLongitude},${maxLatitude}`);
619
+ const [minLon, minLat, maxLon, maxLat] = input.bbox;
620
+ url.searchParams.append('bbox', `${minLon},${minLat},${maxLon},${maxLat}`);
644
621
  }
645
622
  if (input.country && input.country.length > 0) {
646
623
  url.searchParams.append('country', input.country.join(','));
@@ -655,12 +632,7 @@ export class CategorySearchTool extends MapboxApiBasedTool {
655
632
  throw new Error(`Failed to search category: ${response.status} ${response.statusText}`);
656
633
  }
657
634
  const data = await response.json();
658
- if (input.format === 'json_string') {
659
- return { type: 'text', text: JSON.stringify(data, null, 2) };
660
- }
661
- else {
662
- return { type: 'text', text: this.formatGeoJsonToText(data) };
663
- }
635
+ return { type: 'text', text: this.formatGeoJsonToText(data) };
664
636
  }
665
637
  }
666
638
  //# sourceMappingURL=CategorySearchTool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CategorySearchTool.js","sourceRoot":"","sources":["../../../src/tools/category-search-tool/CategorySearchTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CategorySearchTool.js","sourceRoot":"","sources":["../../../src/tools/category-search-tool/CategorySearchTool.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  // Set the token before importing the tool
2
- process.env.MAPBOX_ACCESS_TOKEN =
3
- 'eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZXN0In0.signature';
2
+ process.env.MAPBOX_ACCESS_TOKEN = 'test-token';
4
3
  import { setupFetch, assertHeadersSent } from '../../utils/requestUtils.test-helpers.js';
5
4
  import { CategorySearchTool } from '../category-search-tool/CategorySearchTool.js';
6
5
  describe('CategorySearchTool', () => {
@@ -29,13 +28,8 @@ describe('CategorySearchTool', () => {
29
28
  category: 'hotel',
30
29
  language: 'es',
31
30
  limit: 15,
32
- proximity: { longitude: -74.006, latitude: 40.7128 },
33
- bbox: {
34
- minLongitude: -74.1,
35
- minLatitude: 40.6,
36
- maxLongitude: -73.9,
37
- maxLatitude: 40.8
38
- },
31
+ proximity: [-74.006, 40.7128],
32
+ bbox: [-74.1, 40.6, -73.9, 40.8],
39
33
  country: ['US', 'CA'],
40
34
  poi_category_exclusions: ['motel', 'hostel']
41
35
  });
@@ -75,15 +69,6 @@ describe('CategorySearchTool', () => {
75
69
  const calledUrl = mockFetch.mock.calls[0][0];
76
70
  expect(calledUrl).toContain('proximity=-82.451668%2C27.942964');
77
71
  });
78
- it('handles JSON-stringified object format proximity', async () => {
79
- const mockFetch = setupFetch();
80
- await new CategorySearchTool().run({
81
- category: 'taco_shop',
82
- proximity: '{"longitude": -82.458107, "latitude": 27.937259}'
83
- });
84
- const calledUrl = mockFetch.mock.calls[0][0];
85
- expect(calledUrl).toContain('proximity=-82.458107%2C27.937259');
86
- });
87
72
  it('uses default limit when not specified', async () => {
88
73
  const mockFetch = setupFetch();
89
74
  await new CategorySearchTool().run({
@@ -129,19 +114,14 @@ describe('CategorySearchTool', () => {
129
114
  // Test invalid longitude in proximity
130
115
  await expect(tool.run({
131
116
  category: 'parking',
132
- proximity: { longitude: -181, latitude: 40 }
117
+ proximity: [-181, 40]
133
118
  })).resolves.toMatchObject({
134
119
  is_error: true
135
120
  });
136
121
  // Test invalid latitude in bbox
137
122
  await expect(tool.run({
138
123
  category: 'parking',
139
- bbox: {
140
- minLongitude: -74,
141
- minLatitude: -91,
142
- maxLongitude: -73,
143
- maxLatitude: 40
144
- }
124
+ bbox: [-74, -91, -73, 40]
145
125
  })).resolves.toMatchObject({
146
126
  is_error: true
147
127
  });
@@ -181,8 +161,7 @@ describe('CategorySearchTool', () => {
181
161
  });
182
162
  expect(result.is_error).toBe(false);
183
163
  expect(result.content[0].type).toBe('text');
184
- const textContent = result.content[0]
185
- .text;
164
+ const textContent = result.content[0].text;
186
165
  expect(textContent).toContain('1. Local Coffee Shop');
187
166
  expect(textContent).toContain('Address: 456 Oak St, Portland, OR 97205');
188
167
  expect(textContent).toContain('Coordinates: 45.515, -122.676');
@@ -214,8 +193,7 @@ describe('CategorySearchTool', () => {
214
193
  category: 'fast_food'
215
194
  });
216
195
  expect(result.is_error).toBe(false);
217
- const textContent = result.content[0]
218
- .text;
196
+ const textContent = result.content[0].text;
219
197
  expect(textContent).toContain("1. McDonalds (McDonald's)");
220
198
  expect(textContent).toContain('Address: 123 Main St, Boston, MA');
221
199
  expect(textContent).toContain('Coordinates: 42.3601, -71.0589');
@@ -245,7 +223,7 @@ describe('CategorySearchTool', () => {
245
223
  },
246
224
  geometry: {
247
225
  type: 'Point',
248
- coordinates: [-122.34, 47.61]
226
+ coordinates: [-122.340, 47.610]
249
227
  }
250
228
  }
251
229
  ]
@@ -258,8 +236,7 @@ describe('CategorySearchTool', () => {
258
236
  limit: 2
259
237
  });
260
238
  expect(result.is_error).toBe(false);
261
- const textContent = result.content[0]
262
- .text;
239
+ const textContent = result.content[0].text;
263
240
  expect(textContent).toContain('1. Target');
264
241
  expect(textContent).toContain('2. Walmart');
265
242
  expect(textContent).toContain('100 Store St, Seattle, WA 98101');
@@ -303,67 +280,10 @@ describe('CategorySearchTool', () => {
303
280
  category: 'gas_station'
304
281
  });
305
282
  expect(result.is_error).toBe(false);
306
- const textContent = result.content[0]
307
- .text;
283
+ const textContent = result.content[0].text;
308
284
  expect(textContent).toContain('1. Some Gas Station');
309
285
  expect(textContent).toContain('Coordinates: 40.7128, -74.006');
310
286
  expect(textContent).not.toContain('Address:');
311
287
  });
312
- it('returns JSON string format when requested', async () => {
313
- const mockResponse = {
314
- type: 'FeatureCollection',
315
- features: [
316
- {
317
- type: 'Feature',
318
- properties: {
319
- name: 'Test Restaurant',
320
- full_address: '123 Test St, Test City, TC 12345'
321
- },
322
- geometry: {
323
- type: 'Point',
324
- coordinates: [-122.676, 45.515]
325
- }
326
- }
327
- ]
328
- };
329
- const mockFetch = setupFetch({
330
- json: async () => mockResponse
331
- });
332
- const result = await new CategorySearchTool().run({
333
- category: 'restaurant',
334
- format: 'json_string'
335
- });
336
- expect(result.is_error).toBe(false);
337
- expect(result.content[0].type).toBe('text');
338
- const jsonContent = result.content[0]
339
- .text;
340
- expect(JSON.parse(jsonContent)).toEqual(mockResponse);
341
- });
342
- it('defaults to formatted_text format when format not specified', async () => {
343
- const mockResponse = {
344
- type: 'FeatureCollection',
345
- features: [
346
- {
347
- type: 'Feature',
348
- properties: {
349
- name: 'Test Cafe'
350
- },
351
- geometry: {
352
- type: 'Point',
353
- coordinates: [-122.676, 45.515]
354
- }
355
- }
356
- ]
357
- };
358
- const mockFetch = setupFetch({
359
- json: async () => mockResponse
360
- });
361
- const result = await new CategorySearchTool().run({
362
- category: 'cafe'
363
- });
364
- expect(result.is_error).toBe(false);
365
- expect(result.content[0].type).toBe('text');
366
- expect(result.content[0].text).toContain('1. Test Cafe');
367
- });
368
288
  });
369
289
  //# sourceMappingURL=CategorySearchTool.test.js.map