@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.
Files changed (239) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +196 -0
  3. package/dist/commonjs/config/toolConfig.d.ts +8 -0
  4. package/dist/commonjs/config/toolConfig.d.ts.map +1 -0
  5. package/dist/commonjs/config/toolConfig.js +41 -0
  6. package/dist/commonjs/config/toolConfig.js.map +1 -0
  7. package/dist/commonjs/constants/mapboxStreetsV8Fields.trimmed.d.ts +306 -0
  8. package/dist/commonjs/constants/mapboxStreetsV8Fields.trimmed.d.ts.map +1 -0
  9. package/dist/commonjs/constants/mapboxStreetsV8Fields.trimmed.js +2069 -0
  10. package/dist/commonjs/constants/mapboxStreetsV8Fields.trimmed.js.map +1 -0
  11. package/dist/commonjs/index.d.ts +2 -0
  12. package/dist/commonjs/index.d.ts.map +1 -0
  13. package/dist/commonjs/index.js +82 -0
  14. package/dist/commonjs/index.js.map +1 -0
  15. package/dist/commonjs/package.json +3 -0
  16. package/dist/commonjs/resources/BaseResource.d.ts +21 -0
  17. package/dist/commonjs/resources/BaseResource.d.ts.map +1 -0
  18. package/dist/commonjs/resources/BaseResource.js +21 -0
  19. package/dist/commonjs/resources/BaseResource.js.map +1 -0
  20. package/dist/commonjs/resources/index.d.ts +3 -0
  21. package/dist/commonjs/resources/index.d.ts.map +1 -0
  22. package/dist/commonjs/resources/index.js +9 -0
  23. package/dist/commonjs/resources/index.js.map +1 -0
  24. package/dist/commonjs/resources/mapbox-api-reference-resource/MapboxApiReferenceResource.d.ts +19 -0
  25. package/dist/commonjs/resources/mapbox-api-reference-resource/MapboxApiReferenceResource.d.ts.map +1 -0
  26. package/dist/commonjs/resources/mapbox-api-reference-resource/MapboxApiReferenceResource.js +61 -0
  27. package/dist/commonjs/resources/mapbox-api-reference-resource/MapboxApiReferenceResource.js.map +1 -0
  28. package/dist/commonjs/resources/mapbox-documentation-resource/MapboxDocumentationResource.d.ts +29 -0
  29. package/dist/commonjs/resources/mapbox-documentation-resource/MapboxDocumentationResource.d.ts.map +1 -0
  30. package/dist/commonjs/resources/mapbox-documentation-resource/MapboxDocumentationResource.js +66 -0
  31. package/dist/commonjs/resources/mapbox-documentation-resource/MapboxDocumentationResource.js.map +1 -0
  32. package/dist/commonjs/resources/mapbox-examples-resource/MapboxExamplesResource.d.ts +19 -0
  33. package/dist/commonjs/resources/mapbox-examples-resource/MapboxExamplesResource.d.ts.map +1 -0
  34. package/dist/commonjs/resources/mapbox-examples-resource/MapboxExamplesResource.js +61 -0
  35. package/dist/commonjs/resources/mapbox-examples-resource/MapboxExamplesResource.js.map +1 -0
  36. package/dist/commonjs/resources/mapbox-guides-resource/MapboxGuidesResource.d.ts +19 -0
  37. package/dist/commonjs/resources/mapbox-guides-resource/MapboxGuidesResource.d.ts.map +1 -0
  38. package/dist/commonjs/resources/mapbox-guides-resource/MapboxGuidesResource.js +61 -0
  39. package/dist/commonjs/resources/mapbox-guides-resource/MapboxGuidesResource.js.map +1 -0
  40. package/dist/commonjs/resources/mapbox-layer-type-mapping-resource/MapboxLayerTypeMappingResource.d.ts +19 -0
  41. package/dist/commonjs/resources/mapbox-layer-type-mapping-resource/MapboxLayerTypeMappingResource.d.ts.map +1 -0
  42. package/dist/commonjs/resources/mapbox-layer-type-mapping-resource/MapboxLayerTypeMappingResource.js +170 -0
  43. package/dist/commonjs/resources/mapbox-layer-type-mapping-resource/MapboxLayerTypeMappingResource.js.map +1 -0
  44. package/dist/commonjs/resources/mapbox-reference-resource/MapboxReferenceResource.d.ts +19 -0
  45. package/dist/commonjs/resources/mapbox-reference-resource/MapboxReferenceResource.d.ts.map +1 -0
  46. package/dist/commonjs/resources/mapbox-reference-resource/MapboxReferenceResource.js +61 -0
  47. package/dist/commonjs/resources/mapbox-reference-resource/MapboxReferenceResource.js.map +1 -0
  48. package/dist/commonjs/resources/mapbox-sdk-docs-resource/MapboxSdkDocsResource.d.ts +19 -0
  49. package/dist/commonjs/resources/mapbox-sdk-docs-resource/MapboxSdkDocsResource.d.ts.map +1 -0
  50. package/dist/commonjs/resources/mapbox-sdk-docs-resource/MapboxSdkDocsResource.js +61 -0
  51. package/dist/commonjs/resources/mapbox-sdk-docs-resource/MapboxSdkDocsResource.js.map +1 -0
  52. package/dist/commonjs/resources/mapbox-streets-v8-fields-resource/MapboxStreetsV8FieldsResource.d.ts +19 -0
  53. package/dist/commonjs/resources/mapbox-streets-v8-fields-resource/MapboxStreetsV8FieldsResource.d.ts.map +1 -0
  54. package/dist/commonjs/resources/mapbox-streets-v8-fields-resource/MapboxStreetsV8FieldsResource.js +30 -0
  55. package/dist/commonjs/resources/mapbox-streets-v8-fields-resource/MapboxStreetsV8FieldsResource.js.map +1 -0
  56. package/dist/commonjs/resources/mapbox-style-layers-resource/MapboxStyleLayersResource.d.ts +20 -0
  57. package/dist/commonjs/resources/mapbox-style-layers-resource/MapboxStyleLayersResource.d.ts.map +1 -0
  58. package/dist/commonjs/resources/mapbox-style-layers-resource/MapboxStyleLayersResource.js +323 -0
  59. package/dist/commonjs/resources/mapbox-style-layers-resource/MapboxStyleLayersResource.js.map +1 -0
  60. package/dist/commonjs/resources/mapbox-token-scopes-resource/MapboxTokenScopesResource.d.ts +20 -0
  61. package/dist/commonjs/resources/mapbox-token-scopes-resource/MapboxTokenScopesResource.d.ts.map +1 -0
  62. package/dist/commonjs/resources/mapbox-token-scopes-resource/MapboxTokenScopesResource.js +108 -0
  63. package/dist/commonjs/resources/mapbox-token-scopes-resource/MapboxTokenScopesResource.js.map +1 -0
  64. package/dist/commonjs/resources/resourceRegistry.d.ts +15 -0
  65. package/dist/commonjs/resources/resourceRegistry.d.ts.map +1 -0
  66. package/dist/commonjs/resources/resourceRegistry.js +39 -0
  67. package/dist/commonjs/resources/resourceRegistry.js.map +1 -0
  68. package/dist/commonjs/resources/utils/docParser.d.ts +28 -0
  69. package/dist/commonjs/resources/utils/docParser.d.ts.map +1 -0
  70. package/dist/commonjs/resources/utils/docParser.js +94 -0
  71. package/dist/commonjs/resources/utils/docParser.js.map +1 -0
  72. package/dist/commonjs/tools/BaseTool.d.ts +30 -0
  73. package/dist/commonjs/tools/BaseTool.d.ts.map +1 -0
  74. package/dist/commonjs/tools/BaseTool.js +63 -0
  75. package/dist/commonjs/tools/BaseTool.js.map +1 -0
  76. package/dist/commonjs/tools/batch-get-documents-tool/BatchGetDocumentsTool.d.ts +21 -0
  77. package/dist/commonjs/tools/batch-get-documents-tool/BatchGetDocumentsTool.d.ts.map +1 -0
  78. package/dist/commonjs/tools/batch-get-documents-tool/BatchGetDocumentsTool.input.schema.d.ts +6 -0
  79. package/dist/commonjs/tools/batch-get-documents-tool/BatchGetDocumentsTool.input.schema.d.ts.map +1 -0
  80. package/dist/commonjs/tools/batch-get-documents-tool/BatchGetDocumentsTool.input.schema.js +14 -0
  81. package/dist/commonjs/tools/batch-get-documents-tool/BatchGetDocumentsTool.input.schema.js.map +1 -0
  82. package/dist/commonjs/tools/batch-get-documents-tool/BatchGetDocumentsTool.js +94 -0
  83. package/dist/commonjs/tools/batch-get-documents-tool/BatchGetDocumentsTool.js.map +1 -0
  84. package/dist/commonjs/tools/get-document-tool/GetDocumentTool.d.ts +21 -0
  85. package/dist/commonjs/tools/get-document-tool/GetDocumentTool.d.ts.map +1 -0
  86. package/dist/commonjs/tools/get-document-tool/GetDocumentTool.input.schema.d.ts +6 -0
  87. package/dist/commonjs/tools/get-document-tool/GetDocumentTool.input.schema.d.ts.map +1 -0
  88. package/dist/commonjs/tools/get-document-tool/GetDocumentTool.input.schema.js +13 -0
  89. package/dist/commonjs/tools/get-document-tool/GetDocumentTool.input.schema.js.map +1 -0
  90. package/dist/commonjs/tools/get-document-tool/GetDocumentTool.js +80 -0
  91. package/dist/commonjs/tools/get-document-tool/GetDocumentTool.js.map +1 -0
  92. package/dist/commonjs/tools/index.d.ts +3 -0
  93. package/dist/commonjs/tools/index.d.ts.map +1 -0
  94. package/dist/commonjs/tools/index.js +10 -0
  95. package/dist/commonjs/tools/index.js.map +1 -0
  96. package/dist/commonjs/tools/toolRegistry.d.ts +12 -0
  97. package/dist/commonjs/tools/toolRegistry.d.ts.map +1 -0
  98. package/dist/commonjs/tools/toolRegistry.js +29 -0
  99. package/dist/commonjs/tools/toolRegistry.js.map +1 -0
  100. package/dist/commonjs/utils/docCache.d.ts +28 -0
  101. package/dist/commonjs/utils/docCache.d.ts.map +1 -0
  102. package/dist/commonjs/utils/docCache.js +129 -0
  103. package/dist/commonjs/utils/docCache.js.map +1 -0
  104. package/dist/commonjs/utils/httpPipeline.d.ts +39 -0
  105. package/dist/commonjs/utils/httpPipeline.d.ts.map +1 -0
  106. package/dist/commonjs/utils/httpPipeline.js +112 -0
  107. package/dist/commonjs/utils/httpPipeline.js.map +1 -0
  108. package/dist/commonjs/utils/index.d.ts +4 -0
  109. package/dist/commonjs/utils/index.d.ts.map +1 -0
  110. package/dist/commonjs/utils/index.js +12 -0
  111. package/dist/commonjs/utils/index.js.map +1 -0
  112. package/dist/commonjs/utils/types.d.ts +7 -0
  113. package/dist/commonjs/utils/types.d.ts.map +1 -0
  114. package/dist/commonjs/utils/types.js +5 -0
  115. package/dist/commonjs/utils/types.js.map +1 -0
  116. package/dist/commonjs/utils/versionUtils.d.ts +9 -0
  117. package/dist/commonjs/utils/versionUtils.d.ts.map +1 -0
  118. package/dist/commonjs/utils/versionUtils.js +34 -0
  119. package/dist/commonjs/utils/versionUtils.js.map +1 -0
  120. package/dist/commonjs/version.json +6 -0
  121. package/dist/esm/config/toolConfig.d.ts +8 -0
  122. package/dist/esm/config/toolConfig.d.ts.map +1 -0
  123. package/dist/esm/config/toolConfig.js +37 -0
  124. package/dist/esm/config/toolConfig.js.map +1 -0
  125. package/dist/esm/constants/mapboxStreetsV8Fields.trimmed.d.ts +306 -0
  126. package/dist/esm/constants/mapboxStreetsV8Fields.trimmed.d.ts.map +1 -0
  127. package/dist/esm/constants/mapboxStreetsV8Fields.trimmed.js +2066 -0
  128. package/dist/esm/constants/mapboxStreetsV8Fields.trimmed.js.map +1 -0
  129. package/dist/esm/index.d.ts +2 -0
  130. package/dist/esm/index.d.ts.map +1 -0
  131. package/dist/esm/index.js +80 -0
  132. package/dist/esm/index.js.map +1 -0
  133. package/dist/esm/package.json +3 -0
  134. package/dist/esm/resources/BaseResource.d.ts +21 -0
  135. package/dist/esm/resources/BaseResource.d.ts.map +1 -0
  136. package/dist/esm/resources/BaseResource.js +17 -0
  137. package/dist/esm/resources/BaseResource.js.map +1 -0
  138. package/dist/esm/resources/index.d.ts +3 -0
  139. package/dist/esm/resources/index.d.ts.map +1 -0
  140. package/dist/esm/resources/index.js +4 -0
  141. package/dist/esm/resources/index.js.map +1 -0
  142. package/dist/esm/resources/mapbox-api-reference-resource/MapboxApiReferenceResource.d.ts +19 -0
  143. package/dist/esm/resources/mapbox-api-reference-resource/MapboxApiReferenceResource.d.ts.map +1 -0
  144. package/dist/esm/resources/mapbox-api-reference-resource/MapboxApiReferenceResource.js +57 -0
  145. package/dist/esm/resources/mapbox-api-reference-resource/MapboxApiReferenceResource.js.map +1 -0
  146. package/dist/esm/resources/mapbox-documentation-resource/MapboxDocumentationResource.d.ts +29 -0
  147. package/dist/esm/resources/mapbox-documentation-resource/MapboxDocumentationResource.d.ts.map +1 -0
  148. package/dist/esm/resources/mapbox-documentation-resource/MapboxDocumentationResource.js +62 -0
  149. package/dist/esm/resources/mapbox-documentation-resource/MapboxDocumentationResource.js.map +1 -0
  150. package/dist/esm/resources/mapbox-examples-resource/MapboxExamplesResource.d.ts +19 -0
  151. package/dist/esm/resources/mapbox-examples-resource/MapboxExamplesResource.d.ts.map +1 -0
  152. package/dist/esm/resources/mapbox-examples-resource/MapboxExamplesResource.js +57 -0
  153. package/dist/esm/resources/mapbox-examples-resource/MapboxExamplesResource.js.map +1 -0
  154. package/dist/esm/resources/mapbox-guides-resource/MapboxGuidesResource.d.ts +19 -0
  155. package/dist/esm/resources/mapbox-guides-resource/MapboxGuidesResource.d.ts.map +1 -0
  156. package/dist/esm/resources/mapbox-guides-resource/MapboxGuidesResource.js +57 -0
  157. package/dist/esm/resources/mapbox-guides-resource/MapboxGuidesResource.js.map +1 -0
  158. package/dist/esm/resources/mapbox-layer-type-mapping-resource/MapboxLayerTypeMappingResource.d.ts +19 -0
  159. package/dist/esm/resources/mapbox-layer-type-mapping-resource/MapboxLayerTypeMappingResource.d.ts.map +1 -0
  160. package/dist/esm/resources/mapbox-layer-type-mapping-resource/MapboxLayerTypeMappingResource.js +166 -0
  161. package/dist/esm/resources/mapbox-layer-type-mapping-resource/MapboxLayerTypeMappingResource.js.map +1 -0
  162. package/dist/esm/resources/mapbox-reference-resource/MapboxReferenceResource.d.ts +19 -0
  163. package/dist/esm/resources/mapbox-reference-resource/MapboxReferenceResource.d.ts.map +1 -0
  164. package/dist/esm/resources/mapbox-reference-resource/MapboxReferenceResource.js +57 -0
  165. package/dist/esm/resources/mapbox-reference-resource/MapboxReferenceResource.js.map +1 -0
  166. package/dist/esm/resources/mapbox-sdk-docs-resource/MapboxSdkDocsResource.d.ts +19 -0
  167. package/dist/esm/resources/mapbox-sdk-docs-resource/MapboxSdkDocsResource.d.ts.map +1 -0
  168. package/dist/esm/resources/mapbox-sdk-docs-resource/MapboxSdkDocsResource.js +57 -0
  169. package/dist/esm/resources/mapbox-sdk-docs-resource/MapboxSdkDocsResource.js.map +1 -0
  170. package/dist/esm/resources/mapbox-streets-v8-fields-resource/MapboxStreetsV8FieldsResource.d.ts +19 -0
  171. package/dist/esm/resources/mapbox-streets-v8-fields-resource/MapboxStreetsV8FieldsResource.d.ts.map +1 -0
  172. package/dist/esm/resources/mapbox-streets-v8-fields-resource/MapboxStreetsV8FieldsResource.js +26 -0
  173. package/dist/esm/resources/mapbox-streets-v8-fields-resource/MapboxStreetsV8FieldsResource.js.map +1 -0
  174. package/dist/esm/resources/mapbox-style-layers-resource/MapboxStyleLayersResource.d.ts +20 -0
  175. package/dist/esm/resources/mapbox-style-layers-resource/MapboxStyleLayersResource.d.ts.map +1 -0
  176. package/dist/esm/resources/mapbox-style-layers-resource/MapboxStyleLayersResource.js +319 -0
  177. package/dist/esm/resources/mapbox-style-layers-resource/MapboxStyleLayersResource.js.map +1 -0
  178. package/dist/esm/resources/mapbox-token-scopes-resource/MapboxTokenScopesResource.d.ts +20 -0
  179. package/dist/esm/resources/mapbox-token-scopes-resource/MapboxTokenScopesResource.d.ts.map +1 -0
  180. package/dist/esm/resources/mapbox-token-scopes-resource/MapboxTokenScopesResource.js +104 -0
  181. package/dist/esm/resources/mapbox-token-scopes-resource/MapboxTokenScopesResource.js.map +1 -0
  182. package/dist/esm/resources/resourceRegistry.d.ts +15 -0
  183. package/dist/esm/resources/resourceRegistry.d.ts.map +1 -0
  184. package/dist/esm/resources/resourceRegistry.js +34 -0
  185. package/dist/esm/resources/resourceRegistry.js.map +1 -0
  186. package/dist/esm/resources/utils/docParser.d.ts +28 -0
  187. package/dist/esm/resources/utils/docParser.d.ts.map +1 -0
  188. package/dist/esm/resources/utils/docParser.js +88 -0
  189. package/dist/esm/resources/utils/docParser.js.map +1 -0
  190. package/dist/esm/tools/BaseTool.d.ts +30 -0
  191. package/dist/esm/tools/BaseTool.d.ts.map +1 -0
  192. package/dist/esm/tools/BaseTool.js +59 -0
  193. package/dist/esm/tools/BaseTool.js.map +1 -0
  194. package/dist/esm/tools/batch-get-documents-tool/BatchGetDocumentsTool.d.ts +21 -0
  195. package/dist/esm/tools/batch-get-documents-tool/BatchGetDocumentsTool.d.ts.map +1 -0
  196. package/dist/esm/tools/batch-get-documents-tool/BatchGetDocumentsTool.input.schema.d.ts +6 -0
  197. package/dist/esm/tools/batch-get-documents-tool/BatchGetDocumentsTool.input.schema.d.ts.map +1 -0
  198. package/dist/esm/tools/batch-get-documents-tool/BatchGetDocumentsTool.input.schema.js +11 -0
  199. package/dist/esm/tools/batch-get-documents-tool/BatchGetDocumentsTool.input.schema.js.map +1 -0
  200. package/dist/esm/tools/batch-get-documents-tool/BatchGetDocumentsTool.js +90 -0
  201. package/dist/esm/tools/batch-get-documents-tool/BatchGetDocumentsTool.js.map +1 -0
  202. package/dist/esm/tools/get-document-tool/GetDocumentTool.d.ts +21 -0
  203. package/dist/esm/tools/get-document-tool/GetDocumentTool.d.ts.map +1 -0
  204. package/dist/esm/tools/get-document-tool/GetDocumentTool.input.schema.d.ts +6 -0
  205. package/dist/esm/tools/get-document-tool/GetDocumentTool.input.schema.d.ts.map +1 -0
  206. package/dist/esm/tools/get-document-tool/GetDocumentTool.input.schema.js +10 -0
  207. package/dist/esm/tools/get-document-tool/GetDocumentTool.input.schema.js.map +1 -0
  208. package/dist/esm/tools/get-document-tool/GetDocumentTool.js +76 -0
  209. package/dist/esm/tools/get-document-tool/GetDocumentTool.js.map +1 -0
  210. package/dist/esm/tools/index.d.ts +3 -0
  211. package/dist/esm/tools/index.d.ts.map +1 -0
  212. package/dist/esm/tools/index.js +4 -0
  213. package/dist/esm/tools/index.js.map +1 -0
  214. package/dist/esm/tools/toolRegistry.d.ts +12 -0
  215. package/dist/esm/tools/toolRegistry.d.ts.map +1 -0
  216. package/dist/esm/tools/toolRegistry.js +23 -0
  217. package/dist/esm/tools/toolRegistry.js.map +1 -0
  218. package/dist/esm/utils/docCache.d.ts +28 -0
  219. package/dist/esm/utils/docCache.d.ts.map +1 -0
  220. package/dist/esm/utils/docCache.js +124 -0
  221. package/dist/esm/utils/docCache.js.map +1 -0
  222. package/dist/esm/utils/httpPipeline.d.ts +39 -0
  223. package/dist/esm/utils/httpPipeline.d.ts.map +1 -0
  224. package/dist/esm/utils/httpPipeline.js +106 -0
  225. package/dist/esm/utils/httpPipeline.js.map +1 -0
  226. package/dist/esm/utils/index.d.ts +4 -0
  227. package/dist/esm/utils/index.d.ts.map +1 -0
  228. package/dist/esm/utils/index.js +5 -0
  229. package/dist/esm/utils/index.js.map +1 -0
  230. package/dist/esm/utils/types.d.ts +7 -0
  231. package/dist/esm/utils/types.d.ts.map +1 -0
  232. package/dist/esm/utils/types.js +4 -0
  233. package/dist/esm/utils/types.js.map +1 -0
  234. package/dist/esm/utils/versionUtils.d.ts +9 -0
  235. package/dist/esm/utils/versionUtils.d.ts.map +1 -0
  236. package/dist/esm/utils/versionUtils.js +28 -0
  237. package/dist/esm/utils/versionUtils.js.map +1 -0
  238. package/dist/esm/version.json +6 -0
  239. 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"}