Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,29 @@
## Unreleased

## 0.1.0 - 2026-03-18

### Add hosted deployment at mcp-docs.mapbox.com

- `@mapbox/mcp-docs-server` is now available as a hosted MCP endpoint at `https://mcp-docs.mapbox.com/mcp` — no install or token required
- Connect directly from Claude Code, Claude Desktop, Cursor, or VS Code using the `url` field in your MCP config

### Update README: correct tool names and resources table (#9)

- Replaced stale tool name references with `get_document_tool` and `batch_get_documents_tool`
- Removed "coming soon" markers from all resources in the resources table
- Dropped deprecated `resource://mapbox-documentation` entry

### Add Claude automated code review workflow (#6)

- Added `.github/workflows/claude-review.yml` using `anthropics/claude-code-action@v1`
- Triggers automatically on PRs with ≥ 300 lines changed, or on any PR when a reviewer comments `@claude`

### Add sub-path exports for tools, resources, and utils (#7)

- Added barrel files `src/tools/index.ts`, `src/resources/index.ts`, and `src/utils/index.ts`
- Exposed `./tools`, `./resources`, and `./utils` sub-path exports via `tshy` and the `exports` map in `package.json`
- Enables hosted-mcp-server and other consumers to import server internals directly without bundling the full entry point

### Fix transient memory amplification in `batch_get_documents_tool` (#4)

- Deduplicate intra-batch URLs by normalized key: multiple input URLs that resolve to the same page (e.g. cache-busting query params) now share a single HTTP request and a single buffered body instead of each triggering a separate fetch
Expand Down
41 changes: 13 additions & 28 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,46 +100,31 @@ npm run build

## Tools

### Documentation Tools

**`get_latest_mapbox_docs_tool`** — Fetches the full Mapbox documentation index from `docs.mapbox.com/llms.txt`. Returns up-to-date, comprehensive coverage of all Mapbox services, APIs, SDKs, and guides in a single LLM-optimized format.
**`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?"

**`search_mapbox_docs_tool`** _(coming soon)_ — AI-powered search of Mapbox documentation. Returns ranked, relevant sections for a specific query instead of the full corpus. Supports filtering by category (apis, sdks, guides, examples).

**`explore_mapbox_api_tool`** _(coming soon)_ — Structured, queryable information about Mapbox REST API endpoints. Lists available APIs, operations, required parameters, authentication scopes, and rate limits without making any API calls.

**`validate_api_request_tool`** _(coming soon)_ — Validates a Mapbox API request before sending it. Checks required parameters, types, enum values, and token scopes.

**`test_api_request_tool`** _(coming soon)_ — Makes real HTTP calls to Mapbox APIs and returns actual responses, with optional code generation in curl, JavaScript, and Python. Requires a Mapbox access token as input.

**`get_contextual_docs_tool`** _(coming soon)_ — Retrieves documentation relevant to a specific code context, error message, or technology.

### Reference Tools

**`get_reference_tool`** — Serves static Mapbox reference documentation directly as tool output (useful for clients that don't support MCP resources). Covers style layers, Streets v8 fields, token scopes, and layer type mappings.
**`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.

## Resources

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

| Resource URI | Contents |
| ------------------------------------------------- | ------------------------------------------------------------------- |
| `resource://mapbox-documentation` | Full Mapbox docs from `docs.mapbox.com/llms.txt` |
| `resource://mapbox-api-reference` _(coming soon)_ | REST API reference docs only |
| `resource://mapbox-sdk-docs` _(coming soon)_ | SDK and client library docs only |
| `resource://mapbox-guides` _(coming soon)_ | Tutorials, how-tos, and guides only |
| `resource://mapbox-examples` _(coming soon)_ | Code examples and playgrounds only |
| `resource://mapbox-reference` _(coming soon)_ | Tilesets, data products, and reference materials |
| `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 |
| 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

Expand Down
1 change: 1 addition & 0 deletions cspell.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
"mapbox",
"MAPBOX",
"modelcontextprotocol",
"anthropics",
"llms",
"LLMS",
"tileset",
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@mapbox/mcp-docs-server",
"version": "0.1.0-dev",
"version": "0.1.0",
"description": "Mapbox MCP documentation server",
"mcpName": "io.github.mapbox/mcp-docs-server",
"main": "./dist/commonjs/index.js",
Expand Down
Loading