@mapbox/mcp-server 0.8.2 → 0.9.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 (177) hide show
  1. package/README.md +65 -12
  2. package/dist/commonjs/index.js +98 -7
  3. package/dist/commonjs/index.js.map +1 -1
  4. package/dist/commonjs/prompts/SearchAlongRoutePrompt.d.ts +26 -0
  5. package/dist/commonjs/prompts/SearchAlongRoutePrompt.d.ts.map +1 -0
  6. package/dist/commonjs/prompts/SearchAlongRoutePrompt.js +164 -0
  7. package/dist/commonjs/prompts/SearchAlongRoutePrompt.js.map +1 -0
  8. package/dist/commonjs/prompts/index.d.ts +41 -0
  9. package/dist/commonjs/prompts/index.d.ts.map +1 -0
  10. package/dist/commonjs/prompts/index.js +56 -0
  11. package/dist/commonjs/prompts/index.js.map +1 -0
  12. package/dist/commonjs/prompts/promptRegistry.d.ts +2 -1
  13. package/dist/commonjs/prompts/promptRegistry.d.ts.map +1 -1
  14. package/dist/commonjs/prompts/promptRegistry.js +2 -0
  15. package/dist/commonjs/prompts/promptRegistry.js.map +1 -1
  16. package/dist/commonjs/resources/index.d.ts +6 -0
  17. package/dist/commonjs/resources/index.d.ts.map +1 -0
  18. package/dist/commonjs/resources/index.js +43 -0
  19. package/dist/commonjs/resources/index.js.map +1 -0
  20. package/dist/commonjs/resources/resourceRegistry.d.ts +3 -1
  21. package/dist/commonjs/resources/resourceRegistry.d.ts.map +1 -1
  22. package/dist/commonjs/resources/resourceRegistry.js +5 -1
  23. package/dist/commonjs/resources/resourceRegistry.js.map +1 -1
  24. package/dist/commonjs/resources/temporary/TemporaryDataResource.d.ts +13 -0
  25. package/dist/commonjs/resources/temporary/TemporaryDataResource.d.ts.map +1 -0
  26. package/dist/commonjs/resources/temporary/TemporaryDataResource.js +41 -0
  27. package/dist/commonjs/resources/temporary/TemporaryDataResource.js.map +1 -0
  28. package/dist/commonjs/resources/ui-apps/StaticMapUIResource.d.ts +15 -0
  29. package/dist/commonjs/resources/ui-apps/StaticMapUIResource.d.ts.map +1 -0
  30. package/dist/commonjs/resources/ui-apps/StaticMapUIResource.js +262 -0
  31. package/dist/commonjs/resources/ui-apps/StaticMapUIResource.js.map +1 -0
  32. package/dist/commonjs/tools/BaseTool.d.ts +10 -0
  33. package/dist/commonjs/tools/BaseTool.d.ts.map +1 -1
  34. package/dist/commonjs/tools/BaseTool.js +9 -4
  35. package/dist/commonjs/tools/BaseTool.js.map +1 -1
  36. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.d.ts.map +1 -1
  37. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.input.schema.d.ts +2 -2
  38. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.js +4 -0
  39. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.js.map +1 -1
  40. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.d.ts +17846 -2030
  41. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.d.ts.map +1 -1
  42. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.js +73 -38
  43. package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.js.map +1 -1
  44. package/dist/commonjs/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
  45. package/dist/commonjs/tools/directions-tool/DirectionsTool.js +59 -2
  46. package/dist/commonjs/tools/directions-tool/DirectionsTool.js.map +1 -1
  47. package/dist/commonjs/tools/directions-tool/DirectionsTool.output.schema.d.ts +32 -32
  48. package/dist/commonjs/tools/index.d.ts +86 -0
  49. package/dist/commonjs/tools/index.d.ts.map +1 -0
  50. package/dist/commonjs/tools/index.js +146 -0
  51. package/dist/commonjs/tools/index.js.map +1 -0
  52. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.d.ts +25 -0
  53. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.d.ts.map +1 -0
  54. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.input.schema.d.ts +25 -0
  55. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.input.schema.d.ts.map +1 -0
  56. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.input.schema.js +30 -0
  57. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.input.schema.js.map +1 -0
  58. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.js +193 -0
  59. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.js.map +1 -0
  60. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.output.schema.d.ts +296 -0
  61. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.output.schema.d.ts.map +1 -0
  62. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.output.schema.js +55 -0
  63. package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.output.schema.js.map +1 -0
  64. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.d.ts +4 -4
  65. package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.d.ts +350 -350
  66. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts.map +1 -1
  67. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.d.ts +4 -4
  68. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.js +4 -0
  69. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.js.map +1 -1
  70. package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.d.ts +186 -186
  71. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.d.ts +9 -0
  72. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -1
  73. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.input.schema.d.ts +12 -12
  74. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js +18 -30
  75. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -1
  76. package/dist/commonjs/tools/toolRegistry.d.ts +52 -1
  77. package/dist/commonjs/tools/toolRegistry.d.ts.map +1 -1
  78. package/dist/commonjs/tools/toolRegistry.js +70 -5
  79. package/dist/commonjs/tools/toolRegistry.js.map +1 -1
  80. package/dist/commonjs/utils/index.d.ts +33 -0
  81. package/dist/commonjs/utils/index.d.ts.map +1 -0
  82. package/dist/commonjs/utils/index.js +45 -0
  83. package/dist/commonjs/utils/index.js.map +1 -0
  84. package/dist/commonjs/utils/temporaryResourceManager.d.ts +51 -0
  85. package/dist/commonjs/utils/temporaryResourceManager.d.ts.map +1 -0
  86. package/dist/commonjs/utils/temporaryResourceManager.js +92 -0
  87. package/dist/commonjs/utils/temporaryResourceManager.js.map +1 -0
  88. package/dist/commonjs/version.json +3 -3
  89. package/dist/esm/index.js +99 -8
  90. package/dist/esm/index.js.map +1 -1
  91. package/dist/esm/prompts/SearchAlongRoutePrompt.d.ts +26 -0
  92. package/dist/esm/prompts/SearchAlongRoutePrompt.d.ts.map +1 -0
  93. package/dist/esm/prompts/SearchAlongRoutePrompt.js +160 -0
  94. package/dist/esm/prompts/SearchAlongRoutePrompt.js.map +1 -0
  95. package/dist/esm/prompts/index.d.ts +41 -0
  96. package/dist/esm/prompts/index.d.ts.map +1 -0
  97. package/dist/esm/prompts/index.js +47 -0
  98. package/dist/esm/prompts/index.js.map +1 -0
  99. package/dist/esm/prompts/promptRegistry.d.ts +2 -1
  100. package/dist/esm/prompts/promptRegistry.d.ts.map +1 -1
  101. package/dist/esm/prompts/promptRegistry.js +2 -0
  102. package/dist/esm/prompts/promptRegistry.js.map +1 -1
  103. package/dist/esm/resources/index.d.ts +6 -0
  104. package/dist/esm/resources/index.d.ts.map +1 -0
  105. package/dist/esm/resources/index.js +37 -0
  106. package/dist/esm/resources/index.js.map +1 -0
  107. package/dist/esm/resources/resourceRegistry.d.ts +3 -1
  108. package/dist/esm/resources/resourceRegistry.d.ts.map +1 -1
  109. package/dist/esm/resources/resourceRegistry.js +5 -1
  110. package/dist/esm/resources/resourceRegistry.js.map +1 -1
  111. package/dist/esm/resources/temporary/TemporaryDataResource.d.ts +13 -0
  112. package/dist/esm/resources/temporary/TemporaryDataResource.d.ts.map +1 -0
  113. package/dist/esm/resources/temporary/TemporaryDataResource.js +37 -0
  114. package/dist/esm/resources/temporary/TemporaryDataResource.js.map +1 -0
  115. package/dist/esm/resources/ui-apps/StaticMapUIResource.d.ts +15 -0
  116. package/dist/esm/resources/ui-apps/StaticMapUIResource.d.ts.map +1 -0
  117. package/dist/esm/resources/ui-apps/StaticMapUIResource.js +258 -0
  118. package/dist/esm/resources/ui-apps/StaticMapUIResource.js.map +1 -0
  119. package/dist/esm/tools/BaseTool.d.ts +10 -0
  120. package/dist/esm/tools/BaseTool.d.ts.map +1 -1
  121. package/dist/esm/tools/BaseTool.js +9 -4
  122. package/dist/esm/tools/BaseTool.js.map +1 -1
  123. package/dist/esm/tools/category-search-tool/CategorySearchTool.d.ts.map +1 -1
  124. package/dist/esm/tools/category-search-tool/CategorySearchTool.input.schema.d.ts +2 -2
  125. package/dist/esm/tools/category-search-tool/CategorySearchTool.js +4 -0
  126. package/dist/esm/tools/category-search-tool/CategorySearchTool.js.map +1 -1
  127. package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.d.ts +17846 -2030
  128. package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.d.ts.map +1 -1
  129. package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.js +73 -38
  130. package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.js.map +1 -1
  131. package/dist/esm/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
  132. package/dist/esm/tools/directions-tool/DirectionsTool.js +59 -2
  133. package/dist/esm/tools/directions-tool/DirectionsTool.js.map +1 -1
  134. package/dist/esm/tools/directions-tool/DirectionsTool.output.schema.d.ts +32 -32
  135. package/dist/esm/tools/index.d.ts +86 -0
  136. package/dist/esm/tools/index.d.ts.map +1 -0
  137. package/dist/esm/tools/index.js +118 -0
  138. package/dist/esm/tools/index.js.map +1 -0
  139. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.d.ts +25 -0
  140. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.d.ts.map +1 -0
  141. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.input.schema.d.ts +25 -0
  142. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.input.schema.d.ts.map +1 -0
  143. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.input.schema.js +24 -0
  144. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.input.schema.js.map +1 -0
  145. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.js +189 -0
  146. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.js.map +1 -0
  147. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.output.schema.d.ts +296 -0
  148. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.output.schema.d.ts.map +1 -0
  149. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.output.schema.js +52 -0
  150. package/dist/esm/tools/place-details-tool/PlaceDetailsTool.output.schema.js.map +1 -0
  151. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.d.ts +4 -4
  152. package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.d.ts +350 -350
  153. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts.map +1 -1
  154. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.d.ts +4 -4
  155. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.js +4 -0
  156. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.js.map +1 -1
  157. package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.d.ts +186 -186
  158. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.d.ts +9 -0
  159. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -1
  160. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.input.schema.d.ts +12 -12
  161. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.js +18 -30
  162. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -1
  163. package/dist/esm/tools/toolRegistry.d.ts +52 -1
  164. package/dist/esm/tools/toolRegistry.d.ts.map +1 -1
  165. package/dist/esm/tools/toolRegistry.js +66 -4
  166. package/dist/esm/tools/toolRegistry.js.map +1 -1
  167. package/dist/esm/utils/index.d.ts +33 -0
  168. package/dist/esm/utils/index.d.ts.map +1 -0
  169. package/dist/esm/utils/index.js +36 -0
  170. package/dist/esm/utils/index.js.map +1 -0
  171. package/dist/esm/utils/temporaryResourceManager.d.ts +51 -0
  172. package/dist/esm/utils/temporaryResourceManager.d.ts.map +1 -0
  173. package/dist/esm/utils/temporaryResourceManager.js +88 -0
  174. package/dist/esm/utils/temporaryResourceManager.js.map +1 -0
  175. package/dist/esm/version.json +3 -3
  176. package/package.json +54 -8
  177. /package/patches/{@modelcontextprotocol+sdk+1.25.2.patch → @modelcontextprotocol+sdk+1.26.0.patch} +0 -0
