@mapbox/mcp-server 0.8.3 → 99.0.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 (210) hide show
  1. package/README.md +37 -45
  2. package/dist/commonjs/index.js +19 -2
  3. package/dist/commonjs/index.js.map +1 -1
  4. package/dist/commonjs/prompts/SearchAlongRoutePrompt.js +6 -6
  5. package/dist/commonjs/prompts/index.d.ts +41 -0
  6. package/dist/commonjs/prompts/index.d.ts.map +1 -0
  7. package/dist/commonjs/prompts/index.js +56 -0
  8. package/dist/commonjs/prompts/index.js.map +1 -0
  9. package/dist/commonjs/resources/BaseResource.d.ts +1 -1
  10. package/dist/commonjs/resources/BaseResource.d.ts.map +1 -1
  11. package/dist/commonjs/resources/BaseResource.js +12 -2
  12. package/dist/commonjs/resources/BaseResource.js.map +1 -1
  13. package/dist/commonjs/resources/index.d.ts +10 -0
  14. package/dist/commonjs/resources/index.d.ts.map +1 -0
  15. package/dist/commonjs/resources/index.js +48 -0
  16. package/dist/commonjs/resources/index.js.map +1 -0
  17. package/dist/commonjs/resources/resourceRegistry.d.ts +4 -1
  18. package/dist/commonjs/resources/resourceRegistry.d.ts.map +1 -1
  19. package/dist/commonjs/resources/resourceRegistry.js +7 -1
  20. package/dist/commonjs/resources/resourceRegistry.js.map +1 -1
  21. package/dist/commonjs/resources/temporary/TemporaryDataResource.d.ts +13 -0
  22. package/dist/commonjs/resources/temporary/TemporaryDataResource.d.ts.map +1 -0
  23. package/dist/commonjs/resources/temporary/TemporaryDataResource.js +41 -0
  24. package/dist/commonjs/resources/temporary/TemporaryDataResource.js.map +1 -0
  25. package/dist/commonjs/resources/ui-apps/StaticMapUIResource.d.ts +15 -0
  26. package/dist/commonjs/resources/ui-apps/StaticMapUIResource.d.ts.map +1 -0
  27. package/dist/commonjs/resources/ui-apps/StaticMapUIResource.js +262 -0
  28. package/dist/commonjs/resources/ui-apps/StaticMapUIResource.js.map +1 -0
  29. package/dist/commonjs/resources/version/VersionResource.d.ts +16 -0
  30. package/dist/commonjs/resources/version/VersionResource.d.ts.map +1 -0
  31. package/dist/commonjs/resources/version/VersionResource.js +33 -0
  32. package/dist/commonjs/resources/version/VersionResource.js.map +1 -0
  33. package/dist/commonjs/tools/BaseTool.d.ts +10 -0
  34. package/dist/commonjs/tools/BaseTool.d.ts.map +1 -1
  35. package/dist/commonjs/tools/BaseTool.js +9 -4
  36. package/dist/commonjs/tools/BaseTool.js.map +1 -1
  37. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.d.ts.map +1 -1
  38. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.input.schema.d.ts +2 -2
  39. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.js +4 -0
  40. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.js.map +1 -1
  41. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.d.ts +17846 -2030
  42. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.d.ts.map +1 -1
  43. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.js +73 -38
  44. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.js.map +1 -1
  45. package/dist/commonjs/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
  46. package/dist/commonjs/tools/directions-tool/DirectionsTool.js +59 -2
  47. package/dist/commonjs/tools/directions-tool/DirectionsTool.js.map +1 -1
  48. package/dist/commonjs/tools/directions-tool/DirectionsTool.output.schema.d.ts +32 -32
  49. package/dist/commonjs/tools/index.d.ts +82 -0
  50. package/dist/commonjs/tools/index.d.ts.map +1 -0
  51. package/dist/commonjs/tools/index.js +142 -0
  52. package/dist/commonjs/tools/index.js.map +1 -0
  53. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.d.ts.map +1 -1
  54. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.js +21 -1
  55. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.js.map +1 -1
  56. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.d.ts +25 -0
  57. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.d.ts.map +1 -0
  58. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.input.schema.d.ts +25 -0
  59. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.input.schema.d.ts.map +1 -0
  60. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.input.schema.js +30 -0
  61. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.input.schema.js.map +1 -0
  62. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.js +193 -0
  63. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.js.map +1 -0
  64. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.output.schema.d.ts +296 -0
  65. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.output.schema.d.ts.map +1 -0
  66. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.output.schema.js +55 -0
  67. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.output.schema.js.map +1 -0
  68. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.d.ts +4 -4
  69. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.d.ts +350 -350
  70. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts.map +1 -1
  71. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.d.ts +4 -4
  72. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.js +4 -0
  73. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.js.map +1 -1
  74. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.d.ts +186 -186
  75. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.d.ts +9 -0
  76. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -1
  77. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.input.schema.d.ts +12 -12
  78. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js +19 -24
  79. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -1
  80. package/dist/commonjs/tools/toolRegistry.d.ts +3 -3
  81. package/dist/commonjs/tools/toolRegistry.d.ts.map +1 -1
  82. package/dist/commonjs/tools/toolRegistry.js +2 -2
  83. package/dist/commonjs/tools/toolRegistry.js.map +1 -1
  84. package/dist/commonjs/utils/index.d.ts +35 -0
  85. package/dist/commonjs/utils/index.d.ts.map +1 -0
  86. package/dist/commonjs/utils/index.js +48 -0
  87. package/dist/commonjs/utils/index.js.map +1 -0
  88. package/dist/commonjs/utils/temporaryResourceManager.d.ts +51 -0
  89. package/dist/commonjs/utils/temporaryResourceManager.d.ts.map +1 -0
  90. package/dist/commonjs/utils/temporaryResourceManager.js +92 -0
  91. package/dist/commonjs/utils/temporaryResourceManager.js.map +1 -0
  92. package/dist/commonjs/version.json +4 -4
  93. package/dist/esm/index.js +19 -2
  94. package/dist/esm/index.js.map +1 -1
  95. package/dist/esm/prompts/SearchAlongRoutePrompt.js +6 -6
  96. package/dist/esm/prompts/index.d.ts +41 -0
  97. package/dist/esm/prompts/index.d.ts.map +1 -0
  98. package/dist/esm/prompts/index.js +47 -0
  99. package/dist/esm/prompts/index.js.map +1 -0
  100. package/dist/esm/resources/BaseResource.d.ts +1 -1
  101. package/dist/esm/resources/BaseResource.d.ts.map +1 -1
  102. package/dist/esm/resources/BaseResource.js +12 -2
  103. package/dist/esm/resources/BaseResource.js.map +1 -1
  104. package/dist/esm/resources/index.d.ts +10 -0
  105. package/dist/esm/resources/index.d.ts.map +1 -0
  106. package/dist/esm/resources/index.js +41 -0
  107. package/dist/esm/resources/index.js.map +1 -0
  108. package/dist/esm/resources/resourceRegistry.d.ts +4 -1
  109. package/dist/esm/resources/resourceRegistry.d.ts.map +1 -1
  110. package/dist/esm/resources/resourceRegistry.js +7 -1
  111. package/dist/esm/resources/resourceRegistry.js.map +1 -1
  112. package/dist/esm/resources/temporary/TemporaryDataResource.d.ts +13 -0
  113. package/dist/esm/resources/temporary/TemporaryDataResource.d.ts.map +1 -0
  114. package/dist/esm/resources/temporary/TemporaryDataResource.js +37 -0
  115. package/dist/esm/resources/temporary/TemporaryDataResource.js.map +1 -0
  116. package/dist/esm/resources/ui-apps/StaticMapUIResource.d.ts +15 -0
  117. package/dist/esm/resources/ui-apps/StaticMapUIResource.d.ts.map +1 -0
  118. package/dist/esm/resources/ui-apps/StaticMapUIResource.js +258 -0
  119. package/dist/esm/resources/ui-apps/StaticMapUIResource.js.map +1 -0
  120. package/dist/esm/resources/version/VersionResource.d.ts +16 -0
  121. package/dist/esm/resources/version/VersionResource.d.ts.map +1 -0
  122. package/dist/esm/resources/version/VersionResource.js +29 -0
  123. package/dist/esm/resources/version/VersionResource.js.map +1 -0
  124. package/dist/esm/tools/BaseTool.d.ts +10 -0
  125. package/dist/esm/tools/BaseTool.d.ts.map +1 -1
  126. package/dist/esm/tools/BaseTool.js +9 -4
  127. package/dist/esm/tools/BaseTool.js.map +1 -1
  128. package/dist/esm/tools/category-search-tool/CategorySearchTool.d.ts.map +1 -1
  129. package/dist/esm/tools/category-search-tool/CategorySearchTool.input.schema.d.ts +2 -2
  130. package/dist/esm/tools/category-search-tool/CategorySearchTool.js +4 -0
  131. package/dist/esm/tools/category-search-tool/CategorySearchTool.js.map +1 -1
  132. package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.d.ts +17846 -2030
  133. package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.d.ts.map +1 -1
  134. package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.js +73 -38
  135. package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.js.map +1 -1
  136. package/dist/esm/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
  137. package/dist/esm/tools/directions-tool/DirectionsTool.js +59 -2
  138. package/dist/esm/tools/directions-tool/DirectionsTool.js.map +1 -1
  139. package/dist/esm/tools/directions-tool/DirectionsTool.output.schema.d.ts +32 -32
  140. package/dist/esm/tools/index.d.ts +82 -0
  141. package/dist/esm/tools/index.d.ts.map +1 -0
  142. package/dist/esm/tools/index.js +114 -0
  143. package/dist/esm/tools/index.js.map +1 -0
  144. package/dist/esm/tools/isochrone-tool/IsochroneTool.d.ts.map +1 -1
  145. package/dist/esm/tools/isochrone-tool/IsochroneTool.js +21 -1
  146. package/dist/esm/tools/isochrone-tool/IsochroneTool.js.map +1 -1
  147. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.d.ts +25 -0
  148. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.d.ts.map +1 -0
  149. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.input.schema.d.ts +25 -0
  150. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.input.schema.d.ts.map +1 -0
  151. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.input.schema.js +24 -0
  152. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.input.schema.js.map +1 -0
  153. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.js +189 -0
  154. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.js.map +1 -0
  155. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.output.schema.d.ts +296 -0
  156. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.output.schema.d.ts.map +1 -0
  157. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.output.schema.js +52 -0
  158. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.output.schema.js.map +1 -0
  159. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.d.ts +4 -4
  160. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.d.ts +350 -350
  161. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts.map +1 -1
  162. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.d.ts +4 -4
  163. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.js +4 -0
  164. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.js.map +1 -1
  165. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.d.ts +186 -186
  166. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.d.ts +9 -0
  167. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -1
  168. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.input.schema.d.ts +12 -12
  169. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.js +19 -24
  170. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -1
  171. package/dist/esm/tools/toolRegistry.d.ts +3 -3
  172. package/dist/esm/tools/toolRegistry.d.ts.map +1 -1
  173. package/dist/esm/tools/toolRegistry.js +2 -2
  174. package/dist/esm/tools/toolRegistry.js.map +1 -1
  175. package/dist/esm/utils/index.d.ts +35 -0
  176. package/dist/esm/utils/index.d.ts.map +1 -0
  177. package/dist/esm/utils/index.js +38 -0
  178. package/dist/esm/utils/index.js.map +1 -0
  179. package/dist/esm/utils/temporaryResourceManager.d.ts +51 -0
  180. package/dist/esm/utils/temporaryResourceManager.d.ts.map +1 -0
  181. package/dist/esm/utils/temporaryResourceManager.js +88 -0
  182. package/dist/esm/utils/temporaryResourceManager.js.map +1 -0
  183. package/dist/esm/version.json +4 -4
  184. package/package.json +55 -9
  185. package/patches/@modelcontextprotocol+sdk+1.27.1.patch +33 -0
  186. package/dist/commonjs/tools/version-tool/VersionTool.d.ts +0 -18
  187. package/dist/commonjs/tools/version-tool/VersionTool.d.ts.map +0 -1
  188. package/dist/commonjs/tools/version-tool/VersionTool.input.schema.d.ts +0 -3
  189. package/dist/commonjs/tools/version-tool/VersionTool.input.schema.d.ts.map +0 -1
  190. package/dist/commonjs/tools/version-tool/VersionTool.input.schema.js +0 -8
  191. package/dist/commonjs/tools/version-tool/VersionTool.input.schema.js.map +0 -1
  192. package/dist/commonjs/tools/version-tool/VersionTool.js +0 -68
  193. package/dist/commonjs/tools/version-tool/VersionTool.js.map +0 -1
  194. package/dist/commonjs/tools/version-tool/VersionTool.output.schema.d.ts +0 -22
  195. package/dist/commonjs/tools/version-tool/VersionTool.output.schema.d.ts.map +0 -1
  196. package/dist/commonjs/tools/version-tool/VersionTool.output.schema.js +0 -15
  197. package/dist/commonjs/tools/version-tool/VersionTool.output.schema.js.map +0 -1
  198. package/dist/esm/tools/version-tool/VersionTool.d.ts +0 -18
  199. package/dist/esm/tools/version-tool/VersionTool.d.ts.map +0 -1
  200. package/dist/esm/tools/version-tool/VersionTool.input.schema.d.ts +0 -3
  201. package/dist/esm/tools/version-tool/VersionTool.input.schema.d.ts.map +0 -1
  202. package/dist/esm/tools/version-tool/VersionTool.input.schema.js +0 -5
  203. package/dist/esm/tools/version-tool/VersionTool.input.schema.js.map +0 -1
  204. package/dist/esm/tools/version-tool/VersionTool.js +0 -64
  205. package/dist/esm/tools/version-tool/VersionTool.js.map +0 -1
  206. package/dist/esm/tools/version-tool/VersionTool.output.schema.d.ts +0 -22
  207. package/dist/esm/tools/version-tool/VersionTool.output.schema.d.ts.map +0 -1
  208. package/dist/esm/tools/version-tool/VersionTool.output.schema.js +0 -12
  209. package/dist/esm/tools/version-tool/VersionTool.output.schema.js.map +0 -1
  210. package/patches/@modelcontextprotocol+sdk+1.25.3.patch +0 -66
