Hosted MCP Server User Guide
September 9, 2025 · View on GitHub
The Mapbox hosted MCP server provides direct access to all Mapbox geospatial tools without requiring local installation or setup.
1. Endpoint
Production endpoint: https://mcp.mapbox.com/mcp
Protocol support: Currently supports Streamable HTTP transport. SSE support may be added based on user feedback and requirements.
2. Client Setup Instructions
Each MCP client has its own configuration process for the hosted MCP server. Below are instructions for the most widely used clients.
2.1 Claude Code
Add the Mapbox MCP server before starting Claude Code:
claude mcp add --transport http mapbox-mcp-production https://mcp.mapbox.com/mcp
Then start Claude Code and run /mcp to initialize the connection:
claude
/mcp


Follow the authentication flow described in Section 3.
2.2 Claude Desktop
- Open Claude Desktop settings
- Navigate to Developer → Edit Config

- Add the Mapbox MCP server configuration:
Note: Claude Desktop currently requires
mcp-remoteas middleware to connect to hosted endpoints.
{
"mcpServers": {
"mapbox-mcp": {
"command": "npx",
"args": ["mcp-remote", "https://mcp.mapbox.com/mcp"]
}
}
}
- Restart Claude Desktop
- The authentication page will open automatically - follow the authentication flow in Section 3.
2.3 VS Code
- Enable MCP in VS Code (refer to VS Code MCP documentation)
- Create or edit your
mcp.jsonconfiguration file:
{
"servers": {
"mapbox-mcp": {
"type": "http",
"url": "https://mcp.mapbox.com/mcp"
}
}
}
- Save the configuration
- Refresh the MCP service if needed


- Follow the authentication flow in Section 3

Tip: To clear authentication data, press
Cmd + Shift + Pand search for "Authentication: Remove Dynamic Authentication Providers"
2.4 Cursor
-
Create an
mcp.jsonfile in either:- Project local:
.cursor/mcp.json - Global:
~/.cursor/mcp.json
- Project local:
-
Add the following configuration:
{
"mcpServers": {
"mapbox-mcp": {
"url": "https://mcp.mapbox.com/mcp"
}
}
}
- In Cursor settings, click "Needs authentication" when prompted
- Follow the authentication flow in Section 3
2.5 OpenAI Chat
- Navigate to OpenAI's edit prompt page

- Click "Add tools" → "Add server"
- Configure the connection:
- URL:
https://mcp.mapbox.com/mcp - Authentication: Custom headers
- Header name:
authorization - Header value:
Bearer <your_mapbox_access_token>
- URL:
- Click "Connect" and wait for confirmation

- Select the tools you want to add

- Click "Add" to complete setup
You can now send prompts to test the integration.
3. Authentication
The hosted MCP server supports two authentication methods:
3.1 OAuth Flow (Interactive)
- Login prompt: After configuring your MCP client, a browser window opens asking you to log in to your Mapbox account

- Authorization: Once logged in, click "Allow" on the authorization page to grant permissions

- Confirmation: You'll see a success screen, and your MCP client will display a confirmation message
3.2 Bearer Token (API Access)
For programmatic access, use your Mapbox access token directly in API calls (see Section 4).
4. Direct API Access
For programmatic integration, you can call the hosted MCP server directly using your Mapbox access token. This is ideal for backend scripts, testing, and automation.
4.1 Prerequisites
- Valid Mapbox access token with appropriate scopes
- HTTP client (curl, Node.js fetch, Python requests, etc.)
4.2 Protocol
The server uses JSON-RPC 2.0 protocol with these required fields:
jsonrpc: "2.0"method: The operation to performparams: Operation parametersid: Request identifier
Endpoint: https://mcp.mapbox.com/mcp
4.3 Available Operations
List Available Tools
Retrieve all supported tools and their schemas:
curl 'https://mcp.mapbox.com/mcp' \
-H 'authorization: Bearer <your_mapbox_token>' \
-H 'accept: application/json, text/event-stream' \
-H 'content-type: application/json' \
--data-raw '{"method":"tools/list","params":{},"jsonrpc":"2.0","id":1}'
Example Response (simplified)
{
"result": {
"tools": [
{
"name": "version_tool",
"description": "Get the current version information of the MCP server",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
},
{
"name": "category_search_tool",
"description": "Return all places that match a category...",
"inputSchema": {
"type": "object",
"properties": {
"category": {
"type": "string",
"description": "The canonical category ID to search for..."
}
}
}
}
]
},
"jsonrpc": "2.0",
"id": 1
}
Execute a Tool
Call a specific tool with parameters:
curl 'https://mcp.mapbox.com/mcp' \
-H 'accept: application/json, text/event-stream' \
-H 'authorization: Bearer <your_mapbox_token>' \
-H 'content-type: application/json' \
--data-raw '{
"method": "tools/call",
"params": {
"name": "category_search_tool",
"arguments": {
"category": "coffee_shop",
"limit": 5,
"proximity": {"longitude": -122.4075, "latitude": 37.788},
"format": "formatted_text"
}
},
"jsonrpc": "2.0",
"id": 2
}'
Example Response (simplified)
{
"result": {
"content": [
{
"type": "text",
"text": "1. Starbucks\n Address: 170 O'farrell St, San Francisco, CA\n Coordinates: 37.7868, -122.4073\n Category: coffee shop, café\n\n2. Bluestone Lane\n Address: 562 Sutter St, San Francisco, CA\n Coordinates: 37.7891, -122.4098\n Category: café, coffee shop"
}
],
"isError": false
},
"jsonrpc": "2.0",
"id": 0
}