Skip to main content
Glama

Mapbox MCP Server

MCP Server for the Mapbox API.

Features

Navigation Tools

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

  2. mapbox_directions_by_places

    • Get directions between places using their names

    • Inputs:

      • places (string[]): Array of place names

      • profile (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

  3. 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 coordinates

      • destinations (optional): Indices of destination coordinates

    • Returns: Matrix of durations and/or distances between points

  4. 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 code

      • sources (optional): Indices of source places

      • destinations (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

  1. mapbox_geocoding

    • Search for places and convert addresses into coordinates

    • Inputs:

      • searchText (string): The place or address to search for

      • limit (optional): Maximum number of results (1-10)

      • types (optional): Filter by place types (country, region, place, etc.)

      • language (optional): Two-letter language code

      • fuzzyMatch (optional): Enable/disable fuzzy matching

    • Returns: Detailed location information including coordinates and properties

Related MCP server: Overture Maps MCP

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 handlers

  • src/server/registry.ts: Registry for all handlers

  • src/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: mapbox-mcp-server-class-diagram


Process Diagram: mapbox-mcp-server-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.

Available Tools

5 tools
mapbox_directionsC

Get navigation route between two points

Inputs: coordinates (required), profile.

mapbox_directions_by_placesC

Get navigation route between multiple places using their names

Inputs: places (required), profile, language.

mapbox_geocodingC

Search for places and convert addresses into coordinates

Inputs: searchText (required), limit, types, language, +1 more.

mapbox_matrixC

Calculate travel time and distance matrices between coordinates

Inputs: coordinates (required), profile, annotations, approaches, +5 more.

mapbox_matrix_by_placesC

Calculate travel time and distance matrices between places using their names

Inputs: places (required), profile, annotations, language, +4 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 5 tools

    Disambiguation4/5

    The tools are mostly distinct, with clear purposes like routing, geocoding, and matrix calculations. However, the two directions tools (mapbox_directions and mapbox_directions_by_places) and two matrix tools (mapbox_matrix and mapbox_matrix_by_places) could cause minor confusion as they overlap in functionality but differ in input types (coordinates vs. place names). Descriptions help clarify this distinction.

    Naming Consistency5/5

    All tool names follow a consistent 'mapbox_' prefix with descriptive suffixes (e.g., directions, geocoding, matrix), using snake_case uniformly. The naming pattern is predictable and readable, making it easy for agents to understand the tool's purpose at a glance.

    Tool Count5/5

    With 5 tools, the server is well-scoped for its mapping and navigation domain. Each tool serves a distinct function (e.g., routing, geocoding, matrix calculations), and the count is neither too sparse nor overwhelming, fitting typical use cases effectively.

    Completeness4/5

    The tool set covers core mapping operations like routing, geocoding, and travel time calculations, with good coverage for the domain. A minor gap might be the lack of tools for additional Mapbox services (e.g., static maps or spatial analysis), but the provided tools enable key workflows without significant dead ends.

    Related MCP Connectors

    Related MCP Servers