@mapbox/mcp-docs-server 0.1.0-dev
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +196 -0
- package/dist/commonjs/config/toolConfig.d.ts +8 -0
- package/dist/commonjs/config/toolConfig.d.ts.map +1 -0
- package/dist/commonjs/config/toolConfig.js +41 -0
- package/dist/commonjs/config/toolConfig.js.map +1 -0
- package/dist/commonjs/constants/mapboxStreetsV8Fields.trimmed.d.ts +306 -0
- package/dist/commonjs/constants/mapboxStreetsV8Fields.trimmed.d.ts.map +1 -0
- package/dist/commonjs/constants/mapboxStreetsV8Fields.trimmed.js +2069 -0
- package/dist/commonjs/constants/mapboxStreetsV8Fields.trimmed.js.map +1 -0
- package/dist/commonjs/index.d.ts +2 -0
- package/dist/commonjs/index.d.ts.map +1 -0
- package/dist/commonjs/index.js +82 -0
- package/dist/commonjs/index.js.map +1 -0
- package/dist/commonjs/package.json +3 -0
- package/dist/commonjs/resources/BaseResource.d.ts +21 -0
- package/dist/commonjs/resources/BaseResource.d.ts.map +1 -0
- package/dist/commonjs/resources/BaseResource.js +21 -0
- package/dist/commonjs/resources/BaseResource.js.map +1 -0
- package/dist/commonjs/resources/index.d.ts +3 -0
- package/dist/commonjs/resources/index.d.ts.map +1 -0
- package/dist/commonjs/resources/index.js +9 -0
- package/dist/commonjs/resources/index.js.map +1 -0
- package/dist/commonjs/resources/mapbox-api-reference-resource/MapboxApiReferenceResource.d.ts +19 -0
- package/dist/commonjs/resources/mapbox-api-reference-resource/MapboxApiReferenceResource.d.ts.map +1 -0
- package/dist/commonjs/resources/mapbox-api-reference-resource/MapboxApiReferenceResource.js +61 -0
- package/dist/commonjs/resources/mapbox-api-reference-resource/MapboxApiReferenceResource.js.map +1 -0
- package/dist/commonjs/resources/mapbox-documentation-resource/MapboxDocumentationResource.d.ts +29 -0
- package/dist/commonjs/resources/mapbox-documentation-resource/MapboxDocumentationResource.d.ts.map +1 -0
- package/dist/commonjs/resources/mapbox-documentation-resource/MapboxDocumentationResource.js +66 -0
- package/dist/commonjs/resources/mapbox-documentation-resource/MapboxDocumentationResource.js.map +1 -0
- package/dist/commonjs/resources/mapbox-examples-resource/MapboxExamplesResource.d.ts +19 -0
- package/dist/commonjs/resources/mapbox-examples-resource/MapboxExamplesResource.d.ts.map +1 -0
- package/dist/commonjs/resources/mapbox-examples-resource/MapboxExamplesResource.js +61 -0
- package/dist/commonjs/resources/mapbox-examples-resource/MapboxExamplesResource.js.map +1 -0
- package/dist/commonjs/resources/mapbox-guides-resource/MapboxGuidesResource.d.ts +19 -0
- package/dist/commonjs/resources/mapbox-guides-resource/MapboxGuidesResource.d.ts.map +1 -0
- package/dist/commonjs/resources/mapbox-guides-resource/MapboxGuidesResource.js +61 -0
- package/dist/commonjs/resources/mapbox-guides-resource/MapboxGuidesResource.js.map +1 -0
- package/dist/commonjs/resources/mapbox-layer-type-mapping-resource/MapboxLayerTypeMappingResource.d.ts +19 -0
- package/dist/commonjs/resources/mapbox-layer-type-mapping-resource/MapboxLayerTypeMappingResource.d.ts.map +1 -0
- package/dist/commonjs/resources/mapbox-layer-type-mapping-resource/MapboxLayerTypeMappingResource.js +170 -0
- package/dist/commonjs/resources/mapbox-layer-type-mapping-resource/MapboxLayerTypeMappingResource.js.map +1 -0
- package/dist/commonjs/resources/mapbox-reference-resource/MapboxReferenceResource.d.ts +19 -0
- package/dist/commonjs/resources/mapbox-reference-resource/MapboxReferenceResource.d.ts.map +1 -0
- package/dist/commonjs/resources/mapbox-reference-resource/MapboxReferenceResource.js +61 -0
- package/dist/commonjs/resources/mapbox-reference-resource/MapboxReferenceResource.js.map +1 -0
- package/dist/commonjs/resources/mapbox-sdk-docs-resource/MapboxSdkDocsResource.d.ts +19 -0
- package/dist/commonjs/resources/mapbox-sdk-docs-resource/MapboxSdkDocsResource.d.ts.map +1 -0
- package/dist/commonjs/resources/mapbox-sdk-docs-resource/MapboxSdkDocsResource.js +61 -0
- package/dist/commonjs/resources/mapbox-sdk-docs-resource/MapboxSdkDocsResource.js.map +1 -0
- package/dist/commonjs/resources/mapbox-streets-v8-fields-resource/MapboxStreetsV8FieldsResource.d.ts +19 -0
- package/dist/commonjs/resources/mapbox-streets-v8-fields-resource/MapboxStreetsV8FieldsResource.d.ts.map +1 -0
- package/dist/commonjs/resources/mapbox-streets-v8-fields-resource/MapboxStreetsV8FieldsResource.js +30 -0
- package/dist/commonjs/resources/mapbox-streets-v8-fields-resource/MapboxStreetsV8FieldsResource.js.map +1 -0
- package/dist/commonjs/resources/mapbox-style-layers-resource/MapboxStyleLayersResource.d.ts +20 -0
- package/dist/commonjs/resources/mapbox-style-layers-resource/MapboxStyleLayersResource.d.ts.map +1 -0
- package/dist/commonjs/resources/mapbox-style-layers-resource/MapboxStyleLayersResource.js +323 -0
- package/dist/commonjs/resources/mapbox-style-layers-resource/MapboxStyleLayersResource.js.map +1 -0
- package/dist/commonjs/resources/mapbox-token-scopes-resource/MapboxTokenScopesResource.d.ts +20 -0
- package/dist/commonjs/resources/mapbox-token-scopes-resource/MapboxTokenScopesResource.d.ts.map +1 -0
- package/dist/commonjs/resources/mapbox-token-scopes-resource/MapboxTokenScopesResource.js +108 -0
- package/dist/commonjs/resources/mapbox-token-scopes-resource/MapboxTokenScopesResource.js.map +1 -0
- package/dist/commonjs/resources/resourceRegistry.d.ts +15 -0
- package/dist/commonjs/resources/resourceRegistry.d.ts.map +1 -0
- package/dist/commonjs/resources/resourceRegistry.js +39 -0
- package/dist/commonjs/resources/resourceRegistry.js.map +1 -0
- package/dist/commonjs/resources/utils/docParser.d.ts +28 -0
- package/dist/commonjs/resources/utils/docParser.d.ts.map +1 -0
- package/dist/commonjs/resources/utils/docParser.js +94 -0
- package/dist/commonjs/resources/utils/docParser.js.map +1 -0
- package/dist/commonjs/tools/BaseTool.d.ts +30 -0
- package/dist/commonjs/tools/BaseTool.d.ts.map +1 -0
- package/dist/commonjs/tools/BaseTool.js +63 -0
- package/dist/commonjs/tools/BaseTool.js.map +1 -0
- package/dist/commonjs/tools/batch-get-documents-tool/BatchGetDocumentsTool.d.ts +21 -0
- package/dist/commonjs/tools/batch-get-documents-tool/BatchGetDocumentsTool.d.ts.map +1 -0
- package/dist/commonjs/tools/batch-get-documents-tool/BatchGetDocumentsTool.input.schema.d.ts +6 -0
- package/dist/commonjs/tools/batch-get-documents-tool/BatchGetDocumentsTool.input.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/batch-get-documents-tool/BatchGetDocumentsTool.input.schema.js +14 -0
- package/dist/commonjs/tools/batch-get-documents-tool/BatchGetDocumentsTool.input.schema.js.map +1 -0
- package/dist/commonjs/tools/batch-get-documents-tool/BatchGetDocumentsTool.js +94 -0
- package/dist/commonjs/tools/batch-get-documents-tool/BatchGetDocumentsTool.js.map +1 -0
- package/dist/commonjs/tools/get-document-tool/GetDocumentTool.d.ts +21 -0
- package/dist/commonjs/tools/get-document-tool/GetDocumentTool.d.ts.map +1 -0
- package/dist/commonjs/tools/get-document-tool/GetDocumentTool.input.schema.d.ts +6 -0
- package/dist/commonjs/tools/get-document-tool/GetDocumentTool.input.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/get-document-tool/GetDocumentTool.input.schema.js +13 -0
- package/dist/commonjs/tools/get-document-tool/GetDocumentTool.input.schema.js.map +1 -0
- package/dist/commonjs/tools/get-document-tool/GetDocumentTool.js +80 -0
- package/dist/commonjs/tools/get-document-tool/GetDocumentTool.js.map +1 -0
- package/dist/commonjs/tools/index.d.ts +3 -0
- package/dist/commonjs/tools/index.d.ts.map +1 -0
- package/dist/commonjs/tools/index.js +10 -0
- package/dist/commonjs/tools/index.js.map +1 -0
- package/dist/commonjs/tools/toolRegistry.d.ts +12 -0
- package/dist/commonjs/tools/toolRegistry.d.ts.map +1 -0
- package/dist/commonjs/tools/toolRegistry.js +29 -0
- package/dist/commonjs/tools/toolRegistry.js.map +1 -0
- package/dist/commonjs/utils/docCache.d.ts +28 -0
- package/dist/commonjs/utils/docCache.d.ts.map +1 -0
- package/dist/commonjs/utils/docCache.js +129 -0
- package/dist/commonjs/utils/docCache.js.map +1 -0
- package/dist/commonjs/utils/httpPipeline.d.ts +39 -0
- package/dist/commonjs/utils/httpPipeline.d.ts.map +1 -0
- package/dist/commonjs/utils/httpPipeline.js +112 -0
- package/dist/commonjs/utils/httpPipeline.js.map +1 -0
- package/dist/commonjs/utils/index.d.ts +4 -0
- package/dist/commonjs/utils/index.d.ts.map +1 -0
- package/dist/commonjs/utils/index.js +12 -0
- package/dist/commonjs/utils/index.js.map +1 -0
- package/dist/commonjs/utils/types.d.ts +7 -0
- package/dist/commonjs/utils/types.d.ts.map +1 -0
- package/dist/commonjs/utils/types.js +5 -0
- package/dist/commonjs/utils/types.js.map +1 -0
- package/dist/commonjs/utils/versionUtils.d.ts +9 -0
- package/dist/commonjs/utils/versionUtils.d.ts.map +1 -0
- package/dist/commonjs/utils/versionUtils.js +34 -0
- package/dist/commonjs/utils/versionUtils.js.map +1 -0
- package/dist/commonjs/version.json +6 -0
- package/dist/esm/config/toolConfig.d.ts +8 -0
- package/dist/esm/config/toolConfig.d.ts.map +1 -0
- package/dist/esm/config/toolConfig.js +37 -0
- package/dist/esm/config/toolConfig.js.map +1 -0
- package/dist/esm/constants/mapboxStreetsV8Fields.trimmed.d.ts +306 -0
- package/dist/esm/constants/mapboxStreetsV8Fields.trimmed.d.ts.map +1 -0
- package/dist/esm/constants/mapboxStreetsV8Fields.trimmed.js +2066 -0
- package/dist/esm/constants/mapboxStreetsV8Fields.trimmed.js.map +1 -0
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +80 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/resources/BaseResource.d.ts +21 -0
- package/dist/esm/resources/BaseResource.d.ts.map +1 -0
- package/dist/esm/resources/BaseResource.js +17 -0
- package/dist/esm/resources/BaseResource.js.map +1 -0
- package/dist/esm/resources/index.d.ts +3 -0
- package/dist/esm/resources/index.d.ts.map +1 -0
- package/dist/esm/resources/index.js +4 -0
- package/dist/esm/resources/index.js.map +1 -0
- package/dist/esm/resources/mapbox-api-reference-resource/MapboxApiReferenceResource.d.ts +19 -0
- package/dist/esm/resources/mapbox-api-reference-resource/MapboxApiReferenceResource.d.ts.map +1 -0
- package/dist/esm/resources/mapbox-api-reference-resource/MapboxApiReferenceResource.js +57 -0
- package/dist/esm/resources/mapbox-api-reference-resource/MapboxApiReferenceResource.js.map +1 -0
- package/dist/esm/resources/mapbox-documentation-resource/MapboxDocumentationResource.d.ts +29 -0
- package/dist/esm/resources/mapbox-documentation-resource/MapboxDocumentationResource.d.ts.map +1 -0
- package/dist/esm/resources/mapbox-documentation-resource/MapboxDocumentationResource.js +62 -0
- package/dist/esm/resources/mapbox-documentation-resource/MapboxDocumentationResource.js.map +1 -0
- package/dist/esm/resources/mapbox-examples-resource/MapboxExamplesResource.d.ts +19 -0
- package/dist/esm/resources/mapbox-examples-resource/MapboxExamplesResource.d.ts.map +1 -0
- package/dist/esm/resources/mapbox-examples-resource/MapboxExamplesResource.js +57 -0
- package/dist/esm/resources/mapbox-examples-resource/MapboxExamplesResource.js.map +1 -0
- package/dist/esm/resources/mapbox-guides-resource/MapboxGuidesResource.d.ts +19 -0
- package/dist/esm/resources/mapbox-guides-resource/MapboxGuidesResource.d.ts.map +1 -0
- package/dist/esm/resources/mapbox-guides-resource/MapboxGuidesResource.js +57 -0
- package/dist/esm/resources/mapbox-guides-resource/MapboxGuidesResource.js.map +1 -0
- package/dist/esm/resources/mapbox-layer-type-mapping-resource/MapboxLayerTypeMappingResource.d.ts +19 -0
- package/dist/esm/resources/mapbox-layer-type-mapping-resource/MapboxLayerTypeMappingResource.d.ts.map +1 -0
- package/dist/esm/resources/mapbox-layer-type-mapping-resource/MapboxLayerTypeMappingResource.js +166 -0
- package/dist/esm/resources/mapbox-layer-type-mapping-resource/MapboxLayerTypeMappingResource.js.map +1 -0
- package/dist/esm/resources/mapbox-reference-resource/MapboxReferenceResource.d.ts +19 -0
- package/dist/esm/resources/mapbox-reference-resource/MapboxReferenceResource.d.ts.map +1 -0
- package/dist/esm/resources/mapbox-reference-resource/MapboxReferenceResource.js +57 -0
- package/dist/esm/resources/mapbox-reference-resource/MapboxReferenceResource.js.map +1 -0
- package/dist/esm/resources/mapbox-sdk-docs-resource/MapboxSdkDocsResource.d.ts +19 -0
- package/dist/esm/resources/mapbox-sdk-docs-resource/MapboxSdkDocsResource.d.ts.map +1 -0
- package/dist/esm/resources/mapbox-sdk-docs-resource/MapboxSdkDocsResource.js +57 -0
- package/dist/esm/resources/mapbox-sdk-docs-resource/MapboxSdkDocsResource.js.map +1 -0
- package/dist/esm/resources/mapbox-streets-v8-fields-resource/MapboxStreetsV8FieldsResource.d.ts +19 -0
- package/dist/esm/resources/mapbox-streets-v8-fields-resource/MapboxStreetsV8FieldsResource.d.ts.map +1 -0
- package/dist/esm/resources/mapbox-streets-v8-fields-resource/MapboxStreetsV8FieldsResource.js +26 -0
- package/dist/esm/resources/mapbox-streets-v8-fields-resource/MapboxStreetsV8FieldsResource.js.map +1 -0
- package/dist/esm/resources/mapbox-style-layers-resource/MapboxStyleLayersResource.d.ts +20 -0
- package/dist/esm/resources/mapbox-style-layers-resource/MapboxStyleLayersResource.d.ts.map +1 -0
- package/dist/esm/resources/mapbox-style-layers-resource/MapboxStyleLayersResource.js +319 -0
- package/dist/esm/resources/mapbox-style-layers-resource/MapboxStyleLayersResource.js.map +1 -0
- package/dist/esm/resources/mapbox-token-scopes-resource/MapboxTokenScopesResource.d.ts +20 -0
- package/dist/esm/resources/mapbox-token-scopes-resource/MapboxTokenScopesResource.d.ts.map +1 -0
- package/dist/esm/resources/mapbox-token-scopes-resource/MapboxTokenScopesResource.js +104 -0
- package/dist/esm/resources/mapbox-token-scopes-resource/MapboxTokenScopesResource.js.map +1 -0
- package/dist/esm/resources/resourceRegistry.d.ts +15 -0
- package/dist/esm/resources/resourceRegistry.d.ts.map +1 -0
- package/dist/esm/resources/resourceRegistry.js +34 -0
- package/dist/esm/resources/resourceRegistry.js.map +1 -0
- package/dist/esm/resources/utils/docParser.d.ts +28 -0
- package/dist/esm/resources/utils/docParser.d.ts.map +1 -0
- package/dist/esm/resources/utils/docParser.js +88 -0
- package/dist/esm/resources/utils/docParser.js.map +1 -0
- package/dist/esm/tools/BaseTool.d.ts +30 -0
- package/dist/esm/tools/BaseTool.d.ts.map +1 -0
- package/dist/esm/tools/BaseTool.js +59 -0
- package/dist/esm/tools/BaseTool.js.map +1 -0
- package/dist/esm/tools/batch-get-documents-tool/BatchGetDocumentsTool.d.ts +21 -0
- package/dist/esm/tools/batch-get-documents-tool/BatchGetDocumentsTool.d.ts.map +1 -0
- package/dist/esm/tools/batch-get-documents-tool/BatchGetDocumentsTool.input.schema.d.ts +6 -0
- package/dist/esm/tools/batch-get-documents-tool/BatchGetDocumentsTool.input.schema.d.ts.map +1 -0
- package/dist/esm/tools/batch-get-documents-tool/BatchGetDocumentsTool.input.schema.js +11 -0
- package/dist/esm/tools/batch-get-documents-tool/BatchGetDocumentsTool.input.schema.js.map +1 -0
- package/dist/esm/tools/batch-get-documents-tool/BatchGetDocumentsTool.js +90 -0
- package/dist/esm/tools/batch-get-documents-tool/BatchGetDocumentsTool.js.map +1 -0
- package/dist/esm/tools/get-document-tool/GetDocumentTool.d.ts +21 -0
- package/dist/esm/tools/get-document-tool/GetDocumentTool.d.ts.map +1 -0
- package/dist/esm/tools/get-document-tool/GetDocumentTool.input.schema.d.ts +6 -0
- package/dist/esm/tools/get-document-tool/GetDocumentTool.input.schema.d.ts.map +1 -0
- package/dist/esm/tools/get-document-tool/GetDocumentTool.input.schema.js +10 -0
- package/dist/esm/tools/get-document-tool/GetDocumentTool.input.schema.js.map +1 -0
- package/dist/esm/tools/get-document-tool/GetDocumentTool.js +76 -0
- package/dist/esm/tools/get-document-tool/GetDocumentTool.js.map +1 -0
- package/dist/esm/tools/index.d.ts +3 -0
- package/dist/esm/tools/index.d.ts.map +1 -0
- package/dist/esm/tools/index.js +4 -0
- package/dist/esm/tools/index.js.map +1 -0
- package/dist/esm/tools/toolRegistry.d.ts +12 -0
- package/dist/esm/tools/toolRegistry.d.ts.map +1 -0
- package/dist/esm/tools/toolRegistry.js +23 -0
- package/dist/esm/tools/toolRegistry.js.map +1 -0
- package/dist/esm/utils/docCache.d.ts +28 -0
- package/dist/esm/utils/docCache.d.ts.map +1 -0
- package/dist/esm/utils/docCache.js +124 -0
- package/dist/esm/utils/docCache.js.map +1 -0
- package/dist/esm/utils/httpPipeline.d.ts +39 -0
- package/dist/esm/utils/httpPipeline.d.ts.map +1 -0
- package/dist/esm/utils/httpPipeline.js +106 -0
- package/dist/esm/utils/httpPipeline.js.map +1 -0
- package/dist/esm/utils/index.d.ts +4 -0
- package/dist/esm/utils/index.d.ts.map +1 -0
- package/dist/esm/utils/index.js +5 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/types.d.ts +7 -0
- package/dist/esm/utils/types.d.ts.map +1 -0
- package/dist/esm/utils/types.js +4 -0
- package/dist/esm/utils/types.js.map +1 -0
- package/dist/esm/utils/versionUtils.d.ts +9 -0
- package/dist/esm/utils/versionUtils.d.ts.map +1 -0
- package/dist/esm/utils/versionUtils.js +28 -0
- package/dist/esm/utils/versionUtils.js.map +1 -0
- package/dist/esm/version.json +6 -0
- package/package.json +132 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Mapbox
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
# Mapbox MCP Documentation Server
|
|
2
|
+
|
|
3
|
+
A [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server that gives AI assistants instant access to Mapbox documentation and reference materials — **no Mapbox access token required**.
|
|
4
|
+
|
|
5
|
+
## Quick Start
|
|
6
|
+
|
|
7
|
+
### Hosted (no install required)
|
|
8
|
+
|
|
9
|
+
Connect directly to the hosted endpoint — nothing to install or maintain:
|
|
10
|
+
|
|
11
|
+
**Claude Code / Claude Desktop / Cursor / VS Code**
|
|
12
|
+
|
|
13
|
+
```json
|
|
14
|
+
{
|
|
15
|
+
"mcpServers": {
|
|
16
|
+
"mapbox-docs": {
|
|
17
|
+
"url": "https://mcp-docs.mapbox.com/mcp"
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
### npx (runs locally, no install)
|
|
26
|
+
|
|
27
|
+
**Claude Code** — run `claude mcp add`:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
claude mcp add mapbox-docs -- npx -y @mapbox/mcp-docs-server
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
**Claude Desktop** — add to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):
|
|
34
|
+
|
|
35
|
+
```json
|
|
36
|
+
{
|
|
37
|
+
"mcpServers": {
|
|
38
|
+
"mapbox-docs": {
|
|
39
|
+
"command": "npx",
|
|
40
|
+
"args": ["-y", "@mapbox/mcp-docs-server"]
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
**Cursor / VS Code** — add the same `mcpServers` block to your editor's MCP settings file.
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
### Docker
|
|
51
|
+
|
|
52
|
+
**Build the image:**
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
docker build -t mapbox/mcp-docs-server .
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
**Or pull from the registry:**
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
docker pull mapbox/mcp-docs-server
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**Claude Desktop / Cursor / VS Code** — configure your MCP client to run the container:
|
|
65
|
+
|
|
66
|
+
```json
|
|
67
|
+
{
|
|
68
|
+
"mcpServers": {
|
|
69
|
+
"mapbox-docs": {
|
|
70
|
+
"command": "docker",
|
|
71
|
+
"args": ["run", "--rm", "-i", "mapbox/mcp-docs-server"]
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
### Local (from source)
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
git clone https://github.com/mapbox/mcp-docs-server.git
|
|
83
|
+
cd mcp-docs-server
|
|
84
|
+
npm install
|
|
85
|
+
npm run build
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
**Claude Desktop / Cursor / VS Code:**
|
|
89
|
+
|
|
90
|
+
```json
|
|
91
|
+
{
|
|
92
|
+
"mcpServers": {
|
|
93
|
+
"mapbox-docs": {
|
|
94
|
+
"command": "node",
|
|
95
|
+
"args": ["/absolute/path/to/mcp-docs-server/dist/esm/index.js"]
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## Tools
|
|
102
|
+
|
|
103
|
+
### Documentation Tools
|
|
104
|
+
|
|
105
|
+
**`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.
|
|
106
|
+
|
|
107
|
+
Example prompts:
|
|
108
|
+
|
|
109
|
+
- "What Mapbox APIs are available?"
|
|
110
|
+
- "How do I add a custom layer to a Mapbox style?"
|
|
111
|
+
- "What's the latest Mapbox GL JS version?"
|
|
112
|
+
|
|
113
|
+
**`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).
|
|
114
|
+
|
|
115
|
+
**`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.
|
|
116
|
+
|
|
117
|
+
**`validate_api_request_tool`** _(coming soon)_ — Validates a Mapbox API request before sending it. Checks required parameters, types, enum values, and token scopes.
|
|
118
|
+
|
|
119
|
+
**`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.
|
|
120
|
+
|
|
121
|
+
**`get_contextual_docs_tool`** _(coming soon)_ — Retrieves documentation relevant to a specific code context, error message, or technology.
|
|
122
|
+
|
|
123
|
+
### Reference Tools
|
|
124
|
+
|
|
125
|
+
**`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.
|
|
126
|
+
|
|
127
|
+
## Resources
|
|
128
|
+
|
|
129
|
+
MCP resources expose reference data that AI assistants can read on demand:
|
|
130
|
+
|
|
131
|
+
| Resource URI | Contents |
|
|
132
|
+
| ------------------------------------------------- | ------------------------------------------------------------------- |
|
|
133
|
+
| `resource://mapbox-documentation` | Full Mapbox docs from `docs.mapbox.com/llms.txt` |
|
|
134
|
+
| `resource://mapbox-api-reference` _(coming soon)_ | REST API reference docs only |
|
|
135
|
+
| `resource://mapbox-sdk-docs` _(coming soon)_ | SDK and client library docs only |
|
|
136
|
+
| `resource://mapbox-guides` _(coming soon)_ | Tutorials, how-tos, and guides only |
|
|
137
|
+
| `resource://mapbox-examples` _(coming soon)_ | Code examples and playgrounds only |
|
|
138
|
+
| `resource://mapbox-reference` _(coming soon)_ | Tilesets, data products, and reference materials |
|
|
139
|
+
| `resource://mapbox-style-layers` | Style layer reference (paint/layout properties for all layer types) |
|
|
140
|
+
| `resource://mapbox-streets-v8-fields` | Mapbox Streets v8 tileset field reference |
|
|
141
|
+
| `resource://mapbox-token-scopes` | All available Mapbox token scopes with descriptions |
|
|
142
|
+
| `resource://mapbox-layer-type-mapping` | Mapping of Mapbox layer types to their properties |
|
|
143
|
+
|
|
144
|
+
## Development
|
|
145
|
+
|
|
146
|
+
### Prerequisites
|
|
147
|
+
|
|
148
|
+
- Node.js >= 22
|
|
149
|
+
- npm
|
|
150
|
+
|
|
151
|
+
### Setup
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
git clone https://github.com/mapbox/mcp-docs-server.git
|
|
155
|
+
cd mcp-docs-server
|
|
156
|
+
npm install
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### Commands
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
npm run build # Compile TypeScript (ESM + CJS)
|
|
163
|
+
npm test # Run test suite (vitest)
|
|
164
|
+
npm run lint # ESLint
|
|
165
|
+
npm run format # Prettier check
|
|
166
|
+
npm run format:fix # Prettier auto-fix
|
|
167
|
+
npm run inspect:build # Launch MCP Inspector against built server
|
|
168
|
+
npm run inspect:dev # Launch MCP Inspector against source (tsx)
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
### Architecture
|
|
172
|
+
|
|
173
|
+
The server is a TypeScript MCP server using `@modelcontextprotocol/sdk` with a dual ESM/CJS build via `tshy`.
|
|
174
|
+
|
|
175
|
+
- **Tools** extend `BaseTool<InputSchema, OutputSchema>` in `src/tools/`
|
|
176
|
+
- **Resources** extend `BaseResource` in `src/resources/`
|
|
177
|
+
- No Mapbox access token required for documentation tools
|
|
178
|
+
- HTTP requests use a shared `httpPipeline` with 1-hour caching
|
|
179
|
+
|
|
180
|
+
### Creating a New Tool
|
|
181
|
+
|
|
182
|
+
1. Create a directory `src/tools/my-tool/`
|
|
183
|
+
2. Add `MyTool.input.schema.ts` (Zod schema), `MyTool.output.schema.ts`, and `MyTool.ts` (extends `BaseTool`)
|
|
184
|
+
3. Register in `src/tools/toolRegistry.ts`
|
|
185
|
+
4. Add tests in `test/tools/my-tool/`
|
|
186
|
+
|
|
187
|
+
## Contributing
|
|
188
|
+
|
|
189
|
+
Please read [CONTRIBUTING.md](./CONTRIBUTING.md) and [VISION.md](./VISION.md) before submitting a pull request. Contributors using AI coding assistants should also review:
|
|
190
|
+
|
|
191
|
+
- [CLAUDE.md](./CLAUDE.md) — for Claude Code
|
|
192
|
+
- [AGENTS.md](./AGENTS.md) — for other AI coding assistants (Cursor, Copilot, Aider, etc.)
|
|
193
|
+
|
|
194
|
+
## License
|
|
195
|
+
|
|
196
|
+
MIT — see [LICENSE](./LICENSE)
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ToolInstance } from '../tools/toolRegistry.js';
|
|
2
|
+
export interface ToolConfig {
|
|
3
|
+
enabledTools?: string[];
|
|
4
|
+
disabledTools?: string[];
|
|
5
|
+
}
|
|
6
|
+
export declare function parseToolConfigFromArgs(): ToolConfig;
|
|
7
|
+
export declare function filterTools(tools: readonly ToolInstance[], config: ToolConfig): ToolInstance[];
|
|
8
|
+
//# sourceMappingURL=toolConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolConfig.d.ts","sourceRoot":"","sources":["../../../src/config/toolConfig.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,MAAM,WAAW,UAAU;IACzB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,wBAAgB,uBAAuB,IAAI,UAAU,CAqBpD;AAED,wBAAgB,WAAW,CACzB,KAAK,EAAE,SAAS,YAAY,EAAE,EAC9B,MAAM,EAAE,UAAU,GACjB,YAAY,EAAE,CAoBhB"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Mapbox, Inc.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.parseToolConfigFromArgs = parseToolConfigFromArgs;
|
|
6
|
+
exports.filterTools = filterTools;
|
|
7
|
+
function parseToolConfigFromArgs() {
|
|
8
|
+
const args = process.argv.slice(2);
|
|
9
|
+
const config = {};
|
|
10
|
+
for (let i = 0; i < args.length; i++) {
|
|
11
|
+
const arg = args[i];
|
|
12
|
+
if (arg === '--enable-tools') {
|
|
13
|
+
const value = args[++i];
|
|
14
|
+
if (value) {
|
|
15
|
+
config.enabledTools = value.split(',').map((t) => t.trim());
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
else if (arg === '--disable-tools') {
|
|
19
|
+
const value = args[++i];
|
|
20
|
+
if (value) {
|
|
21
|
+
config.disabledTools = value.split(',').map((t) => t.trim());
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return config;
|
|
26
|
+
}
|
|
27
|
+
function filterTools(tools, config) {
|
|
28
|
+
let filteredTools = [...tools];
|
|
29
|
+
// If enabledTools is specified, only those tools should be enabled
|
|
30
|
+
// This takes precedence over disabledTools
|
|
31
|
+
if (config.enabledTools !== undefined) {
|
|
32
|
+
filteredTools = filteredTools.filter((tool) => config.enabledTools.includes(tool.name));
|
|
33
|
+
return filteredTools;
|
|
34
|
+
}
|
|
35
|
+
// Apply disabledTools filter only if enabledTools is not specified
|
|
36
|
+
if (config.disabledTools && config.disabledTools.length > 0) {
|
|
37
|
+
filteredTools = filteredTools.filter((tool) => !config.disabledTools.includes(tool.name));
|
|
38
|
+
}
|
|
39
|
+
return filteredTools;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=toolConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolConfig.js","sourceRoot":"","sources":["../../../src/config/toolConfig.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;AASlC,0DAqBC;AAED,kCAuBC;AA9CD,SAAgB,uBAAuB;IACrC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,MAAM,GAAe,EAAE,CAAC;IAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpB,IAAI,GAAG,KAAK,gBAAgB,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACxB,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,iBAAiB,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACxB,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,WAAW,CACzB,KAA8B,EAC9B,MAAkB;IAElB,IAAI,aAAa,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IAE/B,mEAAmE;IACnE,2CAA2C;IAC3C,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACtC,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAC5C,MAAM,CAAC,YAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CACzC,CAAC;QACF,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,mEAAmE;IACnE,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5D,aAAa,GAAG,aAAa,CAAC,MAAM,CAClC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,aAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CACrD,CAAC;IACJ,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC"}
|