mcp/mapbox-devkit

Verified Publisher

By mcp

Updated 27 days ago

Direct access to Mapbox developer APIs for AI assistants. Enables style management, token managem...

Image
Machine learning & AI
1

10K+

mcp/mapbox-devkit repository overview

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

Image Building Info

AttributeDetails
Dockerfilehttps://github.com/mapbox/mcp-devkit-server/blob/fa7ddeb21c19a68c1a04f30eb83208040edcaa5f/Dockerfile
Commitfa7ddeb21c19a68c1a04f30eb83208040edcaa5f
Docker Image built byDocker Inc.
Docker Scout Health ScoreDocker Scout Health Score
Verify SignatureCOSIGN_REPOSITORY=mcp/signatures cosign verify mcp/mapbox-devkit --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub
LicenceMIT License

Available Tools (23)

Tools provided by this ServerShort Description
bounding_box_toolCalculate GeoJSON Bounding Box Tool
check_color_contrast_toolCheck Color Contrast Tool
compare_styles_toolCompare Styles Tool
coordinate_conversion_toolConvert Coordinates Tool
country_bounding_box_toolGet Country Bounding Box Tool
create_style_toolCreate Mapbox Style Tool
create_token_toolCreate Mapbox Token Tool
delete_style_toolDelete Mapbox Style Tool
geojson_preview_toolPreview GeoJSON Data Tool
get_feedback_toolGet Feedback Tool
list_feedback_toolList Feedback Tool
list_styles_toolList Mapbox Styles Tool
list_tokens_toolList Mapbox Tokens Tool
optimize_style_toolOptimize Style Tool
preview_style_toolPreview Mapbox Style Tool
retrieve_style_toolRetrieve Mapbox Style Tool
style_builder_toolBuild Mapbox Style JSON Tool
style_comparison_toolCompare Mapbox Styles Tool
tilequery_toolMapbox Tilequery Tool
update_style_toolUpdate Mapbox Style Tool
validate_expression_toolValidate Expression Tool
validate_geojson_toolValidate GeoJSON Tool
validate_style_toolValidate Style Tool

Tools Details

Tool: bounding_box_tool

Calculates bounding box of given GeoJSON content, returns as [minX, minY, maxX, maxY]

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

ParametersTypeDescription
backgroundColorstringBackground color in any CSS format (hex, rgb, rgba, named colors)
foregroundColorstringForeground color (text color) in any CSS format (hex, rgb, rgba, named colors)
fontSizestring optionalFont size category: normal (<18pt or <14pt bold) or large (≥18pt or ≥14pt bold)
levelstring optionalWCAG 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

ParametersTypeDescription
styleAstringFirst Mapbox style (JSON string or style object)
styleBstringSecond Mapbox style (JSON string or style object)
ignoreMetadataboolean optionalIgnore 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

ParametersTypeDescription
coordinatesarrayArray of two numbers representing coordinates
fromstringSource coordinate system: wgs84 (longitude/latitude) or epsg3857 (Web Mercator)
tostringTarget 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].

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

ParametersTypeDescription
namestringHuman-readable name for the style
styleobjectComplete 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.

ParametersTypeDescription
notestringDescription of the token
scopesarrayArray of scopes/permissions for the public token. Valid scopes: styles:tiles, styles:read, fonts:read, datasets:read, vision:read.
allowedUrlsarray optionalOptional array of URLs where the token can be used (max 100)
expiresstring optionalOptional 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

ParametersTypeDescription
styleIdstringStyle 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.

ParametersTypeDescription
geojsonstringGeoJSON 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.

ParametersTypeDescription
feedback_idstringThe unique identifier of the feedback item
formatstring optionalOutput 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.

