@mapbox/mcp-server 0.2.1-dev.3 → 0.2.2
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.
- package/README.md +85 -4
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/tools/directions-tool/DirectionsTool.d.ts +7 -32
- package/dist/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
- package/dist/tools/directions-tool/DirectionsTool.js +41 -66
- package/dist/tools/directions-tool/DirectionsTool.js.map +1 -1
- package/dist/tools/directions-tool/DirectionsTool.test.js +208 -257
- package/dist/tools/directions-tool/DirectionsTool.test.js.map +1 -1
- package/dist/tools/directions-tool/cleanResponseData.d.ts +11 -0
- package/dist/tools/directions-tool/cleanResponseData.d.ts.map +1 -0
- package/dist/tools/directions-tool/cleanResponseData.js +175 -0
- package/dist/tools/directions-tool/cleanResponseData.js.map +1 -0
- package/dist/tools/directions-tool/cleanResponseData.test.d.ts +2 -0
- package/dist/tools/directions-tool/cleanResponseData.test.d.ts.map +1 -0
- package/dist/tools/directions-tool/cleanResponseData.test.js +295 -0
- package/dist/tools/directions-tool/cleanResponseData.test.js.map +1 -0
- package/dist/tools/directions-tool/formatIsoDateTime.d.ts +8 -0
- package/dist/tools/directions-tool/formatIsoDateTime.d.ts.map +1 -0
- package/dist/tools/directions-tool/formatIsoDateTime.js +17 -0
- package/dist/tools/directions-tool/formatIsoDateTime.js.map +1 -0
- package/dist/tools/directions-tool/formatIsoDateTime.test.d.ts +2 -0
- package/dist/tools/directions-tool/formatIsoDateTime.test.d.ts.map +1 -0
- package/dist/tools/directions-tool/formatIsoDateTime.test.js +26 -0
- package/dist/tools/directions-tool/formatIsoDateTime.test.js.map +1 -0
- package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.d.ts +3 -3
- package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.d.ts.map +1 -1
- package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.js +11 -6
- package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.js.map +1 -1
- package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.test.js +57 -1
- package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.test.js.map +1 -1
- package/dist/tools/poi-search-tool/PoiSearchTool.d.ts +3 -0
- package/dist/tools/poi-search-tool/PoiSearchTool.d.ts.map +1 -1
- package/dist/tools/poi-search-tool/PoiSearchTool.js +13 -3
- package/dist/tools/poi-search-tool/PoiSearchTool.js.map +1 -1
- package/dist/tools/poi-search-tool/PoiSearchTool.test.js +56 -0
- package/dist/tools/poi-search-tool/PoiSearchTool.test.js.map +1 -1
- package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts +3 -0
- package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts.map +1 -1
- package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.js +13 -3
- package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.js.map +1 -1
- package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.test.js +58 -0
- package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.test.js.map +1 -1
- package/dist/tools/schema-validation.test.d.ts +2 -0
- package/dist/tools/schema-validation.test.d.ts.map +1 -0
- package/dist/tools/schema-validation.test.js +81 -0
- package/dist/tools/schema-validation.test.js.map +1 -0
- package/dist/tools/version-tool/VersionTool.d.ts +18 -0
- package/dist/tools/version-tool/VersionTool.d.ts.map +1 -0
- package/dist/tools/version-tool/VersionTool.js +50 -0
- package/dist/tools/version-tool/VersionTool.js.map +1 -0
- package/dist/tools/version-tool/VersionTool.test.d.ts +2 -0
- package/dist/tools/version-tool/VersionTool.test.d.ts.map +1 -0
- package/dist/tools/version-tool/VersionTool.test.js +49 -0
- package/dist/tools/version-tool/VersionTool.test.js.map +1 -0
- package/dist/utils/requestUtils.d.ts.map +1 -1
- package/dist/utils/requestUtils.js +33 -2
- package/dist/utils/requestUtils.js.map +1 -1
- package/dist/utils/requestUtils.test-helpers.d.ts.map +1 -1
- package/dist/utils/requestUtils.test-helpers.js +5 -1
- package/dist/utils/requestUtils.test-helpers.js.map +1 -1
- package/dist/utils/requestUtils.test.d.ts +2 -0
- package/dist/utils/requestUtils.test.d.ts.map +1 -0
- package/dist/utils/requestUtils.test.js +115 -0
- package/dist/utils/requestUtils.test.js.map +1 -0
- package/dist/utils/schemaUtils.d.ts +9 -0
- package/dist/utils/schemaUtils.d.ts.map +1 -0
- package/dist/utils/schemaUtils.js +25 -0
- package/dist/utils/schemaUtils.js.map +1 -0
- package/dist/utils/versionUtils.d.ts.map +1 -1
- package/dist/utils/versionUtils.js +21 -5
- package/dist/utils/versionUtils.js.map +1 -1
- package/dist/version.json +4 -4
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# Mapbox MCP Server
|
|
2
2
|
|
|
3
|
+
[](https://badge.fury.io/js/@mapbox%2Fmcp-server)
|
|
4
|
+
|
|
3
5
|
Node.js server implementing Model Context Protocol (MCP) for Mapbox APIs.
|
|
4
6
|
|
|
5
7
|
## Unlock Geospatial Intelligence for Your AI Applications
|
|
@@ -35,8 +37,44 @@ For detailed setup instructions for different integrations, refer to the followi
|
|
|
35
37
|
|
|
36
38
|
- [Claude Desktop Setup](./docs/claude-desktop-setup.md) - Instructions for configuring Claude Desktop to work with this MCP server
|
|
37
39
|
- [VS Code Setup](./docs/vscode-setup.md) - Setting up a development environment in Visual Studio Code
|
|
40
|
+
- [Cursor AI IDE Setup](./docs/cursor-setup.md) - Setting up a development environment in Cursor AI IDE
|
|
38
41
|
- [Smolagents Integration](./docs/using-mcp-with-smolagents/README.md) - Example showing how to connect Smolagents AI agents to Mapbox's tools
|
|
39
42
|
|
|
43
|
+
## Example Prompts
|
|
44
|
+
|
|
45
|
+
Try these prompts with Claude Desktop or other MCP clients after setup:
|
|
46
|
+
|
|
47
|
+
### Location Discovery
|
|
48
|
+
|
|
49
|
+
- "Find coffee shops within walking distance of the Empire State Building"
|
|
50
|
+
- "Show me gas stations along the route from Boston to New York"
|
|
51
|
+
- "What restaurants are near Times Square?"
|
|
52
|
+
|
|
53
|
+
### Navigation & Travel
|
|
54
|
+
|
|
55
|
+
- "Get driving directions from LAX to Hollywood with current traffic"
|
|
56
|
+
- "How long would it take to walk from Central Park to Times Square?"
|
|
57
|
+
- "Calculate travel time from my hotel (Four Seasons) to JFK Airport by taxi during rush hour"
|
|
58
|
+
|
|
59
|
+
### Visualization & Maps
|
|
60
|
+
|
|
61
|
+
- "Create a map image showing the route from Golden Gate Bridge to Fisherman's Wharf with markers at both locations"
|
|
62
|
+
- "Show me a satellite view of Manhattan with key landmarks marked"
|
|
63
|
+
- "Generate a map highlighting all Starbucks locations within a mile of downtown Seattle"
|
|
64
|
+
|
|
65
|
+
### Analysis & Planning
|
|
66
|
+
|
|
67
|
+
- "Show me areas reachable within 30 minutes of downtown Portland by car"
|
|
68
|
+
- "Calculate a travel time matrix between these 3 hotel locations (Marriott, Sheraton and Hilton) and the convention center in Denver"
|
|
69
|
+
- "Find the optimal route visiting these 3 tourist attractions (Golden Gate, Musical Stairs and Fisherman's Wharf) in San Francisco"
|
|
70
|
+
|
|
71
|
+
### Tips for Better Results
|
|
72
|
+
|
|
73
|
+
- Be specific about locations (use full addresses or landmark names)
|
|
74
|
+
- Specify your preferred travel method (driving, walking, cycling)
|
|
75
|
+
- Include time constraints when relevant ("during rush hour", "at 3 PM")
|
|
76
|
+
- Ask for specific output formats when needed ("as a map image", "in JSON format")
|
|
77
|
+
|
|
40
78
|
## Tools
|
|
41
79
|
|
|
42
80
|
### Mapbox API tools
|
|
@@ -112,13 +150,12 @@ Fetches routing directions using the [Mapbox Directions API](https://docs.mapbox
|
|
|
112
150
|
- Future departure time (`depart_at`) for driving and driving-traffic profiles
|
|
113
151
|
- Desired arrival time (`arrive_by`) for driving profile only
|
|
114
152
|
- Profile-specific optimizations:
|
|
115
|
-
- Walking: customizable walking speed and bias for/against walkways
|
|
116
153
|
- Driving: vehicle dimension constraints (height, width, weight)
|
|
117
154
|
- Exclusion options for routing:
|
|
118
155
|
- Common exclusions: ferry routes, cash-only tolls
|
|
119
156
|
- Driving-specific exclusions: tolls, motorways, unpaved roads, tunnels, country borders, state borders
|
|
120
157
|
- Custom point exclusions (up to 50 geographic points to avoid)
|
|
121
|
-
-
|
|
158
|
+
- GeoJSON geometry output format
|
|
122
159
|
|
|
123
160
|
#### Isochrone tool
|
|
124
161
|
|
|
@@ -169,9 +206,53 @@ Set `VERBOSE_ERRORS=true` to get detailed error messages from the MCP server. Th
|
|
|
169
206
|
|
|
170
207
|
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.
|
|
171
208
|
|
|
172
|
-
##
|
|
209
|
+
## Data Usage & Privacy
|
|
210
|
+
|
|
211
|
+
### What data is sent to Mapbox APIs
|
|
212
|
+
|
|
213
|
+
When you use the MCP server tools, the following data is sent directly from your environment to Mapbox APIs:
|
|
214
|
+
|
|
215
|
+
- **Geocoding tools**: Address/location text, coordinates, country/region filters
|
|
216
|
+
- **Search tools**: Search queries, location coordinates for proximity, category filters
|
|
217
|
+
- **Directions tool**: Start/end coordinates, waypoints, routing preferences, vehicle constraints
|
|
218
|
+
- **Matrix tool**: Multiple coordinate pairs, travel profile, departure times
|
|
219
|
+
- **Static map tool**: Coordinates, zoom level, styling preferences, marker information
|
|
220
|
+
- **Isochrone tool**: Origin coordinates, time/distance parameters, travel profile
|
|
221
|
+
|
|
222
|
+
### Your privacy
|
|
223
|
+
|
|
224
|
+
- **Local execution**: All API calls are made directly from your environment to Mapbox APIs
|
|
225
|
+
- **Token security**: Your Mapbox API token remains on your local machine and is never transmitted to or stored by this MCP server
|
|
226
|
+
- **No data storage**: This MCP server does not store, log, or collect any of your data or API requests
|
|
227
|
+
- **Direct communication**: There is no intermediary server between you and Mapbox APIs
|
|
228
|
+
|
|
229
|
+
### Third-party data usage
|
|
230
|
+
|
|
231
|
+
- **Mapbox's privacy policy** governs data sent to their APIs: https://www.mapbox.com/legal/privacy/
|
|
232
|
+
- **API usage**: Standard Mapbox API terms apply to all requests made through these tools
|
|
233
|
+
- **Data retention**: Refer to Mapbox's documentation for their data retention policies
|
|
234
|
+
|
|
235
|
+
## Support & Contact
|
|
236
|
+
|
|
237
|
+
### For MCP Server Issues
|
|
238
|
+
|
|
239
|
+
- **Email**: mcp-feedback@mapbox.com
|
|
240
|
+
- **GitHub Issues**: [Report bugs and feature requests](https://github.com/mapbox/mcp-server/issues)
|
|
241
|
+
|
|
242
|
+
### For Mapbox API Questions
|
|
243
|
+
|
|
244
|
+
- **Mapbox Support**: https://support.mapbox.com/
|
|
245
|
+
- **Documentation**: https://docs.mapbox.com/
|
|
246
|
+
- **API Status**: https://status.mapbox.com/
|
|
247
|
+
|
|
248
|
+
### Maintenance Commitment
|
|
249
|
+
|
|
250
|
+
This MCP server is officially maintained by Mapbox, Inc. We provide:
|
|
173
251
|
|
|
174
|
-
|
|
252
|
+
- Regular updates for new Mapbox API features
|
|
253
|
+
- Bug fixes and security updates
|
|
254
|
+
- Compatibility with latest MCP protocol versions
|
|
255
|
+
- Community support through GitHub issues
|
|
175
256
|
|
|
176
257
|
---
|
|
177
258
|
|
package/dist/index.js
CHANGED
|
@@ -9,6 +9,7 @@ import { MatrixTool } from './tools/matrix-tool/MatrixTool.js';
|
|
|
9
9
|
import { PoiSearchTool } from './tools/poi-search-tool/PoiSearchTool.js';
|
|
10
10
|
import { ReverseGeocodeTool } from './tools/reverse-geocode-tool/ReverseGeocodeTool.js';
|
|
11
11
|
import { StaticMapImageTool } from './tools/static-map-image-tool/StaticMapImageTool.js';
|
|
12
|
+
import { VersionTool } from './tools/version-tool/VersionTool.js';
|
|
12
13
|
import { patchGlobalFetch } from './utils/requestUtils.js';
|
|
13
14
|
import { getVersionInfo } from './utils/versionUtils.js';
|
|
14
15
|
// INSERT NEW TOOL IMPORT HERE
|
|
@@ -24,6 +25,7 @@ const server = new McpServer({
|
|
|
24
25
|
}
|
|
25
26
|
});
|
|
26
27
|
// INSERT NEW TOOL REGISTRATION HERE
|
|
28
|
+
new VersionTool().installTo(server);
|
|
27
29
|
new MatrixTool().installTo(server);
|
|
28
30
|
new ReverseGeocodeTool().installTo(server);
|
|
29
31
|
new ForwardGeocodeTool().installTo(server);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AACxF,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAC;AACzF,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,8BAA8B;AAE9B,IAAI,iBAAiB,GAAG,cAAc,EAAE,CAAC;AACzC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;AAEpC,uBAAuB;AACvB,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B;IACE,IAAI,EAAE,iBAAiB,CAAC,IAAI;IAC5B,OAAO,EAAE,iBAAiB,CAAC,OAAO;CACnC,EACD;IACE,YAAY,EAAE;QACZ,OAAO,EAAE,EAAE;KACZ;CACF,CACF,CAAC;AAEF,oCAAoC;AACpC,IAAI,WAAW,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AACpC,IAAI,UAAU,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AACnC,IAAI,kBAAkB,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAC3C,IAAI,kBAAkB,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAC3C,IAAI,aAAa,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AACtC,IAAI,aAAa,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AACtC,IAAI,kBAAkB,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAC3C,IAAI,kBAAkB,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAC3C,IAAI,cAAc,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAEvC,mEAAmE;AACnE,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;AAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC"}
|
|
@@ -1,39 +1,21 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { MapboxApiBasedTool } from '../MapboxApiBasedTool.js';
|
|
3
|
-
declare const DirectionsInputSchema: z.ZodObject<{
|
|
4
|
-
coordinates: z.ZodArray<z.
|
|
5
|
-
longitude: z.ZodNumber;
|
|
6
|
-
latitude: z.ZodNumber;
|
|
7
|
-
}, "strip", z.ZodTypeAny, {
|
|
8
|
-
longitude: number;
|
|
9
|
-
latitude: number;
|
|
10
|
-
}, {
|
|
11
|
-
longitude: number;
|
|
12
|
-
latitude: number;
|
|
13
|
-
}>, "many">;
|
|
3
|
+
export declare const DirectionsInputSchema: z.ZodObject<{
|
|
4
|
+
coordinates: z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], number[]>, "many">;
|
|
14
5
|
routing_profile: z.ZodDefault<z.ZodOptional<z.ZodEnum<["driving-traffic", "driving", "walking", "cycling"]>>>;
|
|
15
|
-
|
|
16
|
-
walkway_bias: z.ZodOptional<z.ZodNumber>;
|
|
17
|
-
geometries: z.ZodDefault<z.ZodOptional<z.ZodEnum<["geojson", "polyline", "polyline6"]>>>;
|
|
6
|
+
geometries: z.ZodDefault<z.ZodOptional<z.ZodEnum<["none", "geojson"]>>>;
|
|
18
7
|
max_height: z.ZodOptional<z.ZodNumber>;
|
|
19
8
|
max_width: z.ZodOptional<z.ZodNumber>;
|
|
20
9
|
max_weight: z.ZodOptional<z.ZodNumber>;
|
|
21
10
|
alternatives: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
22
|
-
annotations: z.ZodOptional<z.ZodArray<z.ZodEnum<["distance", "duration", "speed", "congestion"]>, "many">>;
|
|
23
11
|
depart_at: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, string | undefined>;
|
|
24
12
|
arrive_by: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, string | undefined>;
|
|
25
13
|
exclude: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, string | undefined>;
|
|
26
14
|
}, "strip", z.ZodTypeAny, {
|
|
27
|
-
coordinates:
|
|
28
|
-
longitude: number;
|
|
29
|
-
latitude: number;
|
|
30
|
-
}[];
|
|
15
|
+
coordinates: number[][];
|
|
31
16
|
routing_profile: "driving-traffic" | "driving" | "walking" | "cycling";
|
|
32
|
-
geometries: "
|
|
17
|
+
geometries: "none" | "geojson";
|
|
33
18
|
alternatives: boolean;
|
|
34
|
-
annotations?: ("distance" | "duration" | "speed" | "congestion")[] | undefined;
|
|
35
|
-
walking_speed?: number | undefined;
|
|
36
|
-
walkway_bias?: number | undefined;
|
|
37
19
|
max_height?: number | undefined;
|
|
38
20
|
max_width?: number | undefined;
|
|
39
21
|
max_weight?: number | undefined;
|
|
@@ -41,15 +23,9 @@ declare const DirectionsInputSchema: z.ZodObject<{
|
|
|
41
23
|
arrive_by?: string | undefined;
|
|
42
24
|
exclude?: string | undefined;
|
|
43
25
|
}, {
|
|
44
|
-
coordinates:
|
|
45
|
-
longitude: number;
|
|
46
|
-
latitude: number;
|
|
47
|
-
}[];
|
|
48
|
-
annotations?: ("distance" | "duration" | "speed" | "congestion")[] | undefined;
|
|
26
|
+
coordinates: number[][];
|
|
49
27
|
routing_profile?: "driving-traffic" | "driving" | "walking" | "cycling" | undefined;
|
|
50
|
-
|
|
51
|
-
walkway_bias?: number | undefined;
|
|
52
|
-
geometries?: "geojson" | "polyline" | "polyline6" | undefined;
|
|
28
|
+
geometries?: "none" | "geojson" | undefined;
|
|
53
29
|
max_height?: number | undefined;
|
|
54
30
|
max_width?: number | undefined;
|
|
55
31
|
max_weight?: number | undefined;
|
|
@@ -64,5 +40,4 @@ export declare class DirectionsTool extends MapboxApiBasedTool<typeof Directions
|
|
|
64
40
|
constructor();
|
|
65
41
|
protected execute(input: z.infer<typeof DirectionsInputSchema>): Promise<any>;
|
|
66
42
|
}
|
|
67
|
-
export {};
|
|
68
43
|
//# sourceMappingURL=DirectionsTool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DirectionsTool.d.ts","sourceRoot":"","sources":["../../../src/tools/directions-tool/DirectionsTool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"DirectionsTool.d.ts","sourceRoot":"","sources":["../../../src/tools/directions-tool/DirectionsTool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAyH9D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiLhC,CAAC;AACH,qBAAa,cAAe,SAAQ,kBAAkB,CACpD,OAAO,qBAAqB,CAC7B;IACC,IAAI,SAAoB;IACxB,WAAW,SACgF;;cAK3E,OAAO,CACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,GAC3C,OAAO,CAAC,GAAG,CAAC;CAuKhB"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { URLSearchParams } from 'url';
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
import { MapboxApiBasedTool } from '../MapboxApiBasedTool.js';
|
|
4
|
+
import { cleanResponseData } from './cleanResponseData.js';
|
|
5
|
+
import { formatIsoDateTime } from './formatIsoDateTime.js';
|
|
4
6
|
// Docs: https://docs.mapbox.com/api/navigation/directions/
|
|
5
7
|
/**
|
|
6
8
|
* Validates ISO 8601 date-time formats used by Mapbox Directions API
|
|
@@ -9,15 +11,16 @@ import { MapboxApiBasedTool } from '../MapboxApiBasedTool.js';
|
|
|
9
11
|
const validateIsoDateTime = (val, ctx) => {
|
|
10
12
|
if (!val)
|
|
11
13
|
return; // Optional, so empty is fine
|
|
12
|
-
// ISO 8601 regex patterns for the
|
|
14
|
+
// ISO 8601 regex patterns for the valid formats mentioned in the docs
|
|
13
15
|
// 1. YYYY-MM-DDThh:mm:ssZ (exactly one Z at the end)
|
|
14
16
|
// 2. YYYY-MM-DDThh:mm:ss±hh:mm (timezone offset with colon)
|
|
15
17
|
// 3. YYYY-MM-DDThh:mm (no seconds, no timezone)
|
|
16
|
-
|
|
18
|
+
// 4. YYYY-MM-DDThh:mm:ss (with seconds but no timezone) - will be converted to format 3
|
|
19
|
+
const iso8601Pattern = /^(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$)|(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[+-]\d{2}:\d{2}$)|(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}$)|(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$)/;
|
|
17
20
|
if (!iso8601Pattern.test(val)) {
|
|
18
21
|
ctx.addIssue({
|
|
19
22
|
code: z.ZodIssueCode.custom,
|
|
20
|
-
message: 'Invalid date-time format. Must be in ISO 8601 format: YYYY-MM-DDThh:mm:ssZ, YYYY-MM-DDThh:mmss±hh:mm, or YYYY-MM-DDThh:mm',
|
|
23
|
+
message: 'Invalid date-time format. Must be in ISO 8601 format: YYYY-MM-DDThh:mm:ssZ, YYYY-MM-DDThh:mmss±hh:mm, YYYY-MM-DDThh:mm, or YYYY-MM-DDThh:mm:ss',
|
|
21
24
|
path: []
|
|
22
25
|
});
|
|
23
26
|
return; // Stop further validation if format is invalid
|
|
@@ -99,21 +102,20 @@ const validateIsoDateTime = (val, ctx) => {
|
|
|
99
102
|
});
|
|
100
103
|
}
|
|
101
104
|
};
|
|
102
|
-
const DirectionsInputSchema = z.object({
|
|
105
|
+
export const DirectionsInputSchema = z.object({
|
|
103
106
|
coordinates: z
|
|
104
|
-
.array(z
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
.max(90, 'Latitude must be between -90 and 90 degrees')
|
|
107
|
+
.array(z
|
|
108
|
+
.array(z.number())
|
|
109
|
+
.length(2)
|
|
110
|
+
.refine((coord) => {
|
|
111
|
+
const [lng, lat] = coord;
|
|
112
|
+
return lng >= -180 && lng <= 180 && lat >= -90 && lat <= 90;
|
|
113
|
+
}, {
|
|
114
|
+
message: 'Each coordinate must be [longitude, latitude] where longitude is between -180 and 180, and latitude is between -90 and 90'
|
|
113
115
|
}))
|
|
114
116
|
.min(2, 'At least two coordinate pairs are required.')
|
|
115
117
|
.max(25, 'Up to 25 coordinate pairs are supported.')
|
|
116
|
-
.describe('Array of
|
|
118
|
+
.describe('Array of [longitude, latitude] coordinate pairs to visit in order. ' +
|
|
117
119
|
'Must include at least 2 coordinate pairs (starting and ending points). ' +
|
|
118
120
|
'Up to 25 coordinates total are supported.'),
|
|
119
121
|
routing_profile: z
|
|
@@ -125,28 +127,13 @@ const DirectionsInputSchema = z.object({
|
|
|
125
127
|
'- driving: automotive based on typical traffic\n' +
|
|
126
128
|
'- walking: pedestrian/hiking\n' +
|
|
127
129
|
'- cycling: bicycle'),
|
|
128
|
-
walking_speed: z
|
|
129
|
-
.number()
|
|
130
|
-
.min(0.14, 'Walking speed must be between 0.14 and 6.94 meters per second')
|
|
131
|
-
.max(6.94, 'Walking speed must be between 0.14 and 6.94 meters per second')
|
|
132
|
-
.optional()
|
|
133
|
-
.describe('The walking speed, in meters per second. Must be between 0.14 m/s (0.5 km/h) and ' +
|
|
134
|
-
'6.94 m/s (25 km/h). Defaults to 1.42 m/s (5.1 km/h). Only available for walking profile.'),
|
|
135
|
-
walkway_bias: z
|
|
136
|
-
.number()
|
|
137
|
-
.min(-1, 'Walkway bias must be between -1 and 1')
|
|
138
|
-
.max(1, 'Walkway bias must be between -1 and 1')
|
|
139
|
-
.optional()
|
|
140
|
-
.describe('A scale from -1 to 1, where -1 biases the route against walkways and 1 biases the ' +
|
|
141
|
-
'route toward walkways. The default is 0, which is neutral. Only available for walking profile.'),
|
|
142
130
|
geometries: z
|
|
143
|
-
.enum(['
|
|
131
|
+
.enum(['none', 'geojson'])
|
|
144
132
|
.optional()
|
|
145
|
-
.default('
|
|
133
|
+
.default('none')
|
|
146
134
|
.describe('The format of the returned geometry. Options: \n' +
|
|
147
|
-
'-
|
|
148
|
-
'-
|
|
149
|
-
'- polyline6: a polyline with a precision of six decimal places'),
|
|
135
|
+
'- none (default): no geometry object is returned at all, use this if you do not need all of the intermediate coordinates.\n' +
|
|
136
|
+
'- geojson: as GeoJSON LineString (might be very long as there could be a lot of points)'),
|
|
150
137
|
max_height: z
|
|
151
138
|
.number()
|
|
152
139
|
.min(0, 'Vehicle height must be between 0 and 10 meters')
|
|
@@ -180,16 +167,6 @@ const DirectionsInputSchema = z.object({
|
|
|
180
167
|
.default(false)
|
|
181
168
|
.describe('Whether to try to return alternative routes (true) or not (false, default). ' +
|
|
182
169
|
'Up to two alternatives may be returned.'),
|
|
183
|
-
annotations: z
|
|
184
|
-
.array(
|
|
185
|
-
// Note: more options are available in the Directions API documentation, not added here for simplicity
|
|
186
|
-
z.enum(['distance', 'duration', 'speed', 'congestion']))
|
|
187
|
-
.optional()
|
|
188
|
-
.describe('Return additional details about the route leg. Options: \n' +
|
|
189
|
-
'- distance: distance in meters between each coordinate pair\n' +
|
|
190
|
-
'- duration: estimated travel time in seconds between points\n' +
|
|
191
|
-
'- speed: average speed in m/s for each coordinate pair\n' +
|
|
192
|
-
'- congestion: traffic congestion level ("severe", "heavy", "moderate", "low")\n'),
|
|
193
170
|
depart_at: z
|
|
194
171
|
.string()
|
|
195
172
|
.optional()
|
|
@@ -335,32 +312,36 @@ export class DirectionsTool extends MapboxApiBasedTool {
|
|
|
335
312
|
!isDrivingProfile) {
|
|
336
313
|
throw new Error(`Vehicle dimension parameters (max_height, max_width, max_weight) are only available for 'driving' and 'driving-traffic' profiles`);
|
|
337
314
|
}
|
|
338
|
-
// Validate walking-specific parameters are only used with walking profile
|
|
339
|
-
if ((input.walking_speed !== undefined || input.walkway_bias !== undefined) &&
|
|
340
|
-
input.routing_profile !== 'walking') {
|
|
341
|
-
throw new Error(`Walking parameters (walking_speed, walkway_bias) are only available for the 'walking' profile`);
|
|
342
|
-
}
|
|
343
315
|
const joined = input.coordinates
|
|
344
|
-
.map((
|
|
316
|
+
.map(([lng, lat]) => `${lng},${lat}`)
|
|
345
317
|
.join(';');
|
|
346
318
|
const encodedCoords = encodeURIComponent(joined);
|
|
347
319
|
// Build query parameters
|
|
348
320
|
const queryParams = new URLSearchParams();
|
|
349
321
|
queryParams.append('access_token', MapboxApiBasedTool.MAPBOX_ACCESS_TOKEN);
|
|
350
|
-
|
|
322
|
+
// Only add geometries parameter if not 'none'
|
|
323
|
+
if (input.geometries !== 'none') {
|
|
324
|
+
queryParams.append('geometries', input.geometries);
|
|
325
|
+
}
|
|
351
326
|
queryParams.append('alternatives', input.alternatives.toString());
|
|
352
|
-
// Add annotations parameter
|
|
353
|
-
if (input.
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
327
|
+
// Add annotations parameter
|
|
328
|
+
if (input.routing_profile === 'driving-traffic') {
|
|
329
|
+
// congestion is available only when driving
|
|
330
|
+
queryParams.append('annotations', 'distance,congestion,speed');
|
|
331
|
+
}
|
|
332
|
+
else {
|
|
333
|
+
queryParams.append('annotations', 'distance,speed');
|
|
357
334
|
}
|
|
358
|
-
//
|
|
335
|
+
// For annotations to work, overview must be set to 'full'
|
|
336
|
+
queryParams.append('overview', 'full');
|
|
337
|
+
// Add depart_at or arrive_by parameter if provided, converting format if needed
|
|
359
338
|
if (input.depart_at) {
|
|
360
|
-
|
|
339
|
+
const formattedDateTime = formatIsoDateTime(input.depart_at);
|
|
340
|
+
queryParams.append('depart_at', formattedDateTime);
|
|
361
341
|
}
|
|
362
342
|
else if (input.arrive_by) {
|
|
363
|
-
|
|
343
|
+
const formattedDateTime = formatIsoDateTime(input.arrive_by);
|
|
344
|
+
queryParams.append('arrive_by', formattedDateTime);
|
|
364
345
|
}
|
|
365
346
|
// Add vehicle dimension parameters if provided
|
|
366
347
|
if (input.max_height !== undefined) {
|
|
@@ -372,13 +353,7 @@ export class DirectionsTool extends MapboxApiBasedTool {
|
|
|
372
353
|
if (input.max_weight !== undefined) {
|
|
373
354
|
queryParams.append('max_weight', input.max_weight.toString());
|
|
374
355
|
}
|
|
375
|
-
|
|
376
|
-
if (input.walking_speed !== undefined) {
|
|
377
|
-
queryParams.append('walking_speed', input.walking_speed.toString());
|
|
378
|
-
}
|
|
379
|
-
if (input.walkway_bias !== undefined) {
|
|
380
|
-
queryParams.append('walkway_bias', input.walkway_bias.toString());
|
|
381
|
-
}
|
|
356
|
+
queryParams.append('steps', 'true');
|
|
382
357
|
let queryString = queryParams.toString();
|
|
383
358
|
// Add exclude parameter if provided (ensuring proper encoding of special characters)
|
|
384
359
|
if (input.exclude) {
|
|
@@ -399,7 +374,7 @@ export class DirectionsTool extends MapboxApiBasedTool {
|
|
|
399
374
|
throw new Error(`Request failed with status ${response.status}: ${response.statusText}`);
|
|
400
375
|
}
|
|
401
376
|
const data = await response.json();
|
|
402
|
-
return data;
|
|
377
|
+
return cleanResponseData(input, data);
|
|
403
378
|
}
|
|
404
379
|
}
|
|
405
380
|
//# sourceMappingURL=DirectionsTool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DirectionsTool.js","sourceRoot":"","sources":["../../../src/tools/directions-tool/DirectionsTool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DirectionsTool.js","sourceRoot":"","sources":["../../../src/tools/directions-tool/DirectionsTool.ts"],"names":[],"mappings":"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"}
|