mapbox-mcp-server
MCP Server for the Mapbox API.
AidenYangX
Tools
mapbox_directions
Get navigation route between two points
mapbox_directions_by_places
Get navigation route between multiple places using their names
mapbox_matrix
Calculate travel time and distance matrices between coordinates
mapbox_matrix_by_places
Calculate travel time and distance matrices between places using their names
mapbox_geocoding
Search for places and convert addresses into coordinates
README
<!--
- @Author: AidenYangX
- @Email: xscs709560271@gmail.com
- @Date: 2024-12-21 23:30:55
- @Description: Mapbox MCP Server -->
Mapbox MCP Server
MCP Server for the Mapbox API.
Features
Navigation Tools
-
mapbox_directions
- Get directions between coordinates
- Inputs:
coordinates
({latitude: number, longitude: number}[])profile
(optional): "driving-traffic", "driving", "walking", "cycling"
- Returns: route details with steps, distance, duration
-
mapbox_directions_by_places
- Get directions between places using their names
- Inputs:
places
(string[]): Array of place namesprofile
(optional): "driving-traffic", "driving", "walking", "cycling"language
(optional): Two-letter language code (e.g., "zh", "en")
- Returns:
- Geocoding results for each place
- Route details with steps, distance, duration
- Any errors that occurred during processing
-
mapbox_matrix
- Calculate travel time and distance matrices between coordinates
- Inputs:
coordinates
({latitude: number, longitude: number}[])profile
(optional): "driving", "walking", "cycling"annotations
(optional): "duration", "distance", "duration,distance"sources
(optional): Indices of source coordinatesdestinations
(optional): Indices of destination coordinates
- Returns: Matrix of durations and/or distances between points
-
mapbox_matrix_by_places
- Calculate travel time and distance matrices between places using their names
- Inputs:
places
(string[]): Array of place names (2-25 places)profile
(optional): "driving", "walking", "cycling"annotations
(optional): "duration", "distance", "duration,distance"language
(optional): Two-letter language codesources
(optional): Indices of source placesdestinations
(optional): Indices of destination places
- Returns:
- Geocoding results for each place
- Matrix of durations and/or distances
- Any errors that occurred during processing
Search Tools
mapbox_geocoding
- Search for places and convert addresses into coordinates
- Inputs:
searchText
(string): The place or address to search forlimit
(optional): Maximum number of results (1-10)types
(optional): Filter by place types (country, region, place, etc.)language
(optional): Two-letter language codefuzzyMatch
(optional): Enable/disable fuzzy matching
- Returns: Detailed location information including coordinates and properties
Claude Desktop Integration
Add this configuration to your Claude Desktop config file (typically located at ~/Library/Application Support/Claude/claude_desktop_config.json
):
{
"mcpServers": {
"mapbox-mcp-server": {
"command": "node",
"args": ["/absolute/path/to/mapbox-mcp-server/build/index.js"],
"env": {
"MAPBOX_ACCESS_TOKEN": "your-api-key"
}
}
}
}
Setup
Prerequisites
- Node.js 16 or higher
- TypeScript 4.5 or higher
- A valid Mapbox API key
API Key
Get a Mapbox API key by following the instructions here.
Set your API key as an environment variable:
export MAPBOX_ACCESS_TOKEN=your_api_key_here
Rate Limits
- Directions API: 300 requests per minute
- Matrix API:
- 60 requests per minute for driving/walking/cycling
- 30 requests per minute for driving-traffic
- Geocoding API: 600 requests per minute
Deployment
Structure
In mapbox-mcp-server, we use the following structure to manage the server's handlers:
src/server/handlers/base.ts
: Base class for all handlerssrc/server/registry.ts
: Registry for all handlerssrc/server/main.ts
: Main entry point for the server
Each feature module follows this structure:
src/
├── types/ # Type definitions
├── schemas/ # Zod schemas for validation
├── tools/
│ ├── definitions/ # Tool definitions
│ └── handlers/ # Tool implementations
└── server/
└── handlers/ # Handler classes
Class Diagram:
Process Diagram:
Error Handling
All tools implement comprehensive error handling:
- Input validation errors
- API request failures
- Rate limit errors
- Service-specific errors (e.g., no routes found, invalid coordinates)
License
This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.
Recommended Servers
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Playwright MCP Server
Provides a server utilizing Model Context Protocol to enable human-like browser automation with Playwright, allowing control over browser actions such as navigation, element interaction, and scrolling.
Apple MCP Server
Enables interaction with Apple apps like Messages, Notes, and Contacts through the MCP protocol to send messages, search, and open app content using natural language.
contentful-mcp
Update, create, delete content, content-models and assets in your Contentful Space
serper-search-scrape-mcp-server
This Serper MCP Server supports search and webpage scraping, and all the most recent parameters introduced by the Serper API, like location.
The Verge News MCP Server
Provides tools to fetch and search news from The Verge's RSS feed, allowing users to get today's news, retrieve random articles from the past week, and search for specific keywords in recent Verge content.
MCP Server Trello
Facilitates interaction with Trello boards via the Trello API, offering features like rate limiting, type safety, input validation, and error handling for seamless management of cards, lists, and board activities.
MCP DuckDB Knowledge Graph Memory Server
A memory server for Claude that stores and retrieves knowledge graph data in DuckDB, enhancing performance and query capabilities for conversations with persistent user information.
dbt Semantic Layer MCP Server
A server that enables querying the dbt Semantic Layer through natural language conversations with Claude Desktop and other AI assistants, allowing users to discover metrics, create queries, analyze data, and visualize results.