@@ -13,6 +13,15 @@ export declare class StaticMapImageTool extends MapboxApiBasedTool<typeof Static
13
13
  idempotentHint: boolean;
14
14
  openWorldHint: boolean;
15
15
  };
16
+ readonly meta: {
17
+ ui: {
18
+ resourceUri: string;
19
+ csp: {
20
+ connectDomains: string[];
21
+ resourceDomains: string[];
22
+ };
23
+ };
24
+ };
16
25
  constructor(params: {
17
26
  httpRequest: HttpRequest;
18
27
  });
@@ -1 +1 @@
1
- {"version":3,"file":"StaticMapImageTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/static-map-image-tool/StaticMapImageTool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAEjF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAGzE,qBAAa,kBAAmB,SAAQ,kBAAkB,CACxD,OAAO,yBAAyB,CACjC;IACC,IAAI,SAA2B;IAC/B,WAAW,SAC8P;IACzQ,WAAW;;;;;;MAMT;gBAEU,MAAM,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE;IAOhD,OAAO,CAAC,aAAa;cAkDL,OAAO,CACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,EAChD,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,cAAc,CAAC;CAuF3B"}
1
+ {"version":3,"file":"StaticMapImageTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/static-map-image-tool/StaticMapImageTool.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAEjF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAGzE,qBAAa,kBAAmB,SAAQ,kBAAkB,CACxD,OAAO,yBAAyB,CACjC;IACC,IAAI,SAA2B;IAC/B,WAAW,SAC8P;IACzQ,WAAW;;;;;;MAMT;IACF,QAAQ,CAAC,IAAI;;;;;;;;MAQX;gBAEU,MAAM,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE;IAOhD,OAAO,CAAC,aAAa;cAkDL,OAAO,CACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,EAChD,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,cAAc,CAAC;CAmE3B"}
@@ -17,8 +17,8 @@ export declare const MarkerOverlaySchema: z.ZodObject<{
17
17
  type: "marker";
18
18
  longitude: number;
19
19
  latitude: number;
20
- color?: string | undefined;
21
20
  size?: "small" | "large" | undefined;
21
+ color?: string | undefined;
22
22
  label?: string | undefined;
23
23
  }>;
