Skip to main content
Glama
mapbox-docs

mapbox-docs

Official
by mapbox

Mapbox MCP Documentation Server

A Model Context Protocol (MCP) server that gives AI assistants instant access to Mapbox documentation and reference materials — no Mapbox access token required.

Quick Start

Hosted (no install required)

Connect directly to the hosted endpoint — nothing to install or maintain:

Claude Code / Claude Desktop / Cursor / VS Code

{
  "mcpServers": {
    "mapbox-docs": {
      "url": "https://mcp-docs.mapbox.com/mcp"
    }
  }
}

npx (runs locally, no install)

Claude Code — run claude mcp add:

claude mcp add mapbox-docs -- npx -y @mapbox/mcp-docs-server

Claude Desktop — add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "mapbox-docs": {
      "command": "npx",
      "args": ["-y", "@mapbox/mcp-docs-server"]
    }
  }
}

Cursor / VS Code — add the same mcpServers block to your editor's MCP settings file.


Docker

Build the image:

docker build -t mapbox/mcp-docs-server .

Or pull from the registry:

docker pull mapbox/mcp-docs-server

Claude Desktop / Cursor / VS Code — configure your MCP client to run the container:

{
  "mcpServers": {
    "mapbox-docs": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "mapbox/mcp-docs-server"]
    }
  }
}

Local (from source)

git clone https://github.com/mapbox/mcp-docs-server.git
cd mcp-docs-server
npm install
npm run build

Claude Desktop / Cursor / VS Code:

{
  "mcpServers": {
    "mapbox-docs": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-docs-server/dist/esm/index.js"]
    }
  }
}

Related MCP server: Mapbox MCP Server

Tools

get_document_tool — Fetches the full content of a specific Mapbox documentation page by URL. Use this to follow a link from a resource and retrieve the complete page content.

Example prompts:

  • "What Mapbox APIs are available?"

  • "How do I add a custom layer to a Mapbox style?"

  • "What's the latest Mapbox GL JS version?"

batch_get_documents_tool — Fetches multiple Mapbox documentation pages in a single call (max 20). More efficient than calling get_document_tool multiple times. Failed pages include an error message rather than failing the whole batch.

search_mapbox_docs_tool — Searches Mapbox documentation across API reference, GL JS, Help Center, Style Spec, Studio, Search JS, iOS/Android Maps and Navigation SDKs, and Tilesets, returning ranked page URLs and descriptions. Use this to find relevant documentation before fetching full pages with get_document_tool or batch_get_documents_tool.

Example prompts:

  • "Find docs about camera animation"

  • "Search for geocoding API examples"

  • "What documentation exists for custom layers?"

Resources

MCP resources expose reference data that AI assistants can read on demand:

Resource URI

Contents

resource://mapbox-api-reference

REST API reference docs (endpoints, parameters, rate limits)

resource://mapbox-sdk-docs

SDK and client library docs (iOS, Android, Flutter, web)

resource://mapbox-guides

Tutorials, how-tos, and guides

resource://mapbox-examples

Code examples, API playgrounds, and interactive demos

resource://mapbox-reference

Tilesets, data products, accounts, and pricing reference

resource://mapbox-style-layers

Style layer reference (paint/layout properties for all layer types)

resource://mapbox-streets-v8-fields

Mapbox Streets v8 tileset field reference

resource://mapbox-token-scopes

All available Mapbox token scopes with descriptions

resource://mapbox-layer-type-mapping

Mapping of Mapbox layer types to their properties

Development

Prerequisites

  • Node.js >= 22

  • npm

Setup

git clone https://github.com/mapbox/mcp-docs-server.git
cd mcp-docs-server
npm install

Commands

npm run build          # Compile TypeScript (ESM + CJS)
npm test               # Run test suite (vitest)
npm run lint           # ESLint
npm run format         # Prettier check
npm run format:fix     # Prettier auto-fix
npm run inspect:build  # Launch MCP Inspector against built server
npm run inspect:dev    # Launch MCP Inspector against source (tsx)

Architecture

The server is a TypeScript MCP server using @modelcontextprotocol/sdk with a dual ESM/CJS build via tshy.

  • Tools extend BaseTool<InputSchema, OutputSchema> in src/tools/

  • Resources extend BaseResource in src/resources/

  • No Mapbox access token required for documentation tools

  • HTTP requests use a shared httpPipeline with 1-hour caching

Creating a New Tool

  1. Create a directory src/tools/my-tool/

  2. Add MyTool.input.schema.ts (Zod schema), MyTool.output.schema.ts, and MyTool.ts (extends BaseTool)

  3. Register in src/tools/toolRegistry.ts

  4. Add tests in test/tools/my-tool/

Contributing

Please read CONTRIBUTING.md and VISION.md before submitting a pull request. Contributors using AI coding assistants should also review:

  • CLAUDE.md — for Claude Code

  • AGENTS.md — for other AI coding assistants (Cursor, Copilot, Aider, etc.)

License

MIT — see LICENSE

Available Tools

3 tools
batch_get_documents_toolBatch Get Mapbox Documents ToolA
Read-onlyIdempotent
Inspect

Fetch the full content of multiple Mapbox documentation pages in a single call (max 20). More efficient than calling get_document_tool multiple times. Returns an array of results — failed pages include an error message rather than failing the whole batch.

Inputs: urls (required).

get_document_toolGet Mapbox Document ToolA
Read-onlyIdempotent
Inspect

Fetch the full content of a specific Mapbox documentation page by URL. Use this after search_mapbox_docs_tool to follow a link from the search results and retrieve the complete page content. For fetching multiple pages at once, use batch_get_documents_tool instead.

Inputs: url (required).

search_mapbox_docs_toolSearch Mapbox Docs ToolA
Read-onlyIdempotent
Inspect

Search Mapbox documentation by keyword or natural language query. Searches across API reference, GL JS, Help Center, Style Spec, Studio, Search JS, iOS/Android Maps and Navigation SDKs, and Tilesets. Returns ranked results with titles, URLs, and descriptions. Use get_document_tool to fetch the full content of a result page.

Inputs: query (required), limit.

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    A4.3/5.0

    Scored across 3 tools

    Disambiguation5/5

    Each tool has a clearly distinct role: search to find pages, get_document_tool to fetch one page, batch_get_documents_tool to fetch many. The descriptions explicitly cross-reference each other and state when to prefer one over the other, leaving no real ambiguity.

    Naming Consistency4/5

    All names are snake_case and end in the same _tool suffix, following a verb_object pattern (get_document, search_mapbox_docs). The only deviation is the 'batch_' prefix on batch_get_documents_tool, which is a minor and readable variation.

    Tool Count4/5

    Three tools is on the thin side, but it maps cleanly to the narrow purpose of a documentation search-and-retrieve server. Batch fetching earns its place alongside the single-fetch tool, so nothing feels redundant.

    Completeness4/5

    Search plus single and batch retrieval covers the core documentation workflow end to end, including partial-failure handling in the batch call. Minor gaps exist (no explicit pagination or listing/index tool for browsing all docs), but agents can work around these via search.

    Maintenance

    ActivityActive
    ResponsivenessLimited data

    Related MCP Connectors

    Related MCP Servers