@@ -6,6 +6,7 @@ exports.getAllPrompts = getAllPrompts;
6
6
  exports.getPromptByName = getPromptByName;
7
7
  const FindPlacesNearbyPrompt_js_1 = require("./FindPlacesNearbyPrompt.js");
8
8
  const GetDirectionsPrompt_js_1 = require("./GetDirectionsPrompt.js");
9
+ const SearchAlongRoutePrompt_js_1 = require("./SearchAlongRoutePrompt.js");
9
10
  const ShowReachableAreasPrompt_js_1 = require("./ShowReachableAreasPrompt.js");
10
11
  /**
11
12
  * Central registry of all available prompts.
@@ -17,6 +18,7 @@ const ShowReachableAreasPrompt_js_1 = require("./ShowReachableAreasPrompt.js");
17
18
  const ALL_PROMPTS = [
18
19
  new FindPlacesNearbyPrompt_js_1.FindPlacesNearbyPrompt(),
19
20
  new GetDirectionsPrompt_js_1.GetDirectionsPrompt(),
21
+ new SearchAlongRoutePrompt_js_1.SearchAlongRoutePrompt(),
20
22
  new ShowReachableAreasPrompt_js_1.ShowReachableAreasPrompt()
21
23
  ];
22
24
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"promptRegistry.js","sourceRoot":"","sources":["../../../src/prompts/promptRegistry.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;AA8BlC,sCAEC;AAQD,0CAEC;AAxCD,2EAAqE;AACrE,qEAA+D;AAC/D,+EAAyE;AAEzE;;;;;GAKG;AAEH,0BAA0B;AAC1B,MAAM,WAAW,GAAG;IAClB,IAAI,kDAAsB,EAAE;IAC5B,IAAI,4CAAmB,EAAE;IACzB,IAAI,sDAAwB,EAAE;CACtB,CAAC;AAOX;;;;GAIG;AACH,SAAgB,aAAa;IAC3B,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,IAAY;IAC1C,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAC5D,CAAC"}
1
+ {"version":3,"file":"promptRegistry.js","sourceRoot":"","sources":["../../../src/prompts/promptRegistry.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;AAgClC,sCAEC;AAQD,0CAEC;AA1CD,2EAAqE;AACrE,qEAA+D;AAC/D,2EAAqE;AACrE,+EAAyE;AAEzE;;;;;GAKG;AAEH,0BAA0B;AAC1B,MAAM,WAAW,GAAG;IAClB,IAAI,kDAAsB,EAAE;IAC5B,IAAI,4CAAmB,EAAE;IACzB,IAAI,kDAAsB,EAAE;IAC5B,IAAI,sDAAwB,EAAE;CACtB,CAAC;AAOX;;;;GAIG;AACH,SAAgB,aAAa;IAC3B,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,IAAY;IAC1C,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAC5D,CAAC"}
@@ -0,0 +1,6 @@
1
+ export { CategoryListResource } from './category-list/CategoryListResource.js';
2
+ import { CategoryListResource } from './category-list/CategoryListResource.js';
3
+ /** Category list for place search (mapbox://categories) */
4
+ export declare const categoryList: CategoryListResource;
5
+ export { getAllResources, getResourceByUri, type ResourceInstance } from './resourceRegistry.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/resources/index.ts"],"names":[],"mappings":"AA+BA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAG/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAG/E,2DAA2D;AAC3D,eAAO,MAAM,YAAY,sBAA4C,CAAC;AAGtE,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ // Copyright (c) Mapbox, Inc.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.getResourceByUri = exports.getAllResources = exports.categoryList = exports.CategoryListResource = void 0;
6
+ /**
7
+ * @module resources
8
+ *
9
+ * Public API for Mapbox MCP resources. This module exports:
10
+ * - Resource classes for custom instantiation
11
+ * - Pre-configured resource instances ready to use
12
+ * - Registry functions for batch access
13
+ *
14
+ * @example Simple usage with pre-configured instances
15
+ * ```typescript
16
+ * import { categoryList } from '@mapbox/mcp-server/resources';
17
+ *
18
+ * // Use directly - httpRequest already configured
19
+ * const result = await categoryList.read();
20
+ * ```
21
+ *
22
+ * @example Advanced usage with custom pipeline
23
+ * ```typescript
24
+ * import { CategoryListResource } from '@mapbox/mcp-server/resources';
25
+ * import { httpRequest } from '@mapbox/mcp-server/utils';
26
+ *
27
+ * const customResource = new CategoryListResource({ httpRequest });
28
+ * ```
29
+ */
30
+ const httpPipeline_js_1 = require("../utils/httpPipeline.js");
31
+ // Export all resource classes
32
+ var CategoryListResource_js_1 = require("./category-list/CategoryListResource.js");
33
+ Object.defineProperty(exports, "CategoryListResource", { enumerable: true, get: function () { return CategoryListResource_js_1.CategoryListResource; } });
34
+ // Import resource classes for instantiation
35
+ const CategoryListResource_js_2 = require("./category-list/CategoryListResource.js");
36
+ // Export pre-configured resource instances with short, clean names
37
+ /** Category list for place search (mapbox://categories) */
38
+ exports.categoryList = new CategoryListResource_js_2.CategoryListResource({ httpRequest: httpPipeline_js_1.httpRequest });
39
+ // Export registry functions for batch access
40
+ var resourceRegistry_js_1 = require("./resourceRegistry.js");
41
+ Object.defineProperty(exports, "getAllResources", { enumerable: true, get: function () { return resourceRegistry_js_1.getAllResources; } });
42
+ Object.defineProperty(exports, "getResourceByUri", { enumerable: true, get: function () { return resourceRegistry_js_1.getResourceByUri; } });
43
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/resources/index.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAElC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,8DAAuD;AAEvD,8BAA8B;AAC9B,mFAA+E;AAAtE,+HAAA,oBAAoB,OAAA;AAE7B,4CAA4C;AAC5C,qFAA+E;AAE/E,mEAAmE;AACnE,2DAA2D;AAC9C,QAAA,YAAY,GAAG,IAAI,8CAAoB,CAAC,EAAE,WAAW,EAAX,6BAAW,EAAE,CAAC,CAAC;AAEtE,6CAA6C;AAC7C,6DAI+B;AAH7B,sHAAA,eAAe,OAAA;AACf,uHAAA,gBAAgB,OAAA"}
@@ -1,5 +1,7 @@
1
1
  import { CategoryListResource } from './category-list/CategoryListResource.js';
