Direct access to Mapbox developer APIs for AI assistants. Enables style management, token managem...
10K+
Direct access to Mapbox developer APIs for AI assistants. Enables style management, token management, GeoJSON preview, and other developer tools for building Mapbox applications.
| Attribute | Details |
|---|---|
| Docker Image | mcp/mapbox-devkit |
| Author | mapbox |
| Repository | https://github.com/mapbox/mcp-devkit-server |
| Attribute | Details |
|---|---|
| Dockerfile | https://github.com/mapbox/mcp-devkit-server/blob/fa7ddeb21c19a68c1a04f30eb83208040edcaa5f/Dockerfile |
| Commit | fa7ddeb21c19a68c1a04f30eb83208040edcaa5f |
| Docker Image built by | Docker Inc. |
| Docker Scout Health Score | |
| Verify Signature | COSIGN_REPOSITORY=mcp/signatures cosign verify mcp/mapbox-devkit --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub |
| Licence | MIT License |
| Tools provided by this Server | Short Description |
|---|---|
bounding_box_tool | Calculate GeoJSON Bounding Box Tool |
check_color_contrast_tool | Check Color Contrast Tool |
compare_styles_tool | Compare Styles Tool |
coordinate_conversion_tool | Convert Coordinates Tool |
country_bounding_box_tool | Get Country Bounding Box Tool |
create_style_tool | Create Mapbox Style Tool |
create_token_tool | Create Mapbox Token Tool |
delete_style_tool | Delete Mapbox Style Tool |
geojson_preview_tool | Preview GeoJSON Data Tool |
get_feedback_tool | Get Feedback Tool |
list_feedback_tool | List Feedback Tool |
list_styles_tool | List Mapbox Styles Tool |
list_tokens_tool | List Mapbox Tokens Tool |
optimize_style_tool | Optimize Style Tool |
preview_style_tool | Preview Mapbox Style Tool |
retrieve_style_tool | Retrieve Mapbox Style Tool |
style_builder_tool | Build Mapbox Style JSON Tool |
style_comparison_tool | Compare Mapbox Styles Tool |
tilequery_tool | Mapbox Tilequery Tool |
update_style_tool | Update Mapbox Style Tool |
validate_expression_tool | Validate Expression Tool |
validate_geojson_tool | Validate GeoJSON Tool |
validate_style_tool | Validate Style Tool |
bounding_box_toolCalculates bounding box of given GeoJSON content, returns as [minX, minY, maxX, maxY]
| Parameters | Type | Description |
|---|---|---|
geojson | string | GeoJSON content to calculate bounding box for |
This tool is read-only. It does not modify its environment.
check_color_contrast_toolChecks color contrast ratios between foreground and background colors for WCAG 2.1 accessibility compliance
| Parameters | Type | Description |
|---|---|---|
backgroundColor | string | Background color in any CSS format (hex, rgb, rgba, named colors) |
foregroundColor | string | Foreground color (text color) in any CSS format (hex, rgb, rgba, named colors) |
fontSize | string optional | Font size category: normal (<18pt or <14pt bold) or large (≥18pt or ≥14pt bold) |
level | string optional | WCAG conformance level to check against (default: AA) |
This tool is read-only. It does not modify its environment.
compare_styles_toolCompares two Mapbox styles and reports differences in structure, layers, sources, and properties
| Parameters | Type | Description |
|---|---|---|
styleA | string | First Mapbox style (JSON string or style object) |
styleB | string | Second Mapbox style (JSON string or style object) |
ignoreMetadata | boolean optional | Ignore metadata fields like id, owner, created, modified |
This tool is read-only. It does not modify its environment.
coordinate_conversion_toolConverts coordinates between WGS84 (longitude/latitude) and EPSG:3857 (Web Mercator) coordinate systems
| Parameters | Type | Description |
|---|---|---|
coordinates | array | Array of two numbers representing coordinates |
from | string | Source coordinate system: wgs84 (longitude/latitude) or epsg3857 (Web Mercator) |
to | string | Target coordinate system: wgs84 (longitude/latitude) or epsg3857 (Web Mercator) |
This tool is read-only. It does not modify its environment.
country_bounding_box_toolGets bounding box for a country by its ISO 3166-1 country code, returns as [minX, minY, maxX, maxY].
| Parameters | Type | Description |
|---|---|---|
iso_3166_1 | string | ISO 3166-1 country code (2-10 characters, e.g., "CN", "US", "AE" ) |
This tool is read-only. It does not modify its environment.
create_style_toolCreate a new Mapbox style
| Parameters | Type | Description |
|---|---|---|
name | string | Human-readable name for the style |
style | object | Complete Mapbox Style Specification object. Must include: version (8), sources, layers. Optional: sprite, glyphs, center, zoom, bearing, pitch, metadata, etc. See https://docs.mapbox.com/mapbox-gl-js/style-spec/ |
This tool interacts with external entities.
create_token_toolCreate a new Mapbox public access token with specified scopes and optional URL restrictions.
| Parameters | Type | Description |
|---|---|---|
note | string | Description of the token |
scopes | array | Array of scopes/permissions for the public token. Valid scopes: styles:tiles, styles:read, fonts:read, datasets:read, vision:read. |
allowedUrls | array optional | Optional array of URLs where the token can be used (max 100) |
expires | string optional | Optional expiration time in ISO 8601 format (maximum 1 hour in the future) |
This tool interacts with external entities.
delete_style_toolDelete a Mapbox style by ID
| Parameters | Type | Description |
|---|---|---|
styleId | string | Style ID to delete |
This tool may perform destructive updates.
This tool is idempotent. Repeated calls with same args have no additional effect.
This tool interacts with external entities.
geojson_preview_toolGenerate a geojson.io URL to visualize GeoJSON data. Returns only the URL link.
| Parameters | Type | Description |
|---|---|---|
geojson | string | GeoJSON data as a JSON string (e.g., {"type": "Point", "coordinates": [-122.4194, 37.7749]}) |
This tool is read-only. It does not modify its environment.
get_feedback_toolGet a single user feedback item from the Mapbox Feedback API by its unique ID. Use this tool to retrieve detailed information about a specific user-reported issue, suggestion, or feedback about map data, routing, or POI details. Requires user-feedback:read scope on the access token.
| Parameters | Type | Description |
|---|---|---|
feedback_id | string | The unique identifier of the feedback item |
format | string optional | Output format: "json_string" returns raw JSON data as a JSON string that can be parsed; "formatted_text" returns human-readable text. Both return as text content but json_string contains parseable JSON data while formatted_text is for display. |
This tool is read-only. It does not modify its environment.
This tool interacts with external entities.
list_feedback_toolList user feedback items from the Mapbox Feedback API with filtering, sorting, and pagination. Use this tool to access user-reported issues, suggestions, and feedback about map data, routing, and POI details. Supports comprehensive filtering by status, category, date ranges, trace IDs, and search text. Requires user-feedback:read scope on the access token.
| Parameters | Type | Description |
|---|---|---|
after | string optional | A cursor from a previous response. Use this to fetch the next page of results. |
category | array optional | Filter by one or more feedback categories |
created_after | string optional | Return items created after the specified time. Use ISO 8601 format: YYYY-MM-DDTHH:mm:ss.SSSZ |
created_before | string optional | Return items created before the specified time. Use ISO 8601 format: YYYY-MM-DDTHH:mm:ss.SSSZ |
feedback_ids | array optional | Filter by one or more feedback item IDs. At least one must match. |
format | string optional | Output format: "json_string" returns raw JSON data as a JSON string that can be parsed; "formatted_text" returns human-readable text. Both return as text content but json_string contains parseable JSON data while formatted_text is for display. |
limit | number optional | The maximum number of feedback items to return (1-1000) |
order | string optional | The sort direction: asc (ascending, default) or desc (descending) |
received_after | string optional | Return items received by Mapbox after the specified time. Use ISO 8601 format: YYYY-MM-DDTHH:mm:ss.SSSZ |
received_before | string optional | Return items received by Mapbox before the specified time. Use ISO 8601 format: YYYY-MM-DDTHH:mm:ss.SSSZ |
search | string optional | A search phrase. Returns items where the feedback text contains the phrase. |
sort_by | string optional | The field to sort results by. Options: received_at (default), created_at, or updated_at |
status | array optional | Filter by one or more feedback statuses. Options: received, fixed, reviewed, out_of_scope |
trace_id | array optional | Filter by one or more trace_id values. At least one must match. |
updated_after | string optional | Return items last updated after the specified time. Use ISO 8601 format: YYYY-MM-DDTHH:mm:ss.SSSZ |
updated_before | string optional | Return items last updated before the specified time. Use ISO 8601 format: YYYY-MM-DDTHH:mm:ss.SSSZ |
This tool is read-only. It does not modify its environment.
This tool interacts with external entities.
list_styles_toolList styles for a Mapbox account. Use limit parameter to avoid large responses (recommended: limit=5-10). Use start parameter for pagination.
| Parameters | Type | Description |
|---|---|---|
limit | number optional | Maximum number of styles to return (recommended: 5-10 to avoid token limits, default: no limit) |
start | string optional | Start token for pagination (use the "start" value from previous response) |
This tool is read-only. It does not modify its environment.
This tool interacts with external entities.
list_tokens_toolList Mapbox access tokens for the authenticated user with optional filtering and pagination. Returns metadata for all tokens (public and secret), but the actual token value is only included for public tokens (secret token values are omitted for security). When using pagination, the "start" parameter must be obtained from the "next_start" field of the previous response (it is not a token ID)
| Parameters | Type | Description |
|---|---|---|
default | boolean optional | Filter to show only the default public token |
limit | number optional | Maximum number of tokens to return (1-100) |
sortby | string optional | Sort tokens by created or modified timestamp |
start | string optional | Token ID to start pagination from |
usage | string optional | Filter by token type: pk (public) |
This tool is read-only. It does not modify its environment.
This tool interacts with external entities.
optimize_style_toolOptimizes Mapbox styles by removing unused sources, duplicate layers, and simplifying expressions
| Parameters | Type | Description |
|---|---|---|
style | string | Mapbox style to optimize (JSON string or style object) |
optimizations | array optional | Specific optimizations to apply (if not specified, all optimizations are applied) |
This tool is read-only. It does not modify its environment.
preview_style_toolGenerate preview URL for a Mapbox style using an existing public token
| Parameters | Type | Description |
|---|---|---|
accessToken | string | Mapbox public access token (required, must start with pk.* and have styles:read permission). Secret tokens (sk.*) cannot be used as they cannot be exposed in browser URLs. Please use an existing public token or get one from list_tokens_tool or create one with create_token_tool with styles:read permission. |
styleId | string | Style ID to preview |
title | boolean optional | Show title in the preview |
zoomwheel | boolean optional | Enable zoom wheel control |
This tool is read-only. It does not modify its environment.
retrieve_style_toolRetrieve a specific Mapbox style by ID
| Parameters | Type | Description |
|---|---|---|
styleId | string | Style ID to retrieve |
This tool is read-only. It does not modify its environment.
This tool interacts with external entities.
style_builder_toolGenerate Mapbox style JSON for creating new styles or updating existing ones.
The tool intelligently resolves layer types and filter properties using Streets v8 data. You don't need exact layer names - the tool automatically finds the correct layer based on your filters.
BASE STYLES: • standard: ALWAYS THE DEFAULT - Modern Mapbox Standard with best performance • Classic styles: streets-v12/light-v11/dark-v11/satellite-v9/outdoors-v12/satellite-streets-v12/navigation-day-v1/navigation-night-v1 Only use Classic when user explicitly says "create a classic style" or working with existing Classic style
STANDARD STYLE CONFIG: Use standard_config to customize the basemap: • Theme: default/faded/monochrome • Light: day/night/dawn/dusk • Show/hide: labels, roads, 3D buildings • Colors: water, roads, parks, etc.
LAYER ORDERING: • Layers are rendered in order - last layer in the array appears visually on top • The 'slot' parameter is OPTIONAL - by default, layer order in the array determines visibility • For Standard style, you can optionally use 'slot' to control placement:
LAYER RENDERING: • render_type controls HOW to visualize the layer (line, fill, symbol, etc.) • Most important: Use render_type:"line" for outlines/borders even on polygon features • Default "auto" picks based on geometry, but override for specific effects:
LAYER ACTIONS: • color: Apply a specific color • highlight: Make prominent • hide: Remove from view • show: Display with defaults
AUTO-DETECTION: The tool automatically finds the correct layer from your filter_properties. Examples: • { class: 'park' } → finds 'landuse' layer • { type: 'wetland' } → finds 'landuse_overlay' layer • { maki: 'restaurant' } → finds 'poi_label' layer • { toll: true } → finds 'road' layer • { admin_level: 0 } → finds 'admin' layer (for country boundaries) • { admin_level: 1 } → finds 'admin' layer (for state/province boundaries)
IMPORTANT LAYER NAMES: • Use "admin" for all boundaries (countries, states, etc.) • Use "building" (singular, not "buildings") • Use "road" for all streets, highways, paths
If a layer type is not recognized, the tool will provide helpful suggestions showing: • All available source layers from Streets v8 • Which fields are available in each layer • Examples of how to properly specify layers and filters
| Parameters | Type | Description |
|---|---|---|
layers | array | Layer configurations based on the mapbox-style-layers resource |
base_style | string optional | Base style template. ALWAYS use "standard" as the default for all new styles. Standard style provides the best performance and modern features. Only use Classic styles (streets/light/dark/satellite/outdoors/navigation) when explicitly requested with "create a classic style" or when working with an existing Classic style. |
global_settings | object optional | Global style settings |
standard_config | object optional | Configuration for the base Mapbox Standard style. These properties customize the underlying Standard style features - you can still add your own custom layers on top using the layers parameter. The Standard style provides a rich basemap that you can configure and enhance with additional layers. |
style_name | string optional | Name for the style |
This tool is read-only. It does not modify its environment.
style_comparison_toolGenerate a comparison URL for comparing two Mapbox styles side-by-side
| Parameters | Type | Description |
|---|---|---|
accessToken | string | Mapbox public access token (required, must start with pk.* and have styles:read permission). Secret tokens (sk.*) cannot be used as they cannot be exposed in browser URLs. Please use a public token or create one with styles:read permission. |
after | string | Mapbox style for the "after" side. Accepts: full style URL (mapbox://styles/username/styleId), username/styleId format, or just styleId if using your own styles |
before | string | Mapbox style for the "before" side. Accepts: full style URL (mapbox://styles/username/styleId), username/styleId format, or just styleId if using your own styles |
latitude | number optional | Latitude coordinate for the initial map center (-90 to 90). Must be provided together with longitude and zoom. |
longitude | number optional | Longitude coordinate for the initial map center (-180 to 180). Must be provided together with latitude and zoom. |
zoom | number optional | Initial zoom level for the map view (0-22). If provided along with latitude and longitude, sets the initial map position. |
This tool is read-only. It does not modify its environment.
tilequery_toolQuery vector and raster data from Mapbox tilesets at geographic coordinates
| Parameters | Type | Description |
|---|---|---|
latitude | number | Latitude coordinate to query |
longitude | number | Longitude coordinate to query |
bands | array optional | Specific band names to query (for rasterarray tilesets) |
dedupe | boolean optional | Whether to deduplicate identical features (default: true) |
geometry | string optional | Filter results by geometry type |
layers | array optional | Specific layer names to query from the tileset |
limit | number optional | Number of features to return (1-50, default: 5) |
radius | number optional | Radius in meters to search for features (default: 0) |
tilesetId | string optional | Tileset ID to query (default: mapbox.mapbox-streets-v8) |
This tool is read-only. It does not modify its environment.
This tool interacts with external entities.
update_style_toolUpdate an existing Mapbox style
| Parameters | Type | Description |
|---|---|---|
styleId | string | Style ID to update |
name | string optional | New name for the style |
style | object optional | Complete Mapbox Style Specification object to update. Must include: version (8), sources, layers. Optional: sprite, glyphs, center, zoom, bearing, pitch, metadata, etc. See https://docs.mapbox.com/mapbox-gl-js/style-spec/ |
This tool interacts with external entities.
validate_expression_toolValidates Mapbox style expressions for syntax, operators, and argument correctness
| Parameters | Type | Description |
|---|---|---|
expression | string | Mapbox expression to validate (JSON string or expression array) |
context | string optional | Context where the expression will be used |
This tool is read-only. It does not modify its environment.
validate_geojson_toolValidates GeoJSON objects for correctness, checking structure, coordinates, and geometry types
| Parameters | Type | Description |
|---|---|---|
geojson | string | GeoJSON object or JSON string to validate |
This tool is read-only. It does not modify its environment.
validate_style_toolValidates Mapbox style JSON against the Mapbox Style Specification, checking for errors, warnings, and providing suggestions for improvement
| Parameters | Type | Description |
|---|---|---|
style | string | Mapbox style JSON object or JSON string to validate against the Mapbox Style Specification |
This tool is read-only. It does not modify its environment.
{
"mcpServers": {
"mapbox-devkit": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"MAPBOX_ACCESS_TOKEN",
"mcp/mapbox-devkit"
],
"env": {
"MAPBOX_ACCESS_TOKEN": "YOUR_API_KEY_HERE"
}
}
}
}
Content type
Image
Digest
sha256:4dd53e908…
Size
523.5 MB
Last updated
27 days ago
docker pull mcp/mapbox-devkitPulls:
1,229
Last week