24
24
  export declare const CustomMarkerOverlaySchema: z.ZodObject<{
@@ -27,13 +27,13 @@ export declare const CustomMarkerOverlaySchema: z.ZodObject<{
27
27
  latitude: z.ZodNumber;
28
28
  url: z.ZodString;
29
29
  }, "strip", z.ZodTypeAny, {
30
- url: string;
31
30
  type: "custom-marker";
31
+ url: string;
32
32
  longitude: number;
33
33
  latitude: number;
34
34
  }, {
35
- url: string;
36
35
  type: "custom-marker";
36
+ url: string;
37
37
  longitude: number;
38
38
  latitude: number;
39
39
  }>;
@@ -90,8 +90,8 @@ export declare const OverlaySchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject
90
90
  type: "marker";
91
91
  longitude: number;
92
92
  latitude: number;
93
- color?: string | undefined;
94
93
  size?: "small" | "large" | undefined;
94
+ color?: string | undefined;
95
95
  label?: string | undefined;
96
96
  }>, z.ZodObject<{
97
97
  type: z.ZodLiteral<"custom-marker">;
@@ -99,13 +99,13 @@ export declare const OverlaySchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject
99
99
  latitude: z.ZodNumber;
100
100
  url: z.ZodString;
101
101
  }, "strip", z.ZodTypeAny, {
102
- url: string;
103
102
  type: "custom-marker";
103
+ url: string;
104
104
  longitude: number;
105
105
  latitude: number;
106
106
  }, {
107
- url: string;
108
107
  type: "custom-marker";
108
+ url: string;
109
109
  longitude: number;
110
110
  latitude: number;
111
111
  }>, z.ZodObject<{
@@ -184,8 +184,8 @@ export declare const StaticMapImageInputSchema: z.ZodObject<{
184
184
  type: "marker";
185
185
  longitude: number;
186
186
  latitude: number;
187
- color?: string | undefined;
188
187
  size?: "small" | "large" | undefined;
188
+ color?: string | undefined;
189
189
  label?: string | undefined;
190
190
  }>, z.ZodObject<{
191
191
  type: z.ZodLiteral<"custom-marker">;
@@ -193,13 +193,13 @@ export declare const StaticMapImageInputSchema: z.ZodObject<{
193
193
  latitude: z.ZodNumber;
194
194
  url: z.ZodString;
195
195
  }, "strip", z.ZodTypeAny, {
196
- url: string;
197
196
  type: "custom-marker";
197
+ url: string;
198
198
  longitude: number;
199
199
  latitude: number;
200
200
  }, {
201
- url: string;
202
201
  type: "custom-marker";
202
+ url: string;
203
203
  longitude: number;
204
204
  latitude: number;
205
205
  }>, z.ZodObject<{
@@ -256,8 +256,8 @@ export declare const StaticMapImageInputSchema: z.ZodObject<{
256
256
  color?: string | undefined;
257
257
  label?: string | undefined;
258
258
  } | {
259
- url: string;
260
259
  type: "custom-marker";
260
+ url: string;
261
261
  longitude: number;
262
262
  latitude: number;
263
263
  } | {
@@ -288,12 +288,12 @@ export declare const StaticMapImageInputSchema: z.ZodObject<{
288
288
  type: "marker";
289
289
  longitude: number;
290
290
  latitude: number;
291
- color?: string | undefined;
292
291
  size?: "small" | "large" | undefined;
292
+ color?: string | undefined;
293
293
  label?: string | undefined;
294
294
  } | {
295
- url: string;
296
295
  type: "custom-marker";
296
+ url: string;
297
297
  longitude: number;
298
298
  latitude: number;
299
299
  } | {
@@ -3,6 +3,7 @@
3
3
  // Licensed under the MIT License.
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.StaticMapImageTool = void 0;
6
+ const node_crypto_1 = require("node:crypto");
6
7
  const server_1 = require("@mcp-ui/server");
7
8
  const MapboxApiBasedTool_js_1 = require("../MapboxApiBasedTool.js");
8
9
  const StaticMapImageTool_input_schema_js_1 = require("./StaticMapImageTool.input.schema.js");
@@ -17,6 +18,15 @@ class StaticMapImageTool extends MapboxApiBasedTool_js_1.MapboxApiBasedTool {
17
18
  idempotentHint: true,
18
19
  openWorldHint: true
19
20
  };
21
+ meta = {
22
+ ui: {
23
+ resourceUri: 'ui://mapbox/static-map/index.html',
24
+ csp: {
25
+ connectDomains: ['https://api.mapbox.com'],
26
+ resourceDomains: ['https://api.mapbox.com']
27
+ }
28
+ }
29
+ };
20
30
  constructor(params) {
21
31
  super({
22
32
  inputSchema: StaticMapImageTool_input_schema_js_1.StaticMapImageInputSchema,
@@ -76,42 +86,24 @@ class StaticMapImageTool extends MapboxApiBasedTool_js_1.MapboxApiBasedTool {
76
86
  }
77
87
  const density = input.highDensity ? '@2x' : '';
78
88
  const url = `${MapboxApiBasedTool_js_1.MapboxApiBasedTool.mapboxApiEndpoint}styles/v1/${input.style}/static/${overlayString}${lng},${lat},${input.zoom}/${width}x${height}${density}?access_token=${accessToken}`;
89
+ // Fetch and encode image as base64 for clients without MCP Apps support
79
90
  const response = await this.httpRequest(url);
80
91
  if (!response.ok) {
81
92
  const errorMessage = await this.getErrorMessage(response);
82
93
  return {
83
- content: [
84
- {
85
- type: 'text',
86
- text: `Static Map API error: ${errorMessage}`
87
- }
88
- ],
94
+ content: [{ type: 'text', text: errorMessage }],
89
95
  isError: true
90
96
  };
91
97
  }
92
98
  const buffer = await response.arrayBuffer();
93
99
  const base64Data = Buffer.from(buffer).toString('base64');
94
- // Determine MIME type based on style (raster-only styles return JPEG)
95
100
  const isRasterStyle = input.style.includes('satellite');
96
101
  const mimeType = isRasterStyle ? 'image/jpeg' : 'image/png';
97
- // Build descriptive text with map metadata (Issue #103)
98
- // Text content provides additional context alongside the image
99
- const textDescription = [
100
- 'Static map image generated successfully.',
101
- `Center: ${lat}, ${lng}`,
102
- `Zoom: ${input.zoom}`,
103
- `Size: ${width}x${height}${input.highDensity ? ' @2x' : ''}`,
104
- `Style: ${input.style}`,
105
- input.overlays?.length ? `Overlays: ${input.overlays.length}` : null
106
- ]
107
- .filter(Boolean)
108
- .join('\n');
109
- // Build content array with text first, then image
110
- // Per MCP spec, content array can have multiple items of different types
102
+ // content[0] MUST be the URL text MCP Apps UI finds it via content.find(c => c.type === 'text')
111
103
  const content = [
112
104
  {
113
105
  type: 'text',
114
- text: textDescription
106
+ text: url
115
107
  },
116
108
  {
117
109
  type: 'image',
@@ -119,7 +111,7 @@ class StaticMapImageTool extends MapboxApiBasedTool_js_1.MapboxApiBasedTool {
119
111
  mimeType
120
112
  }
121
113
  ];
122
- // Conditionally add MCP-UI resource if enabled
114
+ // Conditionally add MCP-UI resource if enabled (backward compatibility)
123
115
  if ((0, toolConfig_js_1.isMcpUiEnabled)()) {
124
116
  const uiResource = (0, server_1.createUIResource)({
125
117
  uri: `ui://mapbox/static-map/${input.style}/${lng},${lat},${input.zoom}`,
@@ -136,7 +128,10 @@ class StaticMapImageTool extends MapboxApiBasedTool_js_1.MapboxApiBasedTool {
136
128
  }
137
129
  return {
138
130
  content,
139
- isError: false
131
+ isError: false,
132
+ _meta: {
133
+ viewUUID: (0, node_crypto_1.randomUUID)()
134
+ }
140
135
  };
141
136
  }
142
137
  }
@@ -1 +1 @@
1
- {"version":3,"file":"StaticMapImageTool.js","sourceRoot":"","sources":["../../../../src/tools/static-map-image-tool/StaticMapImageTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StaticMapImageTool.js","sourceRoot":"","sources":["../../../../src/tools/static-map-image-tool/StaticMapImageTool.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { PlaceDetailsTool } from './place-details-tool/PlaceDetailsTool.js';
1
2
  import { SimplifyTool } from './simplify-tool/SimplifyTool.js';
2
3
  import { BoundingBoxTool } from './bounding-box-tool/BoundingBoxTool.js';
3
4
  import { CentroidTool } from './centroid-tool/CentroidTool.js';
@@ -18,12 +19,11 @@ import { ResourceReaderTool } from './resource-reader-tool/ResourceReaderTool.js
18
19
  import { ReverseGeocodeTool } from './reverse-geocode-tool/ReverseGeocodeTool.js';
19
20
  import { StaticMapImageTool } from './static-map-image-tool/StaticMapImageTool.js';
20
21
  import { SearchAndGeocodeTool } from './search-and-geocode-tool/SearchAndGeocodeTool.js';
21
- import { VersionTool } from './version-tool/VersionTool.js';
22
22
  /**
23
23
  * Core tools that work in all MCP clients without requiring special capabilities
24
24
  * These tools are registered immediately during server startup
25
25
  */
26
- export declare const CORE_TOOLS: readonly [SimplifyTool, BoundingBoxTool, CentroidTool, MidpointTool, BearingTool, AreaTool, BufferTool, PointInPolygonTool, DistanceTool, VersionTool, CategorySearchTool, DirectionsTool, IsochroneTool, MapMatchingTool, MatrixTool, OptimizationTool, ReverseGeocodeTool, StaticMapImageTool, SearchAndGeocodeTool];
26
+ export declare const CORE_TOOLS: readonly [PlaceDetailsTool, SimplifyTool, BoundingBoxTool, CentroidTool, MidpointTool, BearingTool, AreaTool, BufferTool, PointInPolygonTool, DistanceTool, CategorySearchTool, DirectionsTool, IsochroneTool, MapMatchingTool, MatrixTool, OptimizationTool, ReverseGeocodeTool, StaticMapImageTool, SearchAndGeocodeTool];
27
27
  /**
28
28
  * Tools that require elicitation capability for optimal functionality
29
29
  * These tools use elicitInput() for secure token management
@@ -53,7 +53,7 @@ export declare const RESOURCE_FALLBACK_TOOLS: readonly [ResourceReaderTool, Cate
53
53
  /**
54
54
  * All tools combined (for backward compatibility and testing)
55
55
  */
56
- export declare const ALL_TOOLS: readonly [SimplifyTool, BoundingBoxTool, CentroidTool, MidpointTool, BearingTool, AreaTool, BufferTool, PointInPolygonTool, DistanceTool, VersionTool, CategorySearchTool, DirectionsTool, IsochroneTool, MapMatchingTool, MatrixTool, OptimizationTool, ReverseGeocodeTool, StaticMapImageTool, SearchAndGeocodeTool, ResourceReaderTool, CategoryListTool];
56
+ export declare const ALL_TOOLS: readonly [PlaceDetailsTool, SimplifyTool, BoundingBoxTool, CentroidTool, MidpointTool, BearingTool, AreaTool, BufferTool, PointInPolygonTool, DistanceTool, CategorySearchTool, DirectionsTool, IsochroneTool, MapMatchingTool, MatrixTool, OptimizationTool, ReverseGeocodeTool, StaticMapImageTool, SearchAndGeocodeTool, ResourceReaderTool, CategoryListTool];
57
57
  export type ToolInstance = (typeof ALL_TOOLS)[number];
58
58
  /**
59
59
  * Get all tools (for backward compatibility)
@@ -1 +1 @@
1
- {"version":3,"file":"toolRegistry.d.ts","sourceRoot":"","sources":["../../../src/tools/toolRegistry.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mDAAmD,CAAC;AACzF,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAG5D;;;GAGG;AACH,eAAO,MAAM,UAAU,wTAqBb,CAAC;AAEX;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,aAAc,CAAC;AAE7C;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,uBAAuB,iDAG1B,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,SAAS,8VAIZ,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtD;;;GAGG;AACH,wBAAgB,WAAW,IAAI,SAAS,YAAY,EAAE,CAErD;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,SAAS,YAAY,EAAE,CAEtD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,SAAS,YAAY,EAAE,CAE7D;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,SAAS,YAAY,EAAE,CAElE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAEpE"}
1
+ {"version":3,"file":"toolRegistry.d.ts","sourceRoot":"","sources":["../../../src/tools/toolRegistry.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mDAAmD,CAAC;AAGzF;;;GAGG;AACH,eAAO,MAAM,UAAU,6TAqBb,CAAC;AAEX;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,aAAc,CAAC;AAE7C;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,uBAAuB,iDAG1B,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,SAAS,mWAIZ,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtD;;;GAGG;AACH,wBAAgB,WAAW,IAAI,SAAS,YAAY,EAAE,CAErD;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,SAAS,YAAY,EAAE,CAEtD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,SAAS,YAAY,EAAE,CAE7D;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,SAAS,YAAY,EAAE,CAElE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAEpE"}
@@ -9,6 +9,7 @@ exports.getElicitationTools = getElicitationTools;
9
9
  exports.getResourceFallbackTools = getResourceFallbackTools;
10
10
  exports.getToolByName = getToolByName;
11
11
  // INSERT NEW TOOL IMPORT HERE
12
+ const PlaceDetailsTool_js_1 = require("./place-details-tool/PlaceDetailsTool.js");
12
13
  const SimplifyTool_js_1 = require("./simplify-tool/SimplifyTool.js");
13
14
  const BoundingBoxTool_js_1 = require("./bounding-box-tool/BoundingBoxTool.js");
14
15
  const CentroidTool_js_1 = require("./centroid-tool/CentroidTool.js");
@@ -29,7 +30,6 @@ const ResourceReaderTool_js_1 = require("./resource-reader-tool/ResourceReaderTo
29
30
  const ReverseGeocodeTool_js_1 = require("./reverse-geocode-tool/ReverseGeocodeTool.js");
30
31
  const StaticMapImageTool_js_1 = require("./static-map-image-tool/StaticMapImageTool.js");
31
32
  const SearchAndGeocodeTool_js_1 = require("./search-and-geocode-tool/SearchAndGeocodeTool.js");
32
- const VersionTool_js_1 = require("./version-tool/VersionTool.js");
33
33
  const httpPipeline_js_1 = require("../utils/httpPipeline.js");
34
34
  /**
35
35
  * Core tools that work in all MCP clients without requiring special capabilities
@@ -37,6 +37,7 @@ const httpPipeline_js_1 = require("../utils/httpPipeline.js");
37
37
  */
38
38
  exports.CORE_TOOLS = [
39
39
  // INSERT NEW TOOL INSTANCE HERE
40
+ new PlaceDetailsTool_js_1.PlaceDetailsTool({ httpRequest: httpPipeline_js_1.httpRequest }),
40
41
  new SimplifyTool_js_1.SimplifyTool(),
41
42
  new BoundingBoxTool_js_1.BoundingBoxTool(),
42
43
  new CentroidTool_js_1.CentroidTool(),
@@ -46,7 +47,6 @@ exports.CORE_TOOLS = [
46
47
  new BufferTool_js_1.BufferTool(),
47
48
  new PointInPolygonTool_js_1.PointInPolygonTool(),
48
49
  new DistanceTool_js_1.DistanceTool(),
49
- new VersionTool_js_1.VersionTool(),
50
50
  new CategorySearchTool_js_1.CategorySearchTool({ httpRequest: httpPipeline_js_1.httpRequest }),
51
51
  new DirectionsTool_js_1.DirectionsTool({ httpRequest: httpPipeline_js_1.httpRequest }),
52
52
  new IsochroneTool_js_1.IsochroneTool({ httpRequest: httpPipeline_js_1.httpRequest }),
@@ -1 +1 @@
1
- {"version":3,"file":"toolRegistry.js","sourceRoot":"","sources":["../../../src/tools/toolRegistry.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAmGlC,kCAEC;AAKD,oCAEC;AAKD,kDAEC;AAKD,4DAEC;AAED,sCAEC;AA5HD,8BAA8B;AAC9B,qEAA+D;AAC/D,+EAAyE;AACzE,qEAA+D;AAC/D,qEAA+D;AAC/D,kEAA4D;AAC5D,yDAAmD;AACnD,+DAAyD;AACzD,yFAAmF;AACnF,qEAA+D;AAC/D,kFAA4E;AAC5E,wFAAkF;AAClF,2EAAqE;AACrE,wEAAkE;AAClE,+EAAyE;AACzE,+DAAyD;AACzD,iFAA2E;AAC3E,wFAAkF;AAClF,wFAAkF;AAClF,yFAAmF;AACnF,+FAAyF;AACzF,kEAA4D;AAC5D,8DAAuD;AAEvD;;;GAGG;AACU,QAAA,UAAU,GAAG;IACxB,gCAAgC;IAChC,IAAI,8BAAY,EAAE;IAClB,IAAI,oCAAe,EAAE;IACrB,IAAI,8BAAY,EAAE;IAClB,IAAI,8BAAY,EAAE;IAClB,IAAI,4BAAW,EAAE;IACjB,IAAI,sBAAQ,EAAE;IACd,IAAI,0BAAU,EAAE;IAChB,IAAI,0CAAkB,EAAE;IACxB,IAAI,8BAAY,EAAE;IAClB,IAAI,4BAAW,EAAE;IACjB,IAAI,0CAAkB,CAAC,EAAE,WAAW,EAAX,6BAAW,EAAE,CAAC;IACvC,IAAI,kCAAc,CAAC,EAAE,WAAW,EAAX,6BAAW,EAAE,CAAC;IACnC,IAAI,gCAAa,CAAC,EAAE,WAAW,EAAX,6BAAW,EAAE,CAAC;IAClC,IAAI,oCAAe,CAAC,EAAE,WAAW,EAAX,6BAAW,EAAE,CAAC;IACpC,IAAI,0BAAU,CAAC,EAAE,WAAW,EAAX,6BAAW,EAAE,CAAC;IAC/B,IAAI,sCAAgB,CAAC,EAAE,WAAW,EAAX,6BAAW,EAAE,CAAC;IACrC,IAAI,0CAAkB,CAAC,EAAE,WAAW,EAAX,6BAAW,EAAE,CAAC;IACvC,IAAI,0CAAkB,CAAC,EAAE,WAAW,EAAX,6BAAW,EAAE,CAAC;IACvC,IAAI,8CAAoB,CAAC,EAAE,WAAW,EAAX,6BAAW,EAAE,CAAC;CACjC,CAAC;AAEX;;;;;;;GAOG;AACU,QAAA,iBAAiB,GAAG,EAAW,CAAC;AAE7C;;;;;;;;;;;;;;;GAeG;AACU,QAAA,uBAAuB,GAAG;IACrC,IAAI,0CAAkB,EAAE;IACxB,IAAI,sCAAgB,CAAC,EAAE,WAAW,EAAX,6BAAW,EAAE,CAAC;CAC7B,CAAC;AAEX;;GAEG;AACU,QAAA,SAAS,GAAG;IACvB,GAAG,kBAAU;IACb,GAAG,yBAAiB;IACpB,GAAG,+BAAuB;CAClB,CAAC;AAIX;;;GAGG;AACH,SAAgB,WAAW;IACzB,OAAO,iBAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY;IAC1B,OAAO,kBAAU,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB;IACjC,OAAO,yBAAiB,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,SAAgB,wBAAwB;IACtC,OAAO,+BAAuB,CAAC;AACjC,CAAC;AAED,SAAgB,aAAa,CAAC,IAAY;IACxC,OAAO,iBAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"toolRegistry.js","sourceRoot":"","sources":["../../../src/tools/toolRegistry.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAmGlC,kCAEC;AAKD,oCAEC;AAKD,kDAEC;AAKD,4DAEC;AAED,sCAEC;AA5HD,8BAA8B;AAC9B,kFAA4E;AAC5E,qEAA+D;AAC/D,+EAAyE;AACzE,qEAA+D;AAC/D,qEAA+D;AAC/D,kEAA4D;AAC5D,yDAAmD;AACnD,+DAAyD;AACzD,yFAAmF;AACnF,qEAA+D;AAC/D,kFAA4E;AAC5E,wFAAkF;AAClF,2EAAqE;AACrE,wEAAkE;AAClE,+EAAyE;AACzE,+DAAyD;AACzD,iFAA2E;AAC3E,wFAAkF;AAClF,wFAAkF;AAClF,yFAAmF;AACnF,+FAAyF;AACzF,8DAAuD;AAEvD;;;GAGG;AACU,QAAA,UAAU,GAAG;IACxB,gCAAgC;IAChC,IAAI,sCAAgB,CAAC,EAAE,WAAW,EAAX,6BAAW,EAAE,CAAC;IACrC,IAAI,8BAAY,EAAE;IAClB,IAAI,oCAAe,EAAE;IACrB,IAAI,8BAAY,EAAE;IAClB,IAAI,8BAAY,EAAE;IAClB,IAAI,4BAAW,EAAE;IACjB,IAAI,sBAAQ,EAAE;IACd,IAAI,0BAAU,EAAE;IAChB,IAAI,0CAAkB,EAAE;IACxB,IAAI,8BAAY,EAAE;IAClB,IAAI,0CAAkB,CAAC,EAAE,WAAW,EAAX,6BAAW,EAAE,CAAC;IACvC,IAAI,kCAAc,CAAC,EAAE,WAAW,EAAX,6BAAW,EAAE,CAAC;IACnC,IAAI,gCAAa,CAAC,EAAE,WAAW,EAAX,6BAAW,EAAE,CAAC;IAClC,IAAI,oCAAe,CAAC,EAAE,WAAW,EAAX,6BAAW,EAAE,CAAC;IACpC,IAAI,0BAAU,CAAC,EAAE,WAAW,EAAX,6BAAW,EAAE,CAAC;IAC/B,IAAI,sCAAgB,CAAC,EAAE,WAAW,EAAX,6BAAW,EAAE,CAAC;IACrC,IAAI,0CAAkB,CAAC,EAAE,WAAW,EAAX,6BAAW,EAAE,CAAC;IACvC,IAAI,0CAAkB,CAAC,EAAE,WAAW,EAAX,6BAAW,EAAE,CAAC;IACvC,IAAI,8CAAoB,CAAC,EAAE,WAAW,EAAX,6BAAW,EAAE,CAAC;CACjC,CAAC;AAEX;;;;;;;GAOG;AACU,QAAA,iBAAiB,GAAG,EAAW,CAAC;AAE7C;;;;;;;;;;;;;;;GAeG;AACU,QAAA,uBAAuB,GAAG;IACrC,IAAI,0CAAkB,EAAE;IACxB,IAAI,sCAAgB,CAAC,EAAE,WAAW,EAAX,6BAAW,EAAE,CAAC;CAC7B,CAAC;AAEX;;GAEG;AACU,QAAA,SAAS,GAAG;IACvB,GAAG,kBAAU;IACb,GAAG,yBAAiB;IACpB,GAAG,+BAAuB;CAClB,CAAC;AAIX;;;GAGG;AACH,SAAgB,WAAW;IACzB,OAAO,iBAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY;IAC1B,OAAO,kBAAU,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB;IACjC,OAAO,yBAAiB,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,SAAgB,wBAAwB;IACtC,OAAO,+BAAuB,CAAC;AACjC,CAAC;AAED,SAAgB,aAAa,CAAC,IAAY;IACxC,OAAO,iBAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACtD,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * @module utils
3
+ *
4
+ * Public API for Mapbox MCP utilities. This module exports the HTTP pipeline
5
+ * system for making requests to Mapbox APIs with built-in policies like
6
+ * User-Agent, Retry, and Tracing.
7
+ *
8
+ * @example Using the default pipeline
9
+ * ```typescript
10
+ * import { httpRequest } from '@mapbox/mcp-server/utils';
11
+ * import { DirectionsTool } from '@mapbox/mcp-server/tools';
12
+ *
13
+ * // Use the pre-configured default pipeline
14
+ * const tool = new DirectionsTool({ httpRequest });
15
+ * ```
16
+ *
17
+ * @example Creating a custom pipeline
18
+ * ```typescript
19
+ * import { HttpPipeline, UserAgentPolicy, RetryPolicy } from '@mapbox/mcp-server/utils';
20
+ * import { DirectionsTool } from '@mapbox/mcp-server/tools';
21
+ *
22
+ * // Create a custom pipeline with your own policies
23
+ * const pipeline = new HttpPipeline();
24
+ * pipeline.usePolicy(new UserAgentPolicy('MyApp/1.0.0'));
25
+ * pipeline.usePolicy(new RetryPolicy(5, 300, 3000)); // More aggressive retry
26
+ *
27
+ * const tool = new DirectionsTool({ httpRequest: pipeline.execute.bind(pipeline) });
28
+ * ```
29
+ */
30
+ export { httpRequest, systemHttpPipeline } from './httpPipeline.js';
31
+ export { HttpPipeline, UserAgentPolicy, RetryPolicy, TracingPolicy, type HttpPolicy } from './httpPipeline.js';
32
+ export type { HttpRequest, TracedRequestInit } from './types.js';
33
+ export { getVersionInfo } from './versionUtils.js';
34
+ export type { VersionInfo } from './versionUtils.js';
35
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAGpE,OAAO,EACL,YAAY,EACZ,eAAe,EACf,WAAW,EACX,aAAa,EACb,KAAK,UAAU,EAChB,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGjE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ // Copyright (c) Mapbox, Inc.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.getVersionInfo = exports.TracingPolicy = exports.RetryPolicy = exports.UserAgentPolicy = exports.HttpPipeline = exports.systemHttpPipeline = exports.httpRequest = void 0;
6
+ /**
7
+ * @module utils
8
+ *
9
+ * Public API for Mapbox MCP utilities. This module exports the HTTP pipeline
10
+ * system for making requests to Mapbox APIs with built-in policies like
11
+ * User-Agent, Retry, and Tracing.
12
+ *
13
+ * @example Using the default pipeline
14
+ * ```typescript
15
+ * import { httpRequest } from '@mapbox/mcp-server/utils';
16
+ * import { DirectionsTool } from '@mapbox/mcp-server/tools';
17
+ *
18
+ * // Use the pre-configured default pipeline
19
+ * const tool = new DirectionsTool({ httpRequest });
20
+ * ```
21
+ *
22
+ * @example Creating a custom pipeline
23
+ * ```typescript
24
+ * import { HttpPipeline, UserAgentPolicy, RetryPolicy } from '@mapbox/mcp-server/utils';
25
+ * import { DirectionsTool } from '@mapbox/mcp-server/tools';
26
+ *
27
+ * // Create a custom pipeline with your own policies
28
+ * const pipeline = new HttpPipeline();
29
+ * pipeline.usePolicy(new UserAgentPolicy('MyApp/1.0.0'));
30
+ * pipeline.usePolicy(new RetryPolicy(5, 300, 3000)); // More aggressive retry
31
+ *
32
+ * const tool = new DirectionsTool({ httpRequest: pipeline.execute.bind(pipeline) });
33
+ * ```
34
+ */
35
+ // Export the pre-configured default HTTP pipeline
36
+ var httpPipeline_js_1 = require("./httpPipeline.js");
37
+ Object.defineProperty(exports, "httpRequest", { enumerable: true, get: function () { return httpPipeline_js_1.httpRequest; } });
38
+ Object.defineProperty(exports, "systemHttpPipeline", { enumerable: true, get: function () { return httpPipeline_js_1.systemHttpPipeline; } });
39
+ // Export HTTP pipeline classes and interfaces for custom pipelines
40
+ var httpPipeline_js_2 = require("./httpPipeline.js");
41
+ Object.defineProperty(exports, "HttpPipeline", { enumerable: true, get: function () { return httpPipeline_js_2.HttpPipeline; } });
42
+ Object.defineProperty(exports, "UserAgentPolicy", { enumerable: true, get: function () { return httpPipeline_js_2.UserAgentPolicy; } });
43
+ Object.defineProperty(exports, "RetryPolicy", { enumerable: true, get: function () { return httpPipeline_js_2.RetryPolicy; } });
44
+ Object.defineProperty(exports, "TracingPolicy", { enumerable: true, get: function () { return httpPipeline_js_2.TracingPolicy; } });
45
+ // Export version utilities
46
+ var versionUtils_js_1 = require("./versionUtils.js");
47
+ Object.defineProperty(exports, "getVersionInfo", { enumerable: true, get: function () { return versionUtils_js_1.getVersionInfo; } });
48
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAElC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,kDAAkD;AAClD,qDAAoE;AAA3D,8GAAA,WAAW,OAAA;AAAE,qHAAA,kBAAkB,OAAA;AAExC,mEAAmE;AACnE,qDAM2B;AALzB,+GAAA,YAAY,OAAA;AACZ,kHAAA,eAAe,OAAA;AACf,8GAAA,WAAW,OAAA;AACX,gHAAA,aAAa,OAAA;AAOf,2BAA2B;AAC3B,qDAAmD;AAA1C,iHAAA,cAAc,OAAA"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Manager for temporary resources created from large tool responses.
3
+ * Resources are stored in-memory with configurable TTL.
4
+ */
5
+ export interface TemporaryResource {
6
+ id: string;
7
+ uri: string;
8
+ data: unknown;
9
+ created: number;
10
+ ttl: number;
11
+ metadata?: {
12
+ toolName?: string;
13
+ size?: number;
14
+ };
15
+ }
16
+ export declare class TemporaryResourceManager {
17
+ private defaultTTL;
18
+ private resources;
19
+ private cleanupInterval?;
20
+ constructor(defaultTTL?: number);
21
+ /**
22
+ * Create a temporary resource
23
+ */
24
+ create(id: string, uri: string, data: unknown, metadata?: TemporaryResource['metadata'], ttl?: number): TemporaryResource;
25
+ /**
26
+ * Get a resource by URI
27
+ */
28
+ get(uri: string): TemporaryResource | undefined;
29
+ /**
30
+ * Delete a resource
31
+ */
32
+ delete(uri: string): boolean;
33
+ /**
34
+ * Clean up expired resources
35
+ */
36
+ cleanup(): number;
37
+ /**
38
+ * Get count of active resources
39
+ */
40
+ count(): number;
41
+ /**
42
+ * Clear all resources
43
+ */
44
+ clear(): void;
45
+ /**
46
+ * Stop cleanup interval
47
+ */
48
+ destroy(): void;
49
+ }
50
+ export declare const temporaryResourceManager: TemporaryResourceManager;
51
+ //# sourceMappingURL=temporaryResourceManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"temporaryResourceManager.d.ts","sourceRoot":"","sources":["../../../src/utils/temporaryResourceManager.ts"],"names":[],"mappings":"AAGA;;;GAGG;AAEH,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE;QACT,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,qBAAa,wBAAwB;IAKjC,OAAO,CAAC,UAAU;IAJpB,OAAO,CAAC,SAAS,CAAwC;IACzD,OAAO,CAAC,eAAe,CAAC,CAAiB;gBAG/B,UAAU,GAAE,MAAuB;IAM7C;;OAEG;IACH,MAAM,CACJ,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,OAAO,EACb,QAAQ,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,EACxC,GAAG,CAAC,EAAE,MAAM,GACX,iBAAiB;IAcpB;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAgB/C;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI5B;;OAEG;IACH,OAAO,IAAI,MAAM;IAcjB;;OAEG;IACH,KAAK,IAAI,MAAM;IAIf;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,OAAO,IAAI,IAAI;CAOhB;AAGD,eAAO,MAAM,wBAAwB,0BAAiC,CAAC"}
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ // Copyright (c) Mapbox, Inc.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.temporaryResourceManager = exports.TemporaryResourceManager = void 0;
6
+ class TemporaryResourceManager {
7
+ defaultTTL;
8
+ resources = new Map();
9
+ cleanupInterval;
10
+ constructor(defaultTTL = 30 * 60 * 1000 // 30 minutes
11
+ ) {
12
+ this.defaultTTL = defaultTTL;
13
+ // Run cleanup every 5 minutes
14
+ this.cleanupInterval = setInterval(() => this.cleanup(), 5 * 60 * 1000);
15
+ }
16
+ /**
17
+ * Create a temporary resource
18
+ */
19
+ create(id, uri, data, metadata, ttl) {
20
+ const resource = {
21
+ id,
22
+ uri,
23
+ data,
24
+ created: Date.now(),
25
+ ttl: ttl ?? this.defaultTTL,
26
+ metadata
27
+ };
28
+ this.resources.set(uri, resource);
29
+ return resource;
30
+ }
31
+ /**
32
+ * Get a resource by URI
33
+ */
34
+ get(uri) {
35
+ const resource = this.resources.get(uri);
36
+ if (!resource) {
37
+ return undefined;
38
+ }
39
+ // Check if expired
40
+ if (Date.now() - resource.created > resource.ttl) {
41
+ this.resources.delete(uri);
42
+ return undefined;
43
+ }
44
+ return resource;
45
+ }
46
+ /**
47
+ * Delete a resource
48
+ */
49
+ delete(uri) {
50
+ return this.resources.delete(uri);
51
+ }
52
+ /**
53
+ * Clean up expired resources
54
+ */
55
+ cleanup() {
56
+ const now = Date.now();
57
+ let cleaned = 0;
58
+ for (const [uri, resource] of this.resources.entries()) {
59
+ if (now - resource.created > resource.ttl) {
60
+ this.resources.delete(uri);
61
+ cleaned++;
62
+ }
63
+ }
64
+ return cleaned;
65
+ }
66
+ /**
67
+ * Get count of active resources
68
+ */
69
+ count() {
70
+ return this.resources.size;
71
+ }
72
+ /**
73
+ * Clear all resources
74
+ */
75
+ clear() {
76
+ this.resources.clear();
77
+ }
78
+ /**
79
+ * Stop cleanup interval
80
+ */
81
+ destroy() {
82
+ if (this.cleanupInterval) {
83
+ clearInterval(this.cleanupInterval);
84
+ this.cleanupInterval = undefined;
85
+ }
86
+ this.clear();
87
+ }
88
+ }
89
+ exports.TemporaryResourceManager = TemporaryResourceManager;
90
+ // Singleton instance
91
+ exports.temporaryResourceManager = new TemporaryResourceManager();
92
+ //# sourceMappingURL=temporaryResourceManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"temporaryResourceManager.js","sourceRoot":"","sources":["../../../src/utils/temporaryResourceManager.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAmBlC,MAAa,wBAAwB;IAKzB;IAJF,SAAS,GAAG,IAAI,GAAG,EAA6B,CAAC;IACjD,eAAe,CAAkB;IAEzC,YACU,aAAqB,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,aAAa;;QAAjD,eAAU,GAAV,UAAU,CAAyB;QAE3C,8BAA8B;QAC9B,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAC1E,CAAC;IAED;;OAEG;IACH,MAAM,CACJ,EAAU,EACV,GAAW,EACX,IAAa,EACb,QAAwC,EACxC,GAAY;QAEZ,MAAM,QAAQ,GAAsB;YAClC,EAAE;YACF,GAAG;YACH,IAAI;YACJ,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE;YACnB,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,UAAU;YAC3B,QAAQ;SACT,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAClC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,GAAW;QACb,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEzC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,mBAAmB;QACnB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC;YACjD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC3B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,GAAW;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,OAAO;QACL,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,OAAO,GAAG,CAAC,CAAC;QAEhB,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;YACvD,IAAI,GAAG,GAAG,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC;gBAC1C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC3B,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,KAAK;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,OAAO;QACL,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACpC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;CACF;AArGD,4DAqGC;AAED,qBAAqB;AACR,QAAA,wBAAwB,GAAG,IAAI,wBAAwB,EAAE,CAAC"}
@@ -1,6 +1,6 @@
1
1
  {
2
- "sha": "de29efc608780d649c519de93ce8c379b8f29b9f",
3
- "tag": "v0.8.2-3-gde29efc",
4
- "branch": "main",
5
- "version": "0.8.3"
2
+ "sha": "8f2d66e102309b05d6f6a6a910a03fb63b8b12f3",
3
+ "tag": "v99.0.0-dev",
4
+ "branch": "HEAD",
5
+ "version": "99.0.0-dev"
6
6
  }
package/dist/esm/index.js CHANGED
@@ -10,6 +10,7 @@ import { existsSync } from 'node:fs';
10
10
  import { SpanStatusCode } from '@opentelemetry/api';
11
11
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
12
12
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
13
+ import { registerAppResource, RESOURCE_MIME_TYPE } from '@modelcontextprotocol/ext-apps/server';
13
14
  import { ListPromptsRequestSchema, GetPromptRequestSchema } from '@modelcontextprotocol/sdk/types.js';
14
15
  import { parseToolConfigFromArgs, filterTools } from './config/toolConfig.js';
15
16
  import { getCoreTools, getElicitationTools, getResourceFallbackTools } from './tools/toolRegistry.js';
@@ -83,8 +84,24 @@ const server = new McpServer({
83
84
  enabledCoreTools.forEach((tool) => {
84
85
  tool.installTo(server);
85
86
  });
86
- // Register all resources to the server
87
- allResources.forEach((resource) => {
87
+ // Separate MCP Apps UI resources from regular resources
88
+ const uiResources = allResources.filter((r) => r.uri.startsWith('ui://'));
89
+ const regularResources = allResources.filter((r) => !r.uri.startsWith('ui://'));
90
+ // Register MCP Apps UI resources using registerAppResource
91
+ // IMPORTANT: Use RESOURCE_MIME_TYPE which is "text/html;profile=mcp-app"
92
+ // This tells clients (like Claude Desktop) that this is an MCP App
93
+ uiResources.forEach((resource) => {
94
+ registerAppResource(
95
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
96
+ server, resource.name, resource.uri,
97
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
98
+ { mimeType: RESOURCE_MIME_TYPE, description: resource.description }, async () => {
99
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
100
+ return await resource.read(resource.uri, {});
101
+ });
102
+ });
103
+ // Register regular resources using standard registration
104
+ regularResources.forEach((resource) => {
88
105
  resource.installTo(server);
89
106
  });
90
107
  // Register prompt handlers