2
- export declare const ALL_RESOURCES: readonly [CategoryListResource];
2
+ import { TemporaryDataResource } from './temporary/TemporaryDataResource.js';
3
+ import { StaticMapUIResource } from './ui-apps/StaticMapUIResource.js';
4
+ export declare const ALL_RESOURCES: readonly [CategoryListResource, TemporaryDataResource, StaticMapUIResource];
3
5
  export type ResourceInstance = (typeof ALL_RESOURCES)[number];
4
6
  export declare function getAllResources(): readonly ResourceInstance[];
5
7
  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;AAI/E,eAAO,MAAM,aAAa,iCAGhB,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,CAY1E"}
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,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAIvE,eAAO,MAAM,aAAa,6EAKhB,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,CAY1E"}
@@ -7,11 +7,15 @@ exports.getAllResources = getAllResources;
7
7
  exports.getResourceByUri = getResourceByUri;
8
8
  // INSERT NEW RESOURCE IMPORT HERE
9
9
  const CategoryListResource_js_1 = require("./category-list/CategoryListResource.js");
10
+ const TemporaryDataResource_js_1 = require("./temporary/TemporaryDataResource.js");
11
+ const StaticMapUIResource_js_1 = require("./ui-apps/StaticMapUIResource.js");
10
12
  const httpPipeline_js_1 = require("../utils/httpPipeline.js");
