LabStore
← All labs

Mapbox Developer

by docker ✓ verified ✓ Packaged by Docker

Direct access to Mapbox developer APIs for AI assistants. Enables style management, token management, GeoJSON preview, and other developer tools for building Mapbox applications.

MCP server installable needs setup network: on runtime: sysbox

DevOps MCP Servers

Mapbox Developer MCP Server

Direct access to Mapbox developer APIs for AI assistants. Enables style management, token management, GeoJSON preview, and other developer tools for building Mapbox applications.

What is an MCP Server?

MCP Info

Attribute Details
Docker Image mcp/mapbox-devkit
Author mapbox
Repository https://github.com/mapbox/mcp-devkit-server

Image Building Info

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 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

Available Tools (23)

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

Tools Details

Tool: bounding_box_tool

Calculates 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.


Tool: check_color_contrast_tool

Checks 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.


Tool: compare_styles_tool

Compares 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.


Tool: coordinate_conversion_tool

Converts 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.


Tool: country_bounding_box_tool

Gets 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.


Tool: create_style_tool

Create 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.


Tool: create_token_tool

Create 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.


Tool: delete_style_tool

Delete 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.


Tool: geojson_preview_tool

Generate 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.


Tool: get_feedback_tool

Get 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.


Tool: list_feedback_tool

List 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.


Tool: list_styles_tool

List 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.


Tool: list_tokens_tool

List 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.


Tool: optimize_style_tool

Optimizes 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.


Tool: preview_style_tool

Generate 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.


Tool: retrieve_style_tool

Retrieve 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.


Tool: style_builder_tool

Generate 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:

  • No slot (default): Above all existing layers in the style
  • 'top': Behind Place and Transit labels
  • 'middle': Between basemap and labels
  • 'bottom': Below most basemap features

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:

  • Building outlines → render_type:"line" (not fill!)
  • Solid buildings → render_type:"fill" or "fill-extrusion" (3D)
  • Road lines → render_type:"line" (auto works too)
  • POI dots → render_type:"circle"
  • Labels → render_type:"symbol"

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.


Tool: style_comparison_tool

Generate 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.


Tool: tilequery_tool

Query 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.


Tool: update_style_tool

Update 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.


Tool: validate_expression_tool

Validates 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.


Tool: validate_geojson_tool

Validates 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.


Tool: validate_style_tool

Validates 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.


Use this MCP Server

{
  "mcpServers": {
    "mapbox-devkit": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "MAPBOX_ACCESS_TOKEN",
        "mcp/mapbox-devkit"
      ],
      "env": {
        "MAPBOX_ACCESS_TOKEN": "YOUR_API_KEY_HERE"
      }
    }
  }
}

Why is it safer to run MCP Servers with Docker?