ParametersTypeDescription
afterstring optionalA cursor from a previous response. Use this to fetch the next page of results.
categoryarray optionalFilter by one or more feedback categories
created_afterstring optionalReturn items created after the specified time. Use ISO 8601 format: YYYY-MM-DDTHH:mm:ss.SSSZ
created_beforestring optionalReturn items created before the specified time. Use ISO 8601 format: YYYY-MM-DDTHH:mm:ss.SSSZ
feedback_idsarray optionalFilter by one or more feedback item IDs. At least one must match.
formatstring optionalOutput 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.
limitnumber optionalThe maximum number of feedback items to return (1-1000)
orderstring optionalThe sort direction: asc (ascending, default) or desc (descending)
received_afterstring optionalReturn items received by Mapbox after the specified time. Use ISO 8601 format: YYYY-MM-DDTHH:mm:ss.SSSZ
received_beforestring optionalReturn items received by Mapbox before the specified time. Use ISO 8601 format: YYYY-MM-DDTHH:mm:ss.SSSZ
searchstring optionalA search phrase. Returns items where the feedback text contains the phrase.
sort_bystring optionalThe field to sort results by. Options: received_at (default), created_at, or updated_at
statusarray optionalFilter by one or more feedback statuses. Options: received, fixed, reviewed, out_of_scope
trace_idarray optionalFilter by one or more trace_id values. At least one must match.
updated_afterstring optionalReturn items last updated after the specified time. Use ISO 8601 format: YYYY-MM-DDTHH:mm:ss.SSSZ
updated_beforestring optionalReturn 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.

ParametersTypeDescription
limitnumber optionalMaximum number of styles to return (recommended: 5-10 to avoid token limits, default: no limit)
startstring optionalStart 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)

ParametersTypeDescription
defaultboolean optionalFilter to show only the default public token
limitnumber optionalMaximum number of tokens to return (1-100)
sortbystring optionalSort tokens by created or modified timestamp
startstring optionalToken ID to start pagination from
usagestring optionalFilter 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

ParametersTypeDescription
stylestringMapbox style to optimize (JSON string or style object)
optimizationsarray optionalSpecific 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

ParametersTypeDescription
accessTokenstringMapbox 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.
styleIdstringStyle ID to preview
titleboolean optionalShow title in the preview
zoomwheelboolean optionalEnable 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

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

ParametersTypeDescription
layersarrayLayer configurations based on the mapbox-style-layers resource
base_stylestring optionalBase 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_settingsobject optionalGlobal style settings
standard_configobject optionalConfiguration 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_namestring optionalName 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

ParametersTypeDescription
accessTokenstringMapbox 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.
afterstringMapbox style for the "after" side. Accepts: full style URL (mapbox://styles/username/styleId), username/styleId format, or just styleId if using your own styles
beforestringMapbox style for the "before" side. Accepts: full style URL (mapbox://styles/username/styleId), username/styleId format, or just styleId if using your own styles
latitudenumber optionalLatitude coordinate for the initial map center (-90 to 90). Must be provided together with longitude and zoom.
longitudenumber optionalLongitude coordinate for the initial map center (-180 to 180). Must be provided together with latitude and zoom.
zoomnumber optionalInitial 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

ParametersTypeDescription
latitudenumberLatitude coordinate to query
longitudenumberLongitude coordinate to query
bandsarray optionalSpecific band names to query (for rasterarray tilesets)
dedupeboolean optionalWhether to deduplicate identical features (default: true)
geometrystring optionalFilter results by geometry type
layersarray optionalSpecific layer names to query from the tileset
limitnumber optionalNumber of features to return (1-50, default: 5)
radiusnumber optionalRadius in meters to search for features (default: 0)
tilesetIdstring optionalTileset 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

ParametersTypeDescription
styleIdstringStyle ID to update
namestring optionalNew name for the style
styleobject optionalComplete 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

ParametersTypeDescription
expressionstringMapbox expression to validate (JSON string or expression array)
contextstring optionalContext 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

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

ParametersTypeDescription
stylestringMapbox 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?

Install from MCP:Hub

Tag summary

Content type

Image

Digest

sha256:4dd53e908

Size

523.5 MB

Last updated

27 days ago

docker pull mcp/mapbox-devkit

This week's pulls

Pulls:

1,229

Last week