11
13
  // Central registry of all resources
12
14
  exports.ALL_RESOURCES = [
13
15
  // INSERT NEW RESOURCE INSTANCE HERE
14
- new CategoryListResource_js_1.CategoryListResource({ httpRequest: httpPipeline_js_1.httpRequest })
16
+ new CategoryListResource_js_1.CategoryListResource({ httpRequest: httpPipeline_js_1.httpRequest }),
17
+ new TemporaryDataResource_js_1.TemporaryDataResource(),
18
+ new StaticMapUIResource_js_1.StaticMapUIResource()
15
19
  ];
16
20
  function getAllResources() {
17
21
  return exports.ALL_RESOURCES;
@@ -1 +1 @@
1
- {"version":3,"file":"resourceRegistry.js","sourceRoot":"","sources":["../../../src/resources/resourceRegistry.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAclC,0CAEC;AAED,4CAYC;AA5BD,kCAAkC;AAClC,qFAA+E;AAC/E,8DAAuD;AAEvD,oCAAoC;AACvB,QAAA,aAAa,GAAG;IAC3B,oCAAoC;IACpC,IAAI,8CAAoB,CAAC,EAAE,WAAW,EAAX,6BAAW,EAAE,CAAC;CACjC,CAAC;AAIX,SAAgB,eAAe;IAC7B,OAAO,qBAAa,CAAC;AACvB,CAAC;AAED,SAAgB,gBAAgB,CAAC,GAAW;IAC1C,yBAAyB;IACzB,MAAM,UAAU,GAAG,qBAAa,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,OAAO,qBAAa,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;QACrC,uDAAuD;QACvD,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;QAC5C,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"resourceRegistry.js","sourceRoot":"","sources":["../../../src/resources/resourceRegistry.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAkBlC,0CAEC;AAED,4CAYC;AAhCD,kCAAkC;AAClC,qFAA+E;AAC/E,mFAA6E;AAC7E,6EAAuE;AACvE,8DAAuD;AAEvD,oCAAoC;AACvB,QAAA,aAAa,GAAG;IAC3B,oCAAoC;IACpC,IAAI,8CAAoB,CAAC,EAAE,WAAW,EAAX,6BAAW,EAAE,CAAC;IACzC,IAAI,gDAAqB,EAAE;IAC3B,IAAI,4CAAmB,EAAE;CACjB,CAAC;AAIX,SAAgB,eAAe;IAC7B,OAAO,qBAAa,CAAC;AACvB,CAAC;AAED,SAAgB,gBAAgB,CAAC,GAAW;IAC1C,yBAAyB;IACzB,MAAM,UAAU,GAAG,qBAAa,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,OAAO,qBAAa,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;QACrC,uDAAuD;QACvD,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;QAC5C,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { BaseResource } from '../BaseResource.js';
2
+ import type { ReadResourceResult } from '@modelcontextprotocol/sdk/types.js';
3
+ /**
4
+ * Resource for temporary data storage (large tool responses)
5
+ */
6
+ export declare class TemporaryDataResource extends BaseResource {
7
+ readonly name = "Temporary Data";
8
+ readonly uri = "mapbox://temp/{id}";
9
+ readonly description = "Temporary storage for large tool responses. Data expires after TTL.";
10
+ readonly mimeType = "application/json";
11
+ read(uri: string): Promise<ReadResourceResult>;
12
+ }
13
+ //# sourceMappingURL=TemporaryDataResource.d.ts.map
@@ -0,0 +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,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAG7E;;GAEG;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,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAyBrD"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ // Copyright (c) Mapbox, Inc.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.TemporaryDataResource = void 0;
6
+ const BaseResource_js_1 = require("../BaseResource.js");
7
+ const temporaryResourceManager_js_1 = require("../../utils/temporaryResourceManager.js");
8
+ /**
9
+ * Resource for temporary data storage (large tool responses)
10
+ */
11
+ class TemporaryDataResource extends BaseResource_js_1.BaseResource {
12
+ name = 'Temporary Data';
13
+ uri = 'mapbox://temp/{id}';
14
+ description = 'Temporary storage for large tool responses. Data expires after TTL.';
15
+ mimeType = 'application/json';
16
+ async read(uri) {
17
+ const resource = temporaryResourceManager_js_1.temporaryResourceManager.get(uri);
18
+ if (!resource) {
19
+ return {
20
+ contents: [
21
+ {
22
+ uri: uri,
23
+ mimeType: 'text/plain',
24
+ text: 'Resource not found or expired. Temporary resources have a 30-minute TTL.'
25
+ }
26
+ ]
27
+ };
28
+ }
29
+ return {
30
+ contents: [
31
+ {
32
+ uri: uri,
33
+ mimeType: this.mimeType,
34
+ text: JSON.stringify(resource.data, null, 2)
35
+ }
36
+ ]
37
+ };
38
+ }
39
+ }
40
+ exports.TemporaryDataResource = TemporaryDataResource;
41
+ //# sourceMappingURL=TemporaryDataResource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TemporaryDataResource.js","sourceRoot":"","sources":["../../../../src/resources/temporary/TemporaryDataResource.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAElC,wDAAkD;AAElD,yFAAmF;AAEnF;;GAEG;AACH,MAAa,qBAAsB,SAAQ,8BAAY;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,CAAC,GAAW;QACpB,MAAM,QAAQ,GAAG,sDAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEnD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;gBACL,QAAQ,EAAE;oBACR;wBACE,GAAG,EAAE,GAAG;wBACR,QAAQ,EAAE,YAAY;wBACtB,IAAI,EAAE,0EAA0E;qBACjF;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;AAhCD,sDAgCC"}
@@ -0,0 +1,15 @@
1
+ import type { RequestHandlerExtra } from '@modelcontextprotocol/sdk/shared/protocol.js';
2
+ import type { ReadResourceResult, ServerNotification, ServerRequest } from '@modelcontextprotocol/sdk/types.js';
3
+ import { BaseResource } from '../BaseResource.js';
4
+ /**
5
+ * Serves UI App HTML for Static Map Preview
6
+ * Implements MCP Apps pattern with ui:// scheme
7
+ */
8
+ export declare class StaticMapUIResource extends BaseResource {
9
+ readonly name = "Static Map Preview UI";
10
+ readonly uri = "ui://mapbox/static-map/index.html";
11
+ readonly description = "Interactive UI for previewing static map images (MCP Apps)";
12
+ readonly mimeType = "text/html;profile=mcp-app";
13
+ read(_uri: string, _extra?: RequestHandlerExtra<ServerRequest, ServerNotification>): Promise<ReadResourceResult>;
14
+ }
15
+ //# sourceMappingURL=StaticMapUIResource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StaticMapUIResource.d.ts","sourceRoot":"","sources":["../../../../src/resources/ui-apps/StaticMapUIResource.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;AAElD;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,YAAY;IACnD,QAAQ,CAAC,IAAI,2BAA2B;IACxC,QAAQ,CAAC,GAAG,uCAAuC;IACnD,QAAQ,CAAC,WAAW,gEAC2C;IAC/D,QAAQ,CAAC,QAAQ,+BAAsB;IAEjC,IAAI,CAER,IAAI,EAAE,MAAM,EAEZ,MAAM,CAAC,EAAE,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,GAC9D,OAAO,CAAC,kBAAkB,CAAC;CAgP/B"}
@@ -0,0 +1,262 @@
1
+ "use strict";
2
+ // Copyright (c) Mapbox, Inc.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.StaticMapUIResource = void 0;
6
+ const server_1 = require("@modelcontextprotocol/ext-apps/server");
7
+ const BaseResource_js_1 = require("../BaseResource.js");
8
+ /**
9
+ * Serves UI App HTML for Static Map Preview
10
+ * Implements MCP Apps pattern with ui:// scheme
11
+ */
12
+ class StaticMapUIResource extends BaseResource_js_1.BaseResource {
13
+ name = 'Static Map Preview UI';
14
+ uri = 'ui://mapbox/static-map/index.html';
15
+ description = 'Interactive UI for previewing static map images (MCP Apps)';
16
+ mimeType = server_1.RESOURCE_MIME_TYPE;
17
+ async read(
18
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
19
+ _uri,
20
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
21
+ _extra) {
22
+ // Generate HTML for static map visualization with MCP Apps protocol support
23
+ const html = `<!DOCTYPE html>
24
+ <html>
25
+ <head>
26
+ <meta charset="UTF-8">
27
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
28
+ <title>Static Map Preview</title>
29
+ <style>
30
+ * { margin: 0; padding: 0; box-sizing: border-box; }
31
+ body {
32
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
33
+ background: #000;
34
+ }
35
+ #toolbar {
36
+ display: none;
37
+ align-items: center;
38
+ justify-content: flex-end;
39
+ padding: 6px 10px;
40
+ background: rgba(0, 0, 0, 0.7);
41
+ gap: 8px;
42
+ }
43
+ #toolbar.visible { display: flex; }
44
+ #fullscreen-btn {
45
+ background: rgba(255, 255, 255, 0.15);
46
+ border: 1px solid rgba(255, 255, 255, 0.3);
47
+ color: #fff;
48
+ padding: 4px 12px;
49
+ border-radius: 4px;
50
+ cursor: pointer;
51
+ font-size: 12px;
52
+ }
53
+ #fullscreen-btn:hover { background: rgba(255, 255, 255, 0.25); }
54
+ #image-container {
55
+ position: relative;
56
+ }
57
+ #preview-image {
58
+ display: none;
59
+ max-width: 100%;
60
+ width: 100%;
61
+ cursor: zoom-in;
62
+ }
63
+ #preview-image.zoomed {
64
+ cursor: zoom-out;
65
+ max-width: none;
66
+ width: auto;
67
+ }
68
+ #loading {
69
+ padding: 20px;
70
+ color: #fff;
71
+ font-size: 16px;
72
+ }
73
+ #error {
74
+ padding: 20px;
75
+ color: #ff6b6b;
76
+ text-align: center;
77
+ }
78
+ </style>
79
+ </head>
80
+ <body>
81
+ <div id="toolbar">
82
+ <button id="fullscreen-btn">⛶ Fullscreen</button>
83
+ </div>
84
+ <div id="image-container">
85
+ <div id="loading">Loading static map preview...</div>
86
+ <img id="preview-image" alt="Static Map Preview">
87
+ <div id="error" style="display:none"></div>
88
+ </div>
89
+
90
+ <script type="module">
91
+ const image = document.getElementById('preview-image');
92
+ const loading = document.getElementById('loading');
93
+ const errorDiv = document.getElementById('error');
94
+ const toolbar = document.getElementById('toolbar');
95
+ const fullscreenBtn = document.getElementById('fullscreen-btn');
96
+
97
+ let isZoomed = false;
98
+ let currentDisplayMode = 'inline';
99
+ let canFullscreen = false;
100
+
101
+ image.addEventListener('click', () => {
102
+ isZoomed = !isZoomed;
103
+ image.classList.toggle('zoomed', isZoomed);
104
+ });
105
+
106
+ let messageId = 0;
107
+ const pendingRequests = new Map();
108
+
109
+ function sendRequest(method, params = {}) {
110
+ const id = ++messageId;
111
+ window.parent.postMessage({ jsonrpc: '2.0', id, method, params }, '*');
112
+ return new Promise((resolve, reject) => {
113
+ pendingRequests.set(id, { resolve, reject });
114
+ });
115
+ }
116
+
117
+ function sendNotification(method, params = {}) {
118
+ window.parent.postMessage({ jsonrpc: '2.0', method, params }, '*');
119
+ }
120
+
121
+ function requestSizeToFit() {
122
+ if (currentDisplayMode !== 'inline') return;
123
+ // Use requestAnimationFrame to measure after layout so we get the
124
+ // actual rendered height (constrained by max-width:100%), not natural px
125
+ requestAnimationFrame(() => {
126
+ const toolbarHeight = canFullscreen ? toolbar.offsetHeight : 0;
127
+ sendNotification('ui/notifications/size-changed', {
128
+ height: Math.round(image.getBoundingClientRect().height) + toolbarHeight
129
+ });
130
+ });
131
+ }
132
+
133
+ function updateFullscreenButton() {
134
+ fullscreenBtn.textContent =
135
+ currentDisplayMode === 'fullscreen' ? '⊟ Exit Fullscreen' : '⛶ Fullscreen';
136
+ }
137
+
138
+ async function toggleFullscreen() {
139
+ const newMode = currentDisplayMode === 'fullscreen' ? 'inline' : 'fullscreen';
140
+ try {
141
+ const result = await sendRequest('ui/request-display-mode', { mode: newMode });
142
+ currentDisplayMode = result?.mode ?? newMode;
143
+ updateFullscreenButton();
144
+ if (currentDisplayMode === 'inline') requestSizeToFit();
145
+ } catch (e) {
146
+ console.error('Failed to change display mode:', e);
147
+ }
148
+ }
149
+
150
+ fullscreenBtn.addEventListener('click', toggleFullscreen);
151
+
152
+ window.addEventListener('message', (event) => {
153
+ const message = event.data;
154
+ if (!message || typeof message !== 'object') return;
155
+
156
+ if (message.id !== undefined && pendingRequests.has(message.id)) {
157
+ const { resolve, reject } = pendingRequests.get(message.id);
158
+ pendingRequests.delete(message.id);
159
+ if (message.error) reject(new Error(message.error.message));
160
+ else resolve(message.result);
161
+ return;
162
+ }
163
+
164
+ if (message.method === 'ui/notifications/tool-result') {
165
+ if (message.params) handleToolResult(message.params);
166
+ }
167
+
168
+ if (message.method === 'ui/notifications/host-context-changed') {
169
+ const ctx = message.params;
170
+ if (ctx?.displayMode) {
171
+ currentDisplayMode = ctx.displayMode;
172
+ updateFullscreenButton();
173
+ if (currentDisplayMode === 'inline' && image.style.display !== 'none') {
174
+ requestSizeToFit();
175
+ }
176
+ }
177
+ }
178
+ });
179
+
180
+ async function handleToolResult(result) {
181
+ const textContent = result.content?.find(c => c.type === 'text');
182
+ if (!textContent?.text) {
183
+ loading.style.display = 'none';
184
+ errorDiv.textContent = 'No URL found in tool result';
185
+ errorDiv.style.display = 'block';
186
+ return;
187
+ }
188
+
189
+ const url = textContent.text;
190
+ if (!url.includes('api.mapbox.com/styles/') || !url.includes('/static/')) {
191
+ loading.style.display = 'none';
192
+ errorDiv.textContent = 'Unsupported URL format';
193
+ errorDiv.style.display = 'block';
194
+ return;
195
+ }
196
+
197
+ loading.textContent = 'Fetching map from Mapbox...';
198
+ try {
199
+ const response = await fetch(url);
200
+ if (!response.ok) throw new Error('HTTP ' + response.status);
201
+ const blob = await response.blob();
202
+ const blobUrl = URL.createObjectURL(blob);
203
+
204
+ image.onload = () => {
205
+ loading.style.display = 'none';
206
+ image.style.display = 'block';
207
+ if (canFullscreen) toolbar.classList.add('visible');
208
+ requestSizeToFit();
209
+ };
210
+ image.src = blobUrl;
211
+ } catch (error) {
212
+ loading.style.display = 'none';
213
+ errorDiv.textContent = 'Failed to load image: ' + error.message;
214
+ errorDiv.style.display = 'block';
215
+ }
216
+ }
217
+
218
+ async function init() {
219
+ try {
220
+ const result = await sendRequest('ui/initialize', {
221
+ protocolVersion: '2026-01-26',
222
+ appCapabilities: {},
223
+ appInfo: { name: 'Static Map Preview', version: '1.0.0' }
224
+ });
225
+
226
+ sendNotification('ui/notifications/initialized', {});
227
+
228
+ const hostContext = result?.hostContext;
229
+ currentDisplayMode = hostContext?.displayMode ?? 'inline';
230
+ canFullscreen = hostContext?.availableDisplayModes?.includes('fullscreen') ?? false;
231
+ } catch (error) {
232
+ console.error('Failed to connect to MCP host:', error);
233
+ loading.textContent = 'Failed to connect: ' + error.message;
234
+ loading.style.color = '#cc0000';
235
+ }
236
+ }
237
+
238
+ init();
239
+ </script>
240
+ </body>
241
+ </html>`;
242
+ return {
243
+ contents: [
244
+ {
245
+ uri: this.uri,
246
+ mimeType: server_1.RESOURCE_MIME_TYPE,
247
+ text: html,
248
+ _meta: {
249
+ ui: {
250
+ csp: {
251
+ connectDomains: ['https://api.mapbox.com'],
252
+ resourceDomains: ['https://api.mapbox.com']
253
+ }
254
+ }
255
+ }
256
+ }
257
+ ]
258
+ };
259
+ }
260
+ }
261
+ exports.StaticMapUIResource = StaticMapUIResource;
262
+ //# sourceMappingURL=StaticMapUIResource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StaticMapUIResource.js","sourceRoot":"","sources":["../../../../src/resources/ui-apps/StaticMapUIResource.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAQlC,kEAA2E;AAC3E,wDAAkD;AAElD;;;GAGG;AACH,MAAa,mBAAoB,SAAQ,8BAAY;IAC1C,IAAI,GAAG,uBAAuB,CAAC;IAC/B,GAAG,GAAG,mCAAmC,CAAC;IAC1C,WAAW,GAClB,4DAA4D,CAAC;IACtD,QAAQ,GAAG,2BAAkB,CAAC;IAEvC,KAAK,CAAC,IAAI;IACR,6DAA6D;IAC7D,IAAY;IACZ,6DAA6D;IAC7D,MAA+D;QAE/D,4EAA4E;QAC5E,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA0NT,CAAC;QAEL,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,QAAQ,EAAE,2BAAkB;oBAC5B,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE;wBACL,EAAE,EAAE;4BACF,GAAG,EAAE;gCACH,cAAc,EAAE,CAAC,wBAAwB,CAAC;gCAC1C,eAAe,EAAE,CAAC,wBAAwB,CAAC;6BAC5C;yBACF;qBACF;iBACF;aACF;SACF,CAAC;IACJ,CAAC;CACF;AA5PD,kDA4PC"}
@@ -8,6 +8,16 @@ export declare abstract class BaseTool<InputSchema extends ZodTypeAny, OutputSch
8
8
  abstract readonly annotations: ToolAnnotations;
9
9
  readonly inputSchema: InputSchema;
10
10
  readonly outputSchema?: OutputSchema;
11
+ readonly meta?: {
12
+ ui?: {
13
+ resourceUri?: string;
14
+ csp?: {
15
+ connectDomains?: string[];
16
+ resourceDomains?: string[];
17
+ frameDomains?: string[];
18
+ };
19
+ };
20
+ };
11
21
  protected server: McpServer | null;
12
22
  constructor(params: {
13
23
  inputSchema: InputSchema;
@@ -1 +1 @@
1
- {"version":3,"file":"BaseTool.d.ts","sourceRoot":"","sources":["../../../src/tools/BaseTool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,SAAS,EACT,cAAc,EACf,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACf,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAGtC,8BAAsB,QAAQ,CAC5B,WAAW,SAAS,UAAU,EAC9B,YAAY,SAAS,UAAU,GAAG,UAAU;IAE5C,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IAE/C,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IACrC,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAQ;gBAE9B,MAAM,EAAE;QAClB,WAAW,EAAE,WAAW,CAAC;QACzB,YAAY,CAAC,EAAE,YAAY,CAAC;KAC7B;IAKD;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,cAAc;IAkC5C;;OAEG;IACH,QAAQ,CAAC,GAAG,CACV,QAAQ,EAAE,OAAO,EAEjB,KAAK,CAAC,EAAE,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,GACpC,OAAO,CAAC,cAAc,CAAC;IAE1B;;OAEG;IACH,SAAS,CAAC,GAAG,CACX,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,EAC7C,IAAI,EAAE,OAAO,GACZ,IAAI;IAMP;;;;;OAKG;IACH,SAAS,CAAC,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,CAAC;CAgBjD"}
1
+ {"version":3,"file":"BaseTool.d.ts","sourceRoot":"","sources":["../../../src/tools/BaseTool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,SAAS,EACT,cAAc,EACf,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACf,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAGtC,8BAAsB,QAAQ,CAC5B,WAAW,SAAS,UAAU,EAC9B,YAAY,SAAS,UAAU,GAAG,UAAU;IAE5C,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IAE/C,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IACrC,QAAQ,CAAC,IAAI,CAAC,EAAE;QACd,EAAE,CAAC,EAAE;YACH,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,GAAG,CAAC,EAAE;gBACJ,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;gBAC1B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;gBAC3B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;aACzB,CAAC;SACH,CAAC;KACH,CAAC;IACF,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAQ;gBAE9B,MAAM,EAAE;QAClB,WAAW,EAAE,WAAW,CAAC;QACzB,YAAY,CAAC,EAAE,YAAY,CAAC;KAC7B;IAKD;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,cAAc;IAiD5C;;OAEG;IACH,QAAQ,CAAC,GAAG,CACV,QAAQ,EAAE,OAAO,EAEjB,KAAK,CAAC,EAAE,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,GACpC,OAAO,CAAC,cAAc,CAAC;IAE1B;;OAEG;IACH,SAAS,CAAC,GAAG,CACX,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,EAC7C,IAAI,EAAE,OAAO,GACZ,IAAI;IAMP;;;;;OAKG;IACH,SAAS,CAAC,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,CAAC;CAgBjD"}
@@ -6,6 +6,7 @@ exports.BaseTool = void 0;
6
6
  class BaseTool {
7
7
  inputSchema;
8
8
  outputSchema;
9
+ meta;
9
10
  server = null;
10
11
  constructor(params) {
11
12
  this.inputSchema = params.inputSchema;
@@ -23,11 +24,15 @@ class BaseTool {
23
24
  inputSchema: this.inputSchema.shape,
24
25
  annotations: this.annotations
25
26
  };
26
- // Add outputSchema if provided
27
+ // Add outputSchema if provided — pass the full Zod schema (not just .shape)
28
+ // so that .passthrough() and other schema-level settings are preserved when
29
+ // the MCP SDK converts it for structured-content validation.
27
30
  if (this.outputSchema) {
28
- config.outputSchema =
29
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
30
- this.outputSchema.shape;
31
+ config.outputSchema = this.outputSchema;
32
+ }
33
+ // Add _meta for MCP Apps support if provided (includes CSP configuration)
34
+ if (this.meta) {
35
+ config._meta = this.meta;
31
36
  }
32
37
  return server.registerTool(this.name, config,
33
38
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -1 +1 @@
1
- {"version":3,"file":"BaseTool.js","sourceRoot":"","sources":["../../../src/tools/BaseTool.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAclC,MAAsB,QAAQ;IAQnB,WAAW,CAAc;IACzB,YAAY,CAAgB;IAC3B,MAAM,GAAqB,IAAI,CAAC;IAE1C,YAAY,MAGX;QACC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,MAAiB;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,MAAM,MAAM,GAQR;YACF,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK;YAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,8DAA8D;YAC9D,WAAW,EAAG,IAAI,CAAC,WAA2C,CAAC,KAAK;YACpE,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC;QAEF,+BAA+B;QAC/B,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,MAAM,CAAC,YAAY;gBACjB,8DAA8D;gBAC7D,IAAI,CAAC,YAA4C,CAAC,KAAK,CAAC;QAC7D,CAAC;QAED,OAAO,MAAM,CAAC,YAAY,CACxB,IAAI,CAAC,IAAI,EACT,MAAM;QACN,8DAA8D;QAC9D,CAAC,IAAS,EAAE,KAAU,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CACjD,CAAC;IACJ,CAAC;IAWD;;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;IAED;;;;;OAKG;IACO,cAAc,CAAI,OAAgB;QAC1C,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,OAAO,OAAY,CAAC;QACtB,CAAC;QAED,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAM,CAAC;QAC/C,CAAC;QAAC,OAAO,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,GAAG,CACN,SAAS,EACT,GAAG,IAAI,CAAC,IAAI,sCAAsC,eAAe,YAAY,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B,EAAE,CAC5I,CAAC;YACF,gCAAgC;YAChC,OAAO,OAAY,CAAC;QACtB,CAAC;IACH,CAAC;CACF;AApGD,4BAoGC"}
1
+ {"version":3,"file":"BaseTool.js","sourceRoot":"","sources":["../../../src/tools/BaseTool.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAclC,MAAsB,QAAQ;IAQnB,WAAW,CAAc;IACzB,YAAY,CAAgB;IAC5B,IAAI,CASX;IACQ,MAAM,GAAqB,IAAI,CAAC;IAE1C,YAAY,MAGX;QACC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,MAAiB;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,MAAM,MAAM,GAkBR;YACF,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK;YAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,8DAA8D;YAC9D,WAAW,EAAG,IAAI,CAAC,WAA2C,CAAC,KAAK;YACpE,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC;QAEF,4EAA4E;QAC5E,4EAA4E;QAC5E,6DAA6D;QAC7D,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC1C,CAAC;QAED,0EAA0E;QAC1E,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;QAC3B,CAAC;QAED,OAAO,MAAM,CAAC,YAAY,CACxB,IAAI,CAAC,IAAI,EACT,MAAM;QACN,8DAA8D;QAC9D,CAAC,IAAS,EAAE,KAAU,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CACjD,CAAC;IACJ,CAAC;IAWD;;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;IAED;;;;;OAKG;IACO,cAAc,CAAI,OAAgB;QAC1C,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,OAAO,OAAY,CAAC;QACtB,CAAC;QAED,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAM,CAAC;QAC/C,CAAC;QAAC,OAAO,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,GAAG,CACN,SAAS,EACT,GAAG,IAAI,CAAC,IAAI,sCAAsC,eAAe,YAAY,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B,EAAE,CAC5I,CAAC;YACF,gCAAgC;YAChC,OAAO,OAAY,CAAC;QACtB,CAAC;IACH,CAAC;CACF;AA7HD,4BA6HC"}
@@ -1 +1 @@
1
- {"version":3,"file":"CategorySearchTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/category-search-tool/CategorySearchTool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAQrF,qBAAa,kBAAmB,SAAQ,kBAAkB,CACxD,OAAO,yBAAyB,EAChC,OAAO,4BAA4B,CACpC;IACC,IAAI,SAA0B;IAC9B,WAAW,SACoX;IAC/X,WAAW;;;;;;MAMT;gBAEU,MAAM,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE;IAQhD,OAAO,CAAC,mBAAmB;cAwDX,OAAO,CACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,EAChD,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,cAAc,CAAC;CA8F3B"}
1
+ {"version":3,"file":"CategorySearchTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/category-search-tool/CategorySearchTool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAQrF,qBAAa,kBAAmB,SAAQ,kBAAkB,CACxD,OAAO,yBAAyB,EAChC,OAAO,4BAA4B,CACpC;IACC,IAAI,SAA0B;IAC9B,WAAW,SACoX;IAC/X,WAAW;;;;;;MAMT;gBAEU,MAAM,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE;IAQhD,OAAO,CAAC,mBAAmB;cA6DX,OAAO,CACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,EAChD,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,cAAc,CAAC;CA8F3B"}
@@ -36,13 +36,13 @@ export declare const CategorySearchInputSchema: z.ZodObject<{
36
36
  limit: number;
37
37
  category: string;
38
38
  format: "json_string" | "formatted_text";
39
+ language?: string | undefined;
39
40
  bbox?: {
40
41
  minLongitude: number;
41
42
  minLatitude: number;
42
43
  maxLongitude: number;
43
44
  maxLatitude: number;
44
45
  } | undefined;
45
- language?: string | undefined;
46
46
  proximity?: {
47
47
  longitude: number;
48
48
  latitude: number;
@@ -51,13 +51,13 @@ export declare const CategorySearchInputSchema: z.ZodObject<{
51
51
  poi_category_exclusions?: string[] | undefined;
52
52
  }, {
53
53
  category: string;
54
+ language?: string | undefined;
54
55
  bbox?: {
55
56
  minLongitude: number;
56
57
  minLatitude: number;
57
58
  maxLongitude: number;
58
59
  maxLatitude: number;
59
60
  } | undefined;
60
- language?: string | undefined;
61
61
  limit?: number | undefined;
62
62
  proximity?: {
63
63
  longitude: number;
@@ -62,6 +62,10 @@ class CategorySearchTool extends MapboxApiBasedTool_js_1.MapboxApiBasedTool {
62
62
  else if (props.category) {
63
63
  result += `\n Category: ${props.category}`;
64
64
  }
65
+ // Mapbox ID — required for place_details_tool lookups
66
+ if (props.mapbox_id) {
67
+ result += `\n Mapbox ID: ${props.mapbox_id}`;
68
+ }
65
69
  return result;
66
70
  });
67
71
  return results.join('\n\n');
@@ -1 +1 @@
1
- {"version":3,"file":"CategorySearchTool.js","sourceRoot":"","sources":["../../../../src/tools/category-search-tool/CategorySearchTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CategorySearchTool.js","sourceRoot":"","sources":["../../../../src/tools/category-search-tool/CategorySearchTool.ts"],"names":[],"mappings":"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"}