This guide shows how to integrate the Mapbox MCP DevKit Server with Claude Desktop for enhanced development workflows.
- Claude Desktop application installed
- A Mapbox account with an access token
- Node.js 22 or higher (for local development)
- Sign up for a free Mapbox account at mapbox.com/signup
- Navigate to your Account page
- Create a new token with the required scopes for your use case
For more information about Mapbox access tokens, see the Mapbox documentation on access tokens.
Each Mapbox tool requires specific token scopes/privileges to function. Using a token without the correct scope will result in authentication errors. Before using any tool, ensure your token has the required scopes:
- Style operations: Require
styles:read,styles:write,styles:list, orstyles:downloadscopes - Token management: Requires
tokens:readandtokens:writescopes - Style previews: Require
tokens:readscope and at least one public token withstyles:readscope
See the Token Requirements section below for detailed scope information for each tool.
Download and install the Claude Desktop application from the official page.
The easiest way to install this MCP server is using the pre-built DXT package:
- Update Claude Desktop - Download the latest version if you haven't recently
- Download the
.dxtfile from the link above - Open the file with Claude Desktop
- Follow the installation prompts
- Provide your Mapbox access token when prompted
This method automatically handles the configuration and setup, providing a one-click installation experience.
For users who prefer manual configuration or need custom setups, you can configure the server directly:
- Open Claude Desktop settings
- Navigate to the Model Context Protocol section
- Modify
claude_desktop_config.jsonto add the new server:
{
"mcpServers": {
"mapbox-devkit": {
"command": "npx",
"args": ["-y", "@mapbox/mcp-devkit-server"],
"env": {
"MAPBOX_ACCESS_TOKEN": "your_token_here"
}
}
}
}{
"mcpServers": {
"mapbox-devkit": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"MAPBOX_ACCESS_TOKEN=your_token_here",
"mapbox-mcp-devkit"
]
}
}
}If you want to use a local version (need to clone and build from this repo):
{
"mcpServers": {
"mapbox-devkit": {
"command": "node",
"args": ["/absolute/path/to/mapbox-mcp-devkit/dist/esm/index.js"],
"env": {
"MAPBOX_ACCESS_TOKEN": "your_token_here"
}
}
}
}Once configured, you can use natural language to interact with Mapbox development tools:
- "List all my Mapbox styles"
- "Create a new style called 'Dark Mode' with a basic dark theme"
- "Update the style with ID 'xyz' to change the water color to blue"
- "Generate a preview URL for my style"
- "Create a new token for my web app with styles:read and fonts:read permissions"
- "List all my public tokens"
- "Show me my default public token"
- "Calculate the bounding box of this GeoJSON data"
- "Generate a preview URL for this GeoJSON file"
- "Convert coordinates from WGS84 to Web Mercator"
You will be asked to approve access when you first use the tools. Click "Allow" to enable the Mapbox tools.
You should see "mapbox-devkit" appear in the tools menu within Claude Desktop.
-
Token not found error:
- Verify your
MAPBOX_ACCESS_TOKENis set correctly in the configuration - Check that the token has the required scopes for the operation
- Verify your
-
Server connection issues:
- Ensure Node.js version is 22 or higher (for NPM package option)
- Check your internet connection for npm package downloads
- Restart Claude Desktop after configuration changes
-
Permission errors:
- Verify your token has the correct scopes (see main README for scope requirements)
- Some operations require secret tokens (starting with
sk.)
Enable verbose error reporting by adding the environment variable:
{
"mcpServers": {
"mapbox-devkit": {
"command": "npx",
"args": ["-y", "@mapbox/mcp-devkit-server"],
"env": {
"MAPBOX_ACCESS_TOKEN": "your_token_here",
"VERBOSE_ERRORS": "true"
}
}
}
}This will provide detailed error messages to help diagnose issues.
Different tools require different scopes:
- List styles:
styles:listscope - Create/Update styles:
styles:writescope - Retrieve styles:
styles:downloadscope - Delete styles:
styles:writescope - Preview styles:
tokens:readscope and at least one public token withstyles:readscope
- List tokens:
tokens:readscope - Create tokens:
tokens:writescope
These tools work locally and don't require specific token scopes:
- Bounding box calculation
- GeoJSON preview generation
- Coordinate conversion
-
Token Security:
- Use environment variables for tokens
- Create restricted tokens for specific domains
- Regularly rotate tokens used in production
-
Development Workflow:
- Use the NPM package for consistent updates
- Enable verbose errors during development
- Test with different token scopes for your use case
-
Performance:
- Use appropriate pagination for large datasets
- Cache frequently accessed styles and tokens
- Consider using Docker for consistent environments across team members