@mapbox/mcp-server 0.13.0 → 0.15.0

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 (257) hide show
  1. package/README.md +111 -14
  2. package/dist/commonjs/cli.d.ts.map +1 -1
  3. package/dist/commonjs/cli.js +5 -2
  4. package/dist/commonjs/cli.js.map +1 -1
  5. package/dist/commonjs/index.js +38 -1
  6. package/dist/commonjs/index.js.map +1 -1
  7. package/dist/commonjs/resources/BaseResource.d.ts +18 -0
  8. package/dist/commonjs/resources/BaseResource.d.ts.map +1 -1
  9. package/dist/commonjs/resources/BaseResource.js +26 -4
  10. package/dist/commonjs/resources/BaseResource.js.map +1 -1
  11. package/dist/commonjs/resources/resourceRegistry.d.ts +1 -2
  12. package/dist/commonjs/resources/resourceRegistry.d.ts.map +1 -1
  13. package/dist/commonjs/resources/resourceRegistry.js +0 -2
  14. package/dist/commonjs/resources/resourceRegistry.js.map +1 -1
  15. package/dist/commonjs/resources/temporary/TemporaryDataResource.d.ts.map +1 -1
  16. package/dist/commonjs/resources/temporary/TemporaryDataResource.js +20 -10
  17. package/dist/commonjs/resources/temporary/TemporaryDataResource.js.map +1 -1
  18. package/dist/commonjs/resources/ui-apps/MapAppUIResource.d.ts.map +1 -1
  19. package/dist/commonjs/resources/ui-apps/MapAppUIResource.js +2 -8
  20. package/dist/commonjs/resources/ui-apps/MapAppUIResource.js.map +1 -1
  21. package/dist/commonjs/resources/ui-apps/mapAppCsp.d.ts +22 -0
  22. package/dist/commonjs/resources/ui-apps/mapAppCsp.d.ts.map +1 -0
  23. package/dist/commonjs/resources/ui-apps/mapAppCsp.js +39 -0
  24. package/dist/commonjs/resources/ui-apps/mapAppCsp.js.map +1 -0
  25. package/dist/commonjs/resources/ui-apps/mapAppHtml.d.ts +3 -3
  26. package/dist/commonjs/resources/ui-apps/mapAppHtml.d.ts.map +1 -1
  27. package/dist/commonjs/resources/ui-apps/mapAppHtml.js +89 -13
  28. package/dist/commonjs/resources/ui-apps/mapAppHtml.js.map +1 -1
  29. package/dist/commonjs/tools/BaseTool.d.ts +19 -0
  30. package/dist/commonjs/tools/BaseTool.d.ts.map +1 -1
  31. package/dist/commonjs/tools/BaseTool.js +25 -3
  32. package/dist/commonjs/tools/BaseTool.js.map +1 -1
  33. package/dist/commonjs/tools/directions-tool/DirectionsTool.d.ts +16 -0
  34. package/dist/commonjs/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
  35. package/dist/commonjs/tools/directions-tool/DirectionsTool.js +107 -2
  36. package/dist/commonjs/tools/directions-tool/DirectionsTool.js.map +1 -1
  37. package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.d.ts.map +1 -1
  38. package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.js +7 -4
  39. package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.js.map +1 -1
  40. package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.output.schema.d.ts +4 -0
  41. package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.output.schema.d.ts.map +1 -1
  42. package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.output.schema.js +9 -1
  43. package/dist/commonjs/tools/ground-location-tool/GroundLocationTool.output.schema.js.map +1 -1
  44. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.js +1 -1
  45. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.d.ts +11 -1
  46. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.d.ts.map +1 -1
  47. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.input.schema.js +3 -3
  48. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.input.schema.js.map +1 -1
  49. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.js +134 -139
  50. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.js.map +1 -1
  51. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.output.schema.d.ts +71 -10
  52. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.output.schema.d.ts.map +1 -1
  53. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.output.schema.js +86 -10
  54. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.output.schema.js.map +1 -1
  55. package/dist/commonjs/tools/render-map-tool/RenderMapTool.d.ts +2 -4
  56. package/dist/commonjs/tools/render-map-tool/RenderMapTool.d.ts.map +1 -1
  57. package/dist/commonjs/tools/render-map-tool/RenderMapTool.input.schema.d.ts +50 -0
  58. package/dist/commonjs/tools/render-map-tool/RenderMapTool.input.schema.d.ts.map +1 -1
  59. package/dist/commonjs/tools/render-map-tool/RenderMapTool.input.schema.js +51 -2
  60. package/dist/commonjs/tools/render-map-tool/RenderMapTool.input.schema.js.map +1 -1
  61. package/dist/commonjs/tools/render-map-tool/RenderMapTool.js +50 -18
  62. package/dist/commonjs/tools/render-map-tool/RenderMapTool.js.map +1 -1
  63. package/dist/commonjs/tools/render-map-tool/RenderMapTool.output.schema.d.ts +50 -0
  64. package/dist/commonjs/tools/render-map-tool/RenderMapTool.output.schema.d.ts.map +1 -1
  65. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts.map +1 -1
  66. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.d.ts.map +1 -1
  67. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.js +2 -2
  68. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.js.map +1 -1
  69. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.js +6 -3
  70. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.js.map +1 -1
  71. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -1
  72. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.input.schema.d.ts +3 -3
  73. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.input.schema.d.ts.map +1 -1
  74. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.input.schema.js +16 -2
  75. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.input.schema.js.map +1 -1
  76. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js +17 -6
  77. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -1
  78. package/dist/commonjs/utils/index.d.ts +2 -0
  79. package/dist/commonjs/utils/index.d.ts.map +1 -1
  80. package/dist/commonjs/utils/index.js +8 -1
  81. package/dist/commonjs/utils/index.js.map +1 -1
  82. package/dist/commonjs/utils/jsonSchema2020.d.ts +26 -0
  83. package/dist/commonjs/utils/jsonSchema2020.d.ts.map +1 -0
  84. package/dist/commonjs/utils/jsonSchema2020.js +143 -0
  85. package/dist/commonjs/utils/jsonSchema2020.js.map +1 -0
  86. package/dist/commonjs/utils/jwtUtils.d.ts +48 -0
  87. package/dist/commonjs/utils/jwtUtils.d.ts.map +1 -1
  88. package/dist/commonjs/utils/jwtUtils.js +63 -0
  89. package/dist/commonjs/utils/jwtUtils.js.map +1 -1
  90. package/dist/commonjs/utils/mapAppPayload.d.ts +109 -0
  91. package/dist/commonjs/utils/mapAppPayload.d.ts.map +1 -1
  92. package/dist/commonjs/utils/mapAppPayload.js +38 -2
  93. package/dist/commonjs/utils/mapAppPayload.js.map +1 -1
  94. package/dist/commonjs/utils/redactToken.d.ts +3 -0
  95. package/dist/commonjs/utils/redactToken.d.ts.map +1 -0
  96. package/dist/commonjs/utils/redactToken.js +55 -0
  97. package/dist/commonjs/utils/redactToken.js.map +1 -0
  98. package/dist/commonjs/utils/redactingSpanExporter.d.ts +24 -0
  99. package/dist/commonjs/utils/redactingSpanExporter.d.ts.map +1 -0
  100. package/dist/commonjs/utils/redactingSpanExporter.js +97 -0
  101. package/dist/commonjs/utils/redactingSpanExporter.js.map +1 -0
  102. package/dist/commonjs/utils/selfFetchRef.d.ts.map +1 -1
  103. package/dist/commonjs/utils/selfFetchRef.js +31 -0
  104. package/dist/commonjs/utils/selfFetchRef.js.map +1 -1
  105. package/dist/commonjs/utils/serverInstructions.d.ts +12 -0
  106. package/dist/commonjs/utils/serverInstructions.d.ts.map +1 -0
  107. package/dist/commonjs/utils/serverInstructions.js +28 -0
  108. package/dist/commonjs/utils/serverInstructions.js.map +1 -0
  109. package/dist/commonjs/utils/storeMapPayload.d.ts +11 -11
  110. package/dist/commonjs/utils/storeMapPayload.d.ts.map +1 -1
  111. package/dist/commonjs/utils/storeMapPayload.js +14 -13
  112. package/dist/commonjs/utils/storeMapPayload.js.map +1 -1
  113. package/dist/commonjs/utils/temporaryResourceManager.d.ts +10 -4
  114. package/dist/commonjs/utils/temporaryResourceManager.d.ts.map +1 -1
  115. package/dist/commonjs/utils/temporaryResourceManager.js.map +1 -1
  116. package/dist/commonjs/utils/tracing.d.ts +4 -0
  117. package/dist/commonjs/utils/tracing.d.ts.map +1 -1
  118. package/dist/commonjs/utils/tracing.js +24 -1
  119. package/dist/commonjs/utils/tracing.js.map +1 -1
  120. package/dist/commonjs/utils/urlSafety.d.ts +23 -7
  121. package/dist/commonjs/utils/urlSafety.d.ts.map +1 -1
  122. package/dist/commonjs/utils/urlSafety.js +84 -66
  123. package/dist/commonjs/utils/urlSafety.js.map +1 -1
  124. package/dist/commonjs/version.json +3 -3
  125. package/dist/esm/cli.d.ts.map +1 -1
  126. package/dist/esm/cli.js +5 -2
  127. package/dist/esm/cli.js.map +1 -1
  128. package/dist/esm/index.js +39 -2
  129. package/dist/esm/index.js.map +1 -1
  130. package/dist/esm/resources/BaseResource.d.ts +18 -0
  131. package/dist/esm/resources/BaseResource.d.ts.map +1 -1
  132. package/dist/esm/resources/BaseResource.js +26 -4
  133. package/dist/esm/resources/BaseResource.js.map +1 -1
  134. package/dist/esm/resources/resourceRegistry.d.ts +1 -2
  135. package/dist/esm/resources/resourceRegistry.d.ts.map +1 -1
  136. package/dist/esm/resources/resourceRegistry.js +0 -2
  137. package/dist/esm/resources/resourceRegistry.js.map +1 -1
  138. package/dist/esm/resources/temporary/TemporaryDataResource.d.ts.map +1 -1
  139. package/dist/esm/resources/temporary/TemporaryDataResource.js +21 -11
  140. package/dist/esm/resources/temporary/TemporaryDataResource.js.map +1 -1
  141. package/dist/esm/resources/ui-apps/MapAppUIResource.d.ts.map +1 -1
  142. package/dist/esm/resources/ui-apps/MapAppUIResource.js +2 -8
  143. package/dist/esm/resources/ui-apps/MapAppUIResource.js.map +1 -1
  144. package/dist/esm/resources/ui-apps/mapAppCsp.d.ts +22 -0
  145. package/dist/esm/resources/ui-apps/mapAppCsp.d.ts.map +1 -0
  146. package/dist/esm/resources/ui-apps/mapAppCsp.js +36 -0
  147. package/dist/esm/resources/ui-apps/mapAppCsp.js.map +1 -0
  148. package/dist/esm/resources/ui-apps/mapAppHtml.d.ts +3 -3
  149. package/dist/esm/resources/ui-apps/mapAppHtml.d.ts.map +1 -1
  150. package/dist/esm/resources/ui-apps/mapAppHtml.js +89 -13
  151. package/dist/esm/resources/ui-apps/mapAppHtml.js.map +1 -1
  152. package/dist/esm/tools/BaseTool.d.ts +19 -0
  153. package/dist/esm/tools/BaseTool.d.ts.map +1 -1
  154. package/dist/esm/tools/BaseTool.js +25 -3
  155. package/dist/esm/tools/BaseTool.js.map +1 -1
  156. package/dist/esm/tools/directions-tool/DirectionsTool.d.ts +16 -0
  157. package/dist/esm/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
  158. package/dist/esm/tools/directions-tool/DirectionsTool.js +108 -3
  159. package/dist/esm/tools/directions-tool/DirectionsTool.js.map +1 -1
  160. package/dist/esm/tools/ground-location-tool/GroundLocationTool.d.ts.map +1 -1
  161. package/dist/esm/tools/ground-location-tool/GroundLocationTool.js +7 -4
  162. package/dist/esm/tools/ground-location-tool/GroundLocationTool.js.map +1 -1
  163. package/dist/esm/tools/ground-location-tool/GroundLocationTool.output.schema.d.ts +4 -0
  164. package/dist/esm/tools/ground-location-tool/GroundLocationTool.output.schema.d.ts.map +1 -1
  165. package/dist/esm/tools/ground-location-tool/GroundLocationTool.output.schema.js +9 -1
  166. package/dist/esm/tools/ground-location-tool/GroundLocationTool.output.schema.js.map +1 -1
  167. package/dist/esm/tools/isochrone-tool/IsochroneTool.js +2 -2
  168. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.d.ts +11 -1
  169. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.d.ts.map +1 -1
  170. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.input.schema.js +3 -3
  171. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.input.schema.js.map +1 -1
  172. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.js +135 -140
  173. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.js.map +1 -1
  174. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.output.schema.d.ts +71 -10
  175. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.output.schema.d.ts.map +1 -1
  176. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.output.schema.js +85 -9
  177. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.output.schema.js.map +1 -1
  178. package/dist/esm/tools/render-map-tool/RenderMapTool.d.ts +2 -4
  179. package/dist/esm/tools/render-map-tool/RenderMapTool.d.ts.map +1 -1
  180. package/dist/esm/tools/render-map-tool/RenderMapTool.input.schema.d.ts +50 -0
  181. package/dist/esm/tools/render-map-tool/RenderMapTool.input.schema.d.ts.map +1 -1
  182. package/dist/esm/tools/render-map-tool/RenderMapTool.input.schema.js +51 -2
  183. package/dist/esm/tools/render-map-tool/RenderMapTool.input.schema.js.map +1 -1
  184. package/dist/esm/tools/render-map-tool/RenderMapTool.js +51 -19
  185. package/dist/esm/tools/render-map-tool/RenderMapTool.js.map +1 -1
  186. package/dist/esm/tools/render-map-tool/RenderMapTool.output.schema.d.ts +50 -0
  187. package/dist/esm/tools/render-map-tool/RenderMapTool.output.schema.d.ts.map +1 -1
  188. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts.map +1 -1
  189. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.d.ts.map +1 -1
  190. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.js +2 -2
  191. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.js.map +1 -1
  192. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.js +6 -3
  193. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.js.map +1 -1
  194. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -1
  195. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.input.schema.d.ts +3 -3
  196. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.input.schema.d.ts.map +1 -1
  197. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.input.schema.js +17 -3
  198. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.input.schema.js.map +1 -1
  199. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.js +18 -7
  200. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -1
  201. package/dist/esm/utils/index.d.ts +2 -0
  202. package/dist/esm/utils/index.d.ts.map +1 -1
  203. package/dist/esm/utils/index.js +5 -0
  204. package/dist/esm/utils/index.js.map +1 -1
  205. package/dist/esm/utils/jsonSchema2020.d.ts +26 -0
  206. package/dist/esm/utils/jsonSchema2020.d.ts.map +1 -0
  207. package/dist/esm/utils/jsonSchema2020.js +138 -0
  208. package/dist/esm/utils/jsonSchema2020.js.map +1 -0
  209. package/dist/esm/utils/jwtUtils.d.ts +48 -0
  210. package/dist/esm/utils/jwtUtils.d.ts.map +1 -1
  211. package/dist/esm/utils/jwtUtils.js +61 -0
  212. package/dist/esm/utils/jwtUtils.js.map +1 -1
  213. package/dist/esm/utils/mapAppPayload.d.ts +109 -0
  214. package/dist/esm/utils/mapAppPayload.d.ts.map +1 -1
  215. package/dist/esm/utils/mapAppPayload.js +38 -2
  216. package/dist/esm/utils/mapAppPayload.js.map +1 -1
  217. package/dist/esm/utils/redactToken.d.ts +3 -0
  218. package/dist/esm/utils/redactToken.d.ts.map +1 -0
  219. package/dist/esm/utils/redactToken.js +52 -0
  220. package/dist/esm/utils/redactToken.js.map +1 -0
  221. package/dist/esm/utils/redactingSpanExporter.d.ts +24 -0
  222. package/dist/esm/utils/redactingSpanExporter.d.ts.map +1 -0
  223. package/dist/esm/utils/redactingSpanExporter.js +93 -0
  224. package/dist/esm/utils/redactingSpanExporter.js.map +1 -0
  225. package/dist/esm/utils/selfFetchRef.d.ts.map +1 -1
  226. package/dist/esm/utils/selfFetchRef.js +31 -0
  227. package/dist/esm/utils/selfFetchRef.js.map +1 -1
  228. package/dist/esm/utils/serverInstructions.d.ts +12 -0
  229. package/dist/esm/utils/serverInstructions.d.ts.map +1 -0
  230. package/dist/esm/utils/serverInstructions.js +25 -0
  231. package/dist/esm/utils/serverInstructions.js.map +1 -0
  232. package/dist/esm/utils/storeMapPayload.d.ts +11 -11
  233. package/dist/esm/utils/storeMapPayload.d.ts.map +1 -1
  234. package/dist/esm/utils/storeMapPayload.js +14 -13
  235. package/dist/esm/utils/storeMapPayload.js.map +1 -1
  236. package/dist/esm/utils/temporaryResourceManager.d.ts +10 -4
  237. package/dist/esm/utils/temporaryResourceManager.d.ts.map +1 -1
  238. package/dist/esm/utils/temporaryResourceManager.js.map +1 -1
  239. package/dist/esm/utils/tracing.d.ts +4 -0
  240. package/dist/esm/utils/tracing.d.ts.map +1 -1
  241. package/dist/esm/utils/tracing.js +23 -1
  242. package/dist/esm/utils/tracing.js.map +1 -1
  243. package/dist/esm/utils/urlSafety.d.ts +23 -7
  244. package/dist/esm/utils/urlSafety.d.ts.map +1 -1
  245. package/dist/esm/utils/urlSafety.js +80 -66
  246. package/dist/esm/utils/urlSafety.js.map +1 -1
  247. package/dist/esm/version.json +3 -3
  248. package/package.json +3 -2
  249. package/patches/{@modelcontextprotocol+sdk+1.29.0.patch → @modelcontextprotocol+sdk+1.30.0.patch} +6 -2
  250. package/dist/commonjs/resources/ui-apps/StaticMapUIResource.d.ts +0 -15
  251. package/dist/commonjs/resources/ui-apps/StaticMapUIResource.d.ts.map +0 -1
  252. package/dist/commonjs/resources/ui-apps/StaticMapUIResource.js +0 -262
  253. package/dist/commonjs/resources/ui-apps/StaticMapUIResource.js.map +0 -1
  254. package/dist/esm/resources/ui-apps/StaticMapUIResource.d.ts +0 -15
  255. package/dist/esm/resources/ui-apps/StaticMapUIResource.d.ts.map +0 -1
  256. package/dist/esm/resources/ui-apps/StaticMapUIResource.js +0 -258
  257. package/dist/esm/resources/ui-apps/StaticMapUIResource.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"urlSafety.js","sourceRoot":"","sources":["../../../src/utils/urlSafety.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"urlSafety.js","sourceRoot":"","sources":["../../../src/utils/urlSafety.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;;;AAgClC,8CAEC;AAOD,oDAoFC;AA3HD,0DAA+B;AAE/B;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,SAAgB,iBAAiB,CAAC,MAAc;IAC9C,OAAO,oBAAoB,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;AAC/C,CAAC;AAED;;;;GAIG;AACH,SAAgB,oBAAoB,CAAC,MAAc;IACjD,IAAI,MAAW,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wEAAwE;IACxE,uEAAuE;IACvE,sEAAsE;IACtE,uEAAuE;IACvE,SAAS;IACT,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ;SACzB,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;SAClB,WAAW,EAAE,CAAC;IAEjB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mCAAmC;IACnC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;QAC/B,WAAW;QACX,eAAe;QACf,cAAc;QACd,eAAe;KAChB,CAAC,CAAC;IACH,uEAAuE;IACvE,wEAAwE;IACxE,uEAAuE;IACvE,mEAAmE;IACnE,oEAAoE;IACpE,sEAAsE;IACtE,MAAM,eAAe,GAAG,CAAC,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACvE,IACE,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC;QAC1B,eAAe,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EACvD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oEAAoE;IACpE,uEAAuE;IACvE,mEAAmE;IACnE,oEAAoE;IACpE,wEAAwE;IACxE,mEAAmE;IACnE,yEAAyE;IACzE,sBAAsB;IACtB,IAAI,CAAC,mBAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5C,CAAC;IACD,MAAM,IAAI,GAAG,mBAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEhC,oEAAoE;IACpE,qEAAqE;IACrE,uEAAuE;IACvE,oEAAoE;IACpE,+CAA+C;IAC/C,IAAI,IAAI,CAAC,KAAK,EAAE,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;QAC3B,kEAAkE;QAClE,oEAAoE;QACpE,kEAAkE;QAClE,qEAAqE;QACrE,kEAAkE;QAClE,sEAAsE;QACtE,wEAAwE;QACxE,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  {
2
- "sha": "88ba37c5e1013138c5baea75c8db90e8ae8731b1",
3
- "tag": "v0.12.7-4-g88ba37c",
2
+ "sha": "9c8813eadef3e523a7f995ca87e1ed892933a2b9",
3
+ "tag": "v0.14.0-16-g9c8813e",
4
4
  "branch": "HEAD",
5
- "version": "0.13.0"
5
+ "version": "0.15.0"
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"AAGA,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,iBAAiB;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAiCD,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EAAE,EACd,WAAW,EAAE,cAAc,GAC1B,iBAAiB,CAsCnB"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"AAGA,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,iBAAiB;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAoCD,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EAAE,EACd,WAAW,EAAE,cAAc,GAC1B,iBAAiB,CAsCnB"}
package/dist/esm/cli.js CHANGED
@@ -4,10 +4,13 @@ const OPTIONS = [
4
4
  '--help, -h Show this help message',
5
5
  '--version, -v Show the server version',
6
6
  '--enable-tools Enable only the comma-separated tools',
7
- '--disable-tools Disable the comma-separated tools',
8
- '--disable-mcp-ui Disable MCP-UI resources'
7
+ '--disable-tools Disable the comma-separated tools'
9
8
  ];
10
9
  const OPTIONS_WITH_VALUES = new Set(['--enable-tools', '--disable-tools']);
10
+ // --disable-mcp-ui is no longer a real option (MCP-UI support was removed
11
+ // entirely — see docs/mcp-ui.md) but stays recognized-and-ignored here, not
12
+ // in OPTIONS, so an existing launch config that still passes it keeps
13
+ // starting instead of hard-failing on "Unknown option".
11
14
  const KNOWN_FLAGS = new Set([
12
15
  '--help',
13
16
  '-h',
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AAclC,MAAM,OAAO,GAAG;IACd,6CAA6C;IAC7C,8CAA8C;IAC9C,4DAA4D;IAC5D,wDAAwD;IACxD,+CAA+C;CAChD,CAAC;AAEF,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAC3E,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;IAC1B,QAAQ;IACR,IAAI;IACJ,WAAW;IACX,IAAI;IACJ,gBAAgB;IAChB,iBAAiB;IACjB,kBAAkB;CACnB,CAAC,CAAC;AAEH,SAAS,UAAU,CAAC,WAA2B;IAC7C,OAAO;QACL,GAAG,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,OAAO,EAAE;QAC5C,EAAE;QACF,6BAA6B;QAC7B,EAAE;QACF,UAAU;QACV,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,MAAM,EAAE,CAAC;QACzC,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,IAAc,EACd,WAA2B;IAE3B,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,OAAO;YACL,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,CAAC;YACX,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC;SAChC,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,OAAO;YACL,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,CAAC;YACX,MAAM,EAAE,GAAG,WAAW,CAAC,OAAO,IAAI;SACnC,CAAC;IACJ,CAAC;IAED,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,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QAED,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACjD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,CAAC;gBACX,KAAK,EAAE,mBAAmB,GAAG,IAAI;aAClC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,CAAC;KACZ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AAclC,MAAM,OAAO,GAAG;IACd,6CAA6C;IAC7C,8CAA8C;IAC9C,4DAA4D;IAC5D,wDAAwD;CACzD,CAAC;AAEF,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAC3E,0EAA0E;AAC1E,4EAA4E;AAC5E,sEAAsE;AACtE,wDAAwD;AACxD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;IAC1B,QAAQ;IACR,IAAI;IACJ,WAAW;IACX,IAAI;IACJ,gBAAgB;IAChB,iBAAiB;IACjB,kBAAkB;CACnB,CAAC,CAAC;AAEH,SAAS,UAAU,CAAC,WAA2B;IAC7C,OAAO;QACL,GAAG,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,OAAO,EAAE;QAC5C,EAAE;QACF,6BAA6B;QAC7B,EAAE;QACF,UAAU;QACV,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,MAAM,EAAE,CAAC;QACzC,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,IAAc,EACd,WAA2B;IAE3B,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,OAAO;YACL,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,CAAC;YACX,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC;SAChC,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,OAAO;YACL,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,CAAC;YACX,MAAM,EAAE,GAAG,WAAW,CAAC,OAAO,IAAI;SACnC,CAAC;IACJ,CAAC;IAED,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,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QAED,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACjD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,CAAC;gBACX,KAAK,EAAE,mBAAmB,GAAG,IAAI;aAClC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,CAAC;KACZ,CAAC;AACJ,CAAC"}
package/dist/esm/index.js CHANGED
@@ -18,8 +18,10 @@ import { getAllResources } from './resources/resourceRegistry.js';
18
18
  import { getAllPrompts, getPromptByName } from './prompts/promptRegistry.js';
19
19
  import { completePromptArgument } from './completions/index.js';
20
20
  import { getVersionInfo } from './utils/versionUtils.js';
21
+ import { publishJsonSchema2020 } from './utils/jsonSchema2020.js';
22
+ import { buildServerInstructions } from './utils/serverInstructions.js';
21
23
  import { handleCliMetadataArgs } from './cli.js';
22
- import { initializeTracing, shutdownTracing, isTracingInitialized, getTracer } from './utils/tracing.js';
24
+ import { initializeTracing, shutdownTracing, isTracingInitialized, getTracer, setClientInfo } from './utils/tracing.js';
23
25
  // Load .env from current working directory (where npm run is executed)
24
26
  // This happens before tracing is initialized, but we'll add a span when tracing is ready
25
27
  const envPath = join(process.cwd(), '.env');
@@ -83,6 +85,11 @@ const server = new McpServer({
83
85
  }
84
86
  ]
85
87
  }, {
88
+ instructions: buildServerInstructions([
89
+ ...enabledCoreTools,
90
+ ...enabledElicitationTools,
91
+ ...enabledResourceFallbackTools
92
+ ].map((tool) => tool.name)),
86
93
  capabilities: {
87
94
  tools: {
88
95
  listChanged: true // Advertise support for dynamic tool registration (ready for future capability-dependent tools)
@@ -93,6 +100,8 @@ const server = new McpServer({
93
100
  logging: {}
94
101
  }
95
102
  });
103
+ // Must run before the first tool is registered — see jsonSchema2020.ts.
104
+ publishJsonSchema2020(server);
96
105
  // Register only core tools before connection
97
106
  // Capability-dependent tools will be registered dynamically after connection
98
107
  enabledCoreTools.forEach((tool) => {
@@ -204,6 +213,21 @@ async function main() {
204
213
  tracingError = error instanceof Error ? error : new Error(String(error));
205
214
  }
206
215
  }
216
+ // Registered before connect() so it's already in place the moment the
217
+ // client's initialize handshake completes. getClientCapabilities() and
218
+ // getClientVersion() are only populated once the server has processed the
219
+ // client's `initialize` request -- reading them synchronously right after
220
+ // `server.connect()` races that request and reliably sees them as unset,
221
+ // since connect() only waits for the transport to start, not for the
222
+ // handshake to finish.
223
+ server.server.oninitialized = () => {
224
+ onClientInitialized().catch((error) => {
225
+ server.server.sendLoggingMessage({
226
+ level: 'warning',
227
+ data: `Error handling client initialization: ${error instanceof Error ? error.message : String(error)}`
228
+ });
229
+ });
230
+ };
207
231
  // Start receiving messages on stdin and sending messages on stdout
208
232
  const transport = new StdioServerTransport();
209
233
  await server.connect(transport);
@@ -257,7 +281,20 @@ async function main() {
257
281
  level: 'debug',
258
282
  data: JSON.stringify(relevantEnvVars, null, 2)
259
283
  });
260
- // After connection, dynamically register capability-dependent tools
284
+ }
285
+ // Runs once per session, after the client's initialize handshake completes
286
+ // (see the `oninitialized` registration in main() for why that timing
287
+ // matters). Reports which client connected and registers any tools gated on
288
+ // capabilities the client declared during that handshake.
289
+ async function onClientInitialized() {
290
+ const clientInfo = server.server.getClientVersion();
291
+ server.server.sendLoggingMessage({
292
+ level: 'info',
293
+ data: `Client identified as: ${clientInfo?.name ?? 'unknown'} v${clientInfo?.version ?? 'unknown'}`
294
+ });
295
+ // Recorded so every subsequent tool-execution span carries it too --
296
+ // see setClientInfo's doc comment in tracing.ts.
297
+ setClientInfo(clientInfo);
261
298
  const clientCapabilities = server.server.getClientCapabilities();
262
299
  // Debug: Log what capabilities we detected
263
300
  server.server.sendLoggingMessage({
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,25 @@ export declare abstract class BaseResource {
9
9
  abstract readonly name: string;
10
10
  abstract readonly description?: string;
11
11
  abstract readonly mimeType?: string;
12
+ /**
13
+ * The most recently installed server. Used as a fallback when `read()` is
14
+ * called directly rather than through a handler registered by `installTo()`.
15
+ * A single instance installed into several servers only retains the last one,
16
+ * so code handling a read should use `activeServer` instead.
17
+ */
12
18
  protected server: McpServer | null;
19
+ /**
20
+ * The server whose registered handler is serving the current read. Scoped per
21
+ * invocation, so concurrent reads arriving through different servers each
22
+ * observe their own.
23
+ */
24
+ private readonly invocationServer;
25
+ /**
26
+ * The server a read should communicate with — the one that registered the
27
+ * handler serving it, falling back to the last installed server when `read()`
28
+ * is invoked outside a registered handler.
29
+ */
30
+ protected get activeServer(): McpServer | null;
13
31
  /**
14
32
  * Installs the resource to the given MCP server.
15
33
  */
@@ -1 +1 @@
1
- {"version":3,"file":"BaseResource.d.ts","sourceRoot":"","sources":["../../../src/resources/BaseResource.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,SAAS,EAEf,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EACV,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,oCAAoC,CAAC;AAE5C;;GAEG;AACH,8BAAsB,YAAY;IAChC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAEpC,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAQ;IAE1C;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAoClC;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CACX,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,GAC7D,OAAO,CAAC,kBAAkB,CAAC;IAE9B;;OAEG;IACH,SAAS,CAAC,GAAG,CACX,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,EAC7C,IAAI,EAAE,OAAO,GACZ,IAAI;CAKR"}
1
+ {"version":3,"file":"BaseResource.d.ts","sourceRoot":"","sources":["../../../src/resources/BaseResource.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,SAAS,EAEf,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EACV,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,oCAAoC,CAAC;AAE5C;;GAEG;AACH,8BAAsB,YAAY;IAChC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAEpC;;;;;OAKG;IACH,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAQ;IAE1C;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAsC;IAEvE;;;;OAIG;IACH,SAAS,KAAK,YAAY,IAAI,SAAS,GAAG,IAAI,CAE7C;IAED;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IA0ClC;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CACX,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,GAC7D,OAAO,CAAC,kBAAkB,CAAC;IAE9B;;OAEG;IACH,SAAS,CAAC,GAAG,CACX,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,EAC7C,IAAI,EAAE,OAAO,GACZ,IAAI;CAMR"}
@@ -1,11 +1,32 @@
1
1
  // Copyright (c) Mapbox, Inc.
2
2
  // Licensed under the MIT License.
3
+ import { AsyncLocalStorage } from 'node:async_hooks';
3
4
  import { ResourceTemplate } from '@modelcontextprotocol/sdk/server/mcp.js';
4
5
  /**
5
6
  * Base class for all MCP resources
6
7
  */
7
8
  export class BaseResource {
9
+ /**
10
+ * The most recently installed server. Used as a fallback when `read()` is
11
+ * called directly rather than through a handler registered by `installTo()`.
12
+ * A single instance installed into several servers only retains the last one,
13
+ * so code handling a read should use `activeServer` instead.
14
+ */
8
15
  server = null;
16
+ /**
17
+ * The server whose registered handler is serving the current read. Scoped per
18
+ * invocation, so concurrent reads arriving through different servers each
19
+ * observe their own.
20
+ */
21
+ invocationServer = new AsyncLocalStorage();
22
+ /**
23
+ * The server a read should communicate with — the one that registered the
24
+ * handler serving it, falling back to the last installed server when `read()`
25
+ * is invoked outside a registered handler.
26
+ */
27
+ get activeServer() {
28
+ return this.invocationServer.getStore() ?? this.server;
29
+ }
9
30
  /**
10
31
  * Installs the resource to the given MCP server.
11
32
  */
@@ -20,18 +41,19 @@ export class BaseResource {
20
41
  // URI contains template variables — register as a ResourceTemplate so the
21
42
  // SDK performs proper URI template matching (e.g. mapbox://temp/{id}).
22
43
  const template = new ResourceTemplate(this.uri, { list: undefined });
23
- server.registerResource(this.name, template, metadata, (uri, _variables, extra) => this.read(uri.toString(), extra));
44
+ server.registerResource(this.name, template, metadata, (uri, _variables, extra) => this.invocationServer.run(server, () => this.read(uri.toString(), extra)));
24
45
  }
25
46
  else {
26
- server.registerResource(this.name, this.uri, metadata, (uri, extra) => this.read(uri.toString(), extra));
47
+ server.registerResource(this.name, this.uri, metadata, (uri, extra) => this.invocationServer.run(server, () => this.read(uri.toString(), extra)));
27
48
  }
28
49
  }
29
50
  /**
30
51
  * Helper method to send logging messages
31
52
  */
32
53
  log(level, data) {
33
- if (this.server?.server) {
34
- void this.server.server.sendLoggingMessage({ level, data });
54
+ const server = this.activeServer;
55
+ if (server?.server) {
56
+ void server.server.sendLoggingMessage({ level, data });
35
57
  }
36
58
  }
37
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BaseResource.js","sourceRoot":"","sources":["../../../src/resources/BaseResource.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AAElC,OAAO,EAEL,gBAAgB,EACjB,MAAM,yCAAyC,CAAC;AAQjD;;GAEG;AACH,MAAM,OAAgB,YAAY;IAMtB,MAAM,GAAqB,IAAI,CAAC;IAE1C;;OAEG;IACH,SAAS,CAAC,MAAiB;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,MAAM,QAAQ,GAAG;YACf,KAAK,EAAE,IAAI,CAAC,IAAI;YAChB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC;QAEF,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,0EAA0E;YAC1E,uEAAuE;YACvE,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YACrE,MAAM,CAAC,gBAAgB,CACrB,IAAI,CAAC,IAAI,EACT,QAAQ,EACR,QAAQ,EACR,CACE,GAAQ,EACR,UAA6C,EAC7C,KAA6D,EAC7D,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CACtC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,gBAAgB,CACrB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,GAAG,EACR,QAAQ,EACR,CACE,GAAQ,EACR,KAA6D,EAC7D,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CACtC,CAAC;QACJ,CAAC;IACH,CAAC;IAYD;;OAEG;IACO,GAAG,CACX,KAA6C,EAC7C,IAAa;QAEb,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YACxB,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"BaseResource.js","sourceRoot":"","sources":["../../../src/resources/BaseResource.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AAElC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAEL,gBAAgB,EACjB,MAAM,yCAAyC,CAAC;AAQjD;;GAEG;AACH,MAAM,OAAgB,YAAY;IAMhC;;;;;OAKG;IACO,MAAM,GAAqB,IAAI,CAAC;IAE1C;;;;OAIG;IACc,gBAAgB,GAAG,IAAI,iBAAiB,EAAa,CAAC;IAEvE;;;;OAIG;IACH,IAAc,YAAY;QACxB,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,MAAiB;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,MAAM,QAAQ,GAAG;YACf,KAAK,EAAE,IAAI,CAAC,IAAI;YAChB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC;QAEF,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,0EAA0E;YAC1E,uEAAuE;YACvE,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YACrE,MAAM,CAAC,gBAAgB,CACrB,IAAI,CAAC,IAAI,EACT,QAAQ,EACR,QAAQ,EACR,CACE,GAAQ,EACR,UAA6C,EAC7C,KAA6D,EAC7D,EAAE,CACF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CACrC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CACjC,CACJ,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,gBAAgB,CACrB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,GAAG,EACR,QAAQ,EACR,CACE,GAAQ,EACR,KAA6D,EAC7D,EAAE,CACF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CACrC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CACjC,CACJ,CAAC;QACJ,CAAC;IACH,CAAC;IAYD;;OAEG;IACO,GAAG,CACX,KAA6C,EAC7C,IAAa;QAEb,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;QACjC,IAAI,MAAM,EAAE,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;CACF"}
@@ -2,10 +2,9 @@ import { CategoryListResource } from './category-list/CategoryListResource.js';
2
2
  import { TemporaryDataResource } from './temporary/TemporaryDataResource.js';
3
3
  import { ComputeResource } from './compute/ComputeResource.js';
4
4
  import { InlinePayloadResource } from './inline-payload/InlinePayloadResource.js';
5
- import { StaticMapUIResource } from './ui-apps/StaticMapUIResource.js';
6
5
  import { MapAppUIResource } from './ui-apps/MapAppUIResource.js';
7
6
  import { VersionResource } from './version/VersionResource.js';
8
- export declare const ALL_RESOURCES: readonly [CategoryListResource, TemporaryDataResource, ComputeResource, InlinePayloadResource, StaticMapUIResource, MapAppUIResource, VersionResource];
7
+ export declare const ALL_RESOURCES: readonly [CategoryListResource, TemporaryDataResource, ComputeResource, InlinePayloadResource, MapAppUIResource, VersionResource];
9
8
  export type ResourceInstance = (typeof ALL_RESOURCES)[number];
10
9
  export declare function getAllResources(): readonly ResourceInstance[];
11
10
  export declare function getResourceByUri(uri: string): ResourceInstance | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"resourceRegistry.d.ts","sourceRoot":"","sources":["../../../src/resources/resourceRegistry.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAI/D,eAAO,MAAM,aAAa,wJAUhB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D,wBAAgB,eAAe,IAAI,SAAS,gBAAgB,EAAE,CAE7D;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAkB1E"}
1
+ {"version":3,"file":"resourceRegistry.d.ts","sourceRoot":"","sources":["../../../src/resources/resourceRegistry.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAI/D,eAAO,MAAM,aAAa,mIAShB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D,wBAAgB,eAAe,IAAI,SAAS,gBAAgB,EAAE,CAE7D;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAkB1E"}
@@ -5,7 +5,6 @@ import { CategoryListResource } from './category-list/CategoryListResource.js';
5
5
  import { TemporaryDataResource } from './temporary/TemporaryDataResource.js';
6
6
  import { ComputeResource } from './compute/ComputeResource.js';
7
7
  import { InlinePayloadResource } from './inline-payload/InlinePayloadResource.js';
8
- import { StaticMapUIResource } from './ui-apps/StaticMapUIResource.js';
9
8
  import { MapAppUIResource } from './ui-apps/MapAppUIResource.js';
10
9
  import { VersionResource } from './version/VersionResource.js';
11
10
  import { httpRequest } from '../utils/httpPipeline.js';
@@ -16,7 +15,6 @@ export const ALL_RESOURCES = [
16
15
  new TemporaryDataResource(),
17
16
  new ComputeResource(),
18
17
  new InlinePayloadResource(),
19
- new StaticMapUIResource(),
20
18
  // Single shared map renderer, targeted exclusively by render_map_tool.
21
19
  new MapAppUIResource({ httpRequest }),
22
20
  new VersionResource()
@@ -1 +1 @@
1
- {"version":3,"file":"resourceRegistry.js","sourceRoot":"","sources":["../../../src/resources/resourceRegistry.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AAElC,kCAAkC;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,oCAAoC;AACpC,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,oCAAoC;IACpC,IAAI,oBAAoB,CAAC,EAAE,WAAW,EAAE,CAAC;IACzC,IAAI,qBAAqB,EAAE;IAC3B,IAAI,eAAe,EAAE;IACrB,IAAI,qBAAqB,EAAE;IAC3B,IAAI,mBAAmB,EAAE;IACzB,uEAAuE;IACvE,IAAI,gBAAgB,CAAC,EAAE,WAAW,EAAE,CAAC;IACrC,IAAI,eAAe,EAAE;CACb,CAAC;AAIX,MAAM,UAAU,eAAe;IAC7B,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,yBAAyB;IACzB,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IAC1E,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC;IAElC,gFAAgF;IAChF,6EAA6E;IAC7E,wEAAwE;IACxE,0EAA0E;IAC1E,iEAAiE;IACjE,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;QACrC,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,UAAU,GACd,aAAa,KAAK,CAAC,CAAC;YAClB,CAAC,CAAC,QAAQ,CAAC,GAAG;YACd,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;QAC3C,OAAO,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"resourceRegistry.js","sourceRoot":"","sources":["../../../src/resources/resourceRegistry.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AAElC,kCAAkC;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,oCAAoC;AACpC,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,oCAAoC;IACpC,IAAI,oBAAoB,CAAC,EAAE,WAAW,EAAE,CAAC;IACzC,IAAI,qBAAqB,EAAE;IAC3B,IAAI,eAAe,EAAE;IACrB,IAAI,qBAAqB,EAAE;IAC3B,uEAAuE;IACvE,IAAI,gBAAgB,CAAC,EAAE,WAAW,EAAE,CAAC;IACrC,IAAI,eAAe,EAAE;CACb,CAAC;AAIX,MAAM,UAAU,eAAe;IAC7B,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,yBAAyB;IACzB,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IAC1E,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC;IAElC,gFAAgF;IAChF,6EAA6E;IAC7E,wEAAwE;IACxE,0EAA0E;IAC1E,iEAAiE;IACjE,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;QACrC,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,UAAU,GACd,aAAa,KAAK,CAAC,CAAC;YAClB,CAAC,CAAC,QAAQ,CAAC,GAAG;YACd,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;QAC3C,OAAO,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"TemporaryDataResource.d.ts","sourceRoot":"","sources":["../../../../src/resources/temporary/TemporaryDataResource.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACd,MAAM,oCAAoC,CAAC;AAI5C;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,YAAY;IACrD,QAAQ,CAAC,IAAI,oBAAoB;IACjC,QAAQ,CAAC,GAAG,wBAAwB;IACpC,QAAQ,CAAC,WAAW,yEACoD;IACxE,QAAQ,CAAC,QAAQ,sBAAsB;IAEjC,IAAI,CACR,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,GAC7D,OAAO,CAAC,kBAAkB,CAAC;CA8D/B"}
1
+ {"version":3,"file":"TemporaryDataResource.d.ts","sourceRoot":"","sources":["../../../../src/resources/temporary/TemporaryDataResource.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACd,MAAM,oCAAoC,CAAC;AAI5C;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,YAAY;IACrD,QAAQ,CAAC,IAAI,oBAAoB;IACjC,QAAQ,CAAC,GAAG,wBAAwB;IACpC,QAAQ,CAAC,WAAW,yEACoD;IACxE,QAAQ,CAAC,QAAQ,sBAAsB;IAEjC,IAAI,CACR,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,GAC7D,OAAO,CAAC,kBAAkB,CAAC;CA0E/B"}
@@ -2,7 +2,7 @@
2
2
  // Licensed under the MIT License.
3
3
  import { BaseResource } from '../BaseResource.js';
4
4
  import { temporaryResourceManager } from '../../utils/temporaryResourceManager.js';
5
- import { getUserNameFromToken } from '../../utils/jwtUtils.js';
5
+ import { getOwnerKeyFromToken, ownerKeyMatches } from '../../utils/jwtUtils.js';
6
6
  /**
7
7
  * Resource for temporary data storage (large tool responses).
8
8
  * Serves JSON text for structured data and binary blobs for image data.
@@ -26,24 +26,34 @@ export class TemporaryDataResource extends BaseResource {
26
26
  if (!resource) {
27
27
  return notFound;
28
28
  }
29
- // Enforce per-account ownership: only the account that created the resource
30
- // may read it. Resolve the requester the same way tools resolve their token
31
- // (request auth first, then the env token). A mismatch returns the SAME
32
- // "not found" response as a missing resource, so a caller cannot probe
33
- // whether someone else's resource exists.
29
+ // Enforce ownership: only the token that created the resource may read it.
30
+ // Resolve the requester the same way tools resolve their token (request auth
31
+ // first, then the env token). A mismatch returns the SAME "not found"
32
+ // response as a missing resource, so a caller cannot probe whether someone
33
+ // else's resource exists.
34
+ //
35
+ // The owner key is a fingerprint of the token itself, never the `u`
36
+ // (username) claim. The claim is unsigned and unverifiable here, so scoping
37
+ // by username let anyone who knew a resource URI and a Mapbox username mint
38
+ // a garbage token asserting that name and read the resource. See
39
+ // getOwnerKeyFromToken for the full rationale and the per-token-vs-
40
+ // per-account tradeoff this accepts.
41
+ //
42
+ // This check stands on its own and does not assume the transport verified
43
+ // anything. A deployer wiring a caller-supplied bearer token into
44
+ // extra.authInfo.token — the pattern the MCP TypeScript SDK documents, where
45
+ // signature verification is the deployer's opt-in responsibility — is
46
+ // protected here either way.
34
47
  //
35
48
  // The env-token fallback is for stdio/single-user mode only. In hosted
36
49
  // multi-tenant deployments MAPBOX_ACCESS_TOKEN is NOT set and every request
37
50
  // carries its own bearer token via authInfo; the request token therefore
38
51
  // always wins and the env fallback never applies cross-tenant. Do not set a
39
52
  // shared MAPBOX_ACCESS_TOKEN in a multi-tenant deployment or all env-less
40
- // reads would resolve to that one account.
53
+ // reads would resolve to that one token.
41
54
  const requesterToken = extra?.authInfo?.token ??
42
55
  process.env.MAPBOX_ACCESS_TOKEN;
43
- const requester = requesterToken
44
- ? getUserNameFromToken(requesterToken)
45
- : undefined;
46
- if (!resource.owner || !requester || resource.owner !== requester) {
56
+ if (!ownerKeyMatches(resource.owner, getOwnerKeyFromToken(requesterToken))) {
47
57
  return notFound;
48
58
  }
49
59
  // For image data, return as blob
@@ -1 +1 @@
1
- {"version":3,"file":"TemporaryDataResource.js","sourceRoot":"","sources":["../../../../src/resources/temporary/TemporaryDataResource.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AAElC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOlD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE/D;;;GAGG;AACH,MAAM,OAAO,qBAAsB,SAAQ,YAAY;IAC5C,IAAI,GAAG,gBAAgB,CAAC;IACxB,GAAG,GAAG,oBAAoB,CAAC;IAC3B,WAAW,GAClB,qEAAqE,CAAC;IAC/D,QAAQ,GAAG,kBAAkB,CAAC;IAEvC,KAAK,CAAC,IAAI,CACR,GAAW,EACX,KAA8D;QAE9D,MAAM,QAAQ,GAAuB;YACnC,QAAQ,EAAE;gBACR;oBACE,GAAG,EAAE,GAAG;oBACR,QAAQ,EAAE,YAAY;oBACtB,IAAI,EAAE,0EAA0E;iBACjF;aACF;SACF,CAAC;QAEF,MAAM,QAAQ,GAAG,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEnD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,4EAA4E;QAC5E,4EAA4E;QAC5E,wEAAwE;QACxE,uEAAuE;QACvE,0CAA0C;QAC1C,EAAE;QACF,uEAAuE;QACvE,4EAA4E;QAC5E,yEAAyE;QACzE,4EAA4E;QAC5E,0EAA0E;QAC1E,2CAA2C;QAC3C,MAAM,cAAc,GACjB,KAAK,EAAE,QAAQ,EAAE,KAA4B;YAC9C,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;QAClC,MAAM,SAAS,GAAG,cAAc;YAC9B,CAAC,CAAC,oBAAoB,CAAC,cAAc,CAAC;YACtC,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAClE,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,iCAAiC;QACjC,IAAI,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5C,OAAO;gBACL,QAAQ,EAAE;oBACR;wBACE,GAAG;wBACH,QAAQ,EAAE,QAAQ,CAAC,QAAQ;wBAC3B,IAAI,EAAE,QAAQ,CAAC,IAAc;qBAC9B;iBACF;aACF,CAAC;QACJ,CAAC;QAED,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,GAAG,EAAE,GAAG;oBACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;iBAC7C;aACF;SACF,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"TemporaryDataResource.js","sourceRoot":"","sources":["../../../../src/resources/temporary/TemporaryDataResource.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AAElC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOlD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAEhF;;;GAGG;AACH,MAAM,OAAO,qBAAsB,SAAQ,YAAY;IAC5C,IAAI,GAAG,gBAAgB,CAAC;IACxB,GAAG,GAAG,oBAAoB,CAAC;IAC3B,WAAW,GAClB,qEAAqE,CAAC;IAC/D,QAAQ,GAAG,kBAAkB,CAAC;IAEvC,KAAK,CAAC,IAAI,CACR,GAAW,EACX,KAA8D;QAE9D,MAAM,QAAQ,GAAuB;YACnC,QAAQ,EAAE;gBACR;oBACE,GAAG,EAAE,GAAG;oBACR,QAAQ,EAAE,YAAY;oBACtB,IAAI,EAAE,0EAA0E;iBACjF;aACF;SACF,CAAC;QAEF,MAAM,QAAQ,GAAG,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEnD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,2EAA2E;QAC3E,6EAA6E;QAC7E,sEAAsE;QACtE,2EAA2E;QAC3E,0BAA0B;QAC1B,EAAE;QACF,oEAAoE;QACpE,4EAA4E;QAC5E,4EAA4E;QAC5E,iEAAiE;QACjE,oEAAoE;QACpE,qCAAqC;QACrC,EAAE;QACF,0EAA0E;QAC1E,kEAAkE;QAClE,6EAA6E;QAC7E,sEAAsE;QACtE,6BAA6B;QAC7B,EAAE;QACF,uEAAuE;QACvE,4EAA4E;QAC5E,yEAAyE;QACzE,4EAA4E;QAC5E,0EAA0E;QAC1E,yCAAyC;QACzC,MAAM,cAAc,GACjB,KAAK,EAAE,QAAQ,EAAE,KAA4B;YAC9C,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;QAClC,IACE,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC,cAAc,CAAC,CAAC,EACtE,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,iCAAiC;QACjC,IAAI,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5C,OAAO;gBACL,QAAQ,EAAE;oBACR;wBACE,GAAG;wBACH,QAAQ,EAAE,QAAQ,CAAC,QAAQ;wBAC3B,IAAI,EAAE,QAAQ,CAAC,IAAc;qBAC9B;iBACF;aACF,CAAC;QACJ,CAAC;QAED,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,GAAG,EAAE,GAAG;oBACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;iBAC7C;aACF;SACF,CAAC;IACJ,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"MapAppUIResource.d.ts","sourceRoot":"","sources":["../../../../src/resources/ui-apps/MapAppUIResource.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACd,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAIxD;;;;;;;;GAQG;AACH,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,QAAQ,CAAC,IAAI,uBAAuB;IACpC,QAAQ,CAAC,GAAG,oCAAoC;IAChD,QAAQ,CAAC,WAAW,iFAC4D;IAChF,QAAQ,CAAC,QAAQ,+BAAsB;IAEvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAe;gBAE/B,MAAM,EAAE;QAClB,WAAW,EAAE,WAAW,CAAC;QACzB,WAAW,CAAC,EAAE,MAAM,MAAM,CAAC;KAC5B;IAQK,IAAI,CACR,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,GAC7D,OAAO,CAAC,kBAAkB,CAAC;CAwC/B"}
1
+ {"version":3,"file":"MapAppUIResource.d.ts","sourceRoot":"","sources":["../../../../src/resources/ui-apps/MapAppUIResource.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACd,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAKxD;;;;;;;;GAQG;AACH,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,QAAQ,CAAC,IAAI,uBAAuB;IACpC,QAAQ,CAAC,GAAG,oCAAoC;IAChD,QAAQ,CAAC,WAAW,iFAC4D;IAChF,QAAQ,CAAC,QAAQ,+BAAsB;IAEvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAe;gBAE/B,MAAM,EAAE;QAClB,WAAW,EAAE,WAAW,CAAC;QACzB,WAAW,CAAC,EAAE,MAAM,MAAM,CAAC;KAC5B;IAQK,IAAI,CACR,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,GAC7D,OAAO,CAAC,kBAAkB,CAAC;CAiC/B"}
@@ -4,6 +4,7 @@ import { RESOURCE_MIME_TYPE } from '@modelcontextprotocol/ext-apps/server';
4
4
  import { BaseResource } from '../BaseResource.js';
5
5
  import { resolveMapboxPublicToken } from '../../utils/mapboxPublicToken.js';
6
6
  import { renderMapAppHtml } from './mapAppHtml.js';
7
+ import { mapAppCsp } from './mapAppCsp.js';
7
8
  /**
8
9
  * Single Mapbox MCP App resource targeted by `render_map_tool`.
9
10
  *
@@ -48,14 +49,7 @@ export class MapAppUIResource extends BaseResource {
48
49
  text: html,
49
50
  _meta: {
50
51
  ui: {
51
- csp: {
52
- connectDomains: [
53
- 'https://*.mapbox.com',
54
- 'https://events.mapbox.com'
55
- ],
56
- resourceDomains: ['https://api.mapbox.com'],
57
- workerDomains: ['blob:']
58
- },
52
+ csp: mapAppCsp(this.apiEndpoint()),
59
53
  preferredSize: { width: 1000, height: 600 }
60
54
  }
61
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MapAppUIResource.js","sourceRoot":"","sources":["../../../../src/resources/ui-apps/MapAppUIResource.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AAQlC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD;;;;;;;;GAQG;AACH,MAAM,OAAO,gBAAiB,SAAQ,YAAY;IACvC,IAAI,GAAG,mBAAmB,CAAC;IAC3B,GAAG,GAAG,gCAAgC,CAAC;IACvC,WAAW,GAClB,6EAA6E,CAAC;IACvE,QAAQ,GAAG,kBAAkB,CAAC;IAEtB,WAAW,CAAc;IACzB,WAAW,CAAe;IAE3C,YAAY,MAGX;QACC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,WAAW;YACd,MAAM,CAAC,WAAW;gBAClB,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,yBAAyB,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,IAAI,CACR,IAAY,EACZ,KAA8D;QAE9D,MAAM,WAAW,GACd,KAAK,EAAE,QAAQ,EAAE,KAA4B;YAC9C,OAAO,CAAC,GAAG,CAAC,mBAAmB;YAC/B,EAAE,CAAC;QAEL,MAAM,WAAW,GAAG,MAAM,wBAAwB,CAAC;YACjD,WAAW;YACX,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;YAC/B,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,gBAAgB,CAAC;YAC5B,WAAW,EAAE,WAAW,IAAI,EAAE;YAC9B,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;SAChC,CAAC,CAAC;QAEH,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,QAAQ,EAAE,kBAAkB;oBAC5B,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE;wBACL,EAAE,EAAE;4BACF,GAAG,EAAE;gCACH,cAAc,EAAE;oCACd,sBAAsB;oCACtB,2BAA2B;iCAC5B;gCACD,eAAe,EAAE,CAAC,wBAAwB,CAAC;gCAC3C,aAAa,EAAE,CAAC,OAAO,CAAC;6BACzB;4BACD,aAAa,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;yBAC5C;qBACF;iBACF;aACF;SACF,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"MapAppUIResource.js","sourceRoot":"","sources":["../../../../src/resources/ui-apps/MapAppUIResource.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AAQlC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;;;;;;;GAQG;AACH,MAAM,OAAO,gBAAiB,SAAQ,YAAY;IACvC,IAAI,GAAG,mBAAmB,CAAC;IAC3B,GAAG,GAAG,gCAAgC,CAAC;IACvC,WAAW,GAClB,6EAA6E,CAAC;IACvE,QAAQ,GAAG,kBAAkB,CAAC;IAEtB,WAAW,CAAc;IACzB,WAAW,CAAe;IAE3C,YAAY,MAGX;QACC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,WAAW;YACd,MAAM,CAAC,WAAW;gBAClB,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,yBAAyB,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,IAAI,CACR,IAAY,EACZ,KAA8D;QAE9D,MAAM,WAAW,GACd,KAAK,EAAE,QAAQ,EAAE,KAA4B;YAC9C,OAAO,CAAC,GAAG,CAAC,mBAAmB;YAC/B,EAAE,CAAC;QAEL,MAAM,WAAW,GAAG,MAAM,wBAAwB,CAAC;YACjD,WAAW;YACX,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;YAC/B,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,gBAAgB,CAAC;YAC5B,WAAW,EAAE,WAAW,IAAI,EAAE;YAC9B,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;SAChC,CAAC,CAAC;QAEH,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,QAAQ,EAAE,kBAAkB;oBAC5B,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE;wBACL,EAAE,EAAE;4BACF,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;4BAClC,aAAa,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;yBAC5C;qBACF;iBACF;aACF;SACF,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,22 @@
1
+ export interface MapAppCsp {
2
+ connectDomains: string[];
3
+ resourceDomains: string[];
4
+ workerDomains: string[];
5
+ }
6
+ /**
7
+ * The exact origins the map app uses, for its MCP Apps CSP.
8
+ *
9
+ * Hosts compare the declared CSP against what the UI actually loads, and
10
+ * reviewers expect the narrowest list that works, so this names hosts instead
11
+ * of allowing all of `*.mapbox.com`:
12
+ *
13
+ * - GL JS loads its script and stylesheet, and fetches styles, tiles, sprites,
14
+ * glyphs and 3D models, from api.mapbox.com, and sends telemetry to
15
+ * events.mapbox.com (see Mapbox GL JS's CSP guide).
16
+ * - The page's own API calls (Directions, Isochrone, Search Box and so on) go to
17
+ * `apiEndpoint`, which `MAPBOX_API_ENDPOINT` can point somewhere else, so its
18
+ * origin is added when it differs.
19
+ * - GL JS runs its workers from `blob:` URLs.
20
+ */
21
+ export declare function mapAppCsp(apiEndpoint: string): MapAppCsp;
22
+ //# sourceMappingURL=mapAppCsp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapAppCsp.d.ts","sourceRoot":"","sources":["../../../../src/resources/ui-apps/mapAppCsp.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,SAAS;IACxB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAKD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAaxD"}
@@ -0,0 +1,36 @@
1
+ // Copyright (c) Mapbox, Inc.
2
+ // Licensed under the MIT License.
3
+ const MAPBOX_API_ORIGIN = 'https://api.mapbox.com';
4
+ const MAPBOX_EVENTS_ORIGIN = 'https://events.mapbox.com';
5
+ /**
6
+ * The exact origins the map app uses, for its MCP Apps CSP.
7
+ *
8
+ * Hosts compare the declared CSP against what the UI actually loads, and
9
+ * reviewers expect the narrowest list that works, so this names hosts instead
10
+ * of allowing all of `*.mapbox.com`:
11
+ *
12
+ * - GL JS loads its script and stylesheet, and fetches styles, tiles, sprites,
13
+ * glyphs and 3D models, from api.mapbox.com, and sends telemetry to
14
+ * events.mapbox.com (see Mapbox GL JS's CSP guide).
15
+ * - The page's own API calls (Directions, Isochrone, Search Box and so on) go to
16
+ * `apiEndpoint`, which `MAPBOX_API_ENDPOINT` can point somewhere else, so its
17
+ * origin is added when it differs.
18
+ * - GL JS runs its workers from `blob:` URLs.
19
+ */
20
+ export function mapAppCsp(apiEndpoint) {
21
+ const connectDomains = [MAPBOX_API_ORIGIN, MAPBOX_EVENTS_ORIGIN];
22
+ try {
23
+ const apiOrigin = new URL(apiEndpoint).origin;
24
+ if (!connectDomains.includes(apiOrigin))
25
+ connectDomains.push(apiOrigin);
26
+ }
27
+ catch {
28
+ // An endpoint that isn't a valid URL can't be reached by the page anyway.
29
+ }
30
+ return {
31
+ connectDomains,
32
+ resourceDomains: [MAPBOX_API_ORIGIN],
33
+ workerDomains: ['blob:']
34
+ };
35
+ }
36
+ //# sourceMappingURL=mapAppCsp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapAppCsp.js","sourceRoot":"","sources":["../../../../src/resources/ui-apps/mapAppCsp.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AAQlC,MAAM,iBAAiB,GAAG,wBAAwB,CAAC;AACnD,MAAM,oBAAoB,GAAG,2BAA2B,CAAC;AAEzD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,SAAS,CAAC,WAAmB;IAC3C,MAAM,cAAc,GAAG,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CAAC;IACjE,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;QAC9C,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1E,CAAC;IAAC,MAAM,CAAC;QACP,0EAA0E;IAC5E,CAAC;IACD,OAAO;QACL,cAAc;QACd,eAAe,EAAE,CAAC,iBAAiB,CAAC;QACpC,aAAa,EAAE,CAAC,OAAO,CAAC;KACzB,CAAC;AACJ,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import type { MapAppPayload } from '../../utils/mapAppPayload.js';
2
2
  /**
3
- * Render the generic Mapbox MCP App HTML — used by both the MCP Apps
4
- * resource (postMessage delivery) and any tool's inline MCP-UI rawHtml
5
- * block (initial-data baked in).
3
+ * Render the generic Mapbox MCP App HTML — served by the MCP Apps resource
4
+ * (`MapAppUIResource`) that `render_map_tool` targets exclusively via
5
+ * postMessage delivery.
6
6
  *
7
7
  * The iframe is a thin renderer over Mapbox GL JS. Tools produce a
8
8
  * `MapAppPayload` (see src/utils/mapAppPayload.ts) and the iframe
@@ -1 +1 @@
1
- {"version":3,"file":"mapAppHtml.d.ts","sourceRoot":"","sources":["../../../../src/resources/ui-apps/mapAppHtml.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE;;;;;;;;;GASG;AAMH,eAAO,MAAM,iBAAiB,WAAW,CAAC;AAE1C,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,aAAa,CAAC;CAC7B,GAAG,MAAM,CA+jDT"}
1
+ {"version":3,"file":"mapAppHtml.d.ts","sourceRoot":"","sources":["../../../../src/resources/ui-apps/mapAppHtml.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE;;;;;;;;;GASG;AAMH,eAAO,MAAM,iBAAiB,WAAW,CAAC;AAE1C,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,aAAa,CAAC;CAC7B,GAAG,MAAM,CA2oDT"}