@mapbox/mcp-server 0.8.3 → 0.9.2-dev
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -45
- package/dist/commonjs/index.js +19 -2
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/prompts/SearchAlongRoutePrompt.js +6 -6
- package/dist/commonjs/prompts/index.d.ts +41 -0
- package/dist/commonjs/prompts/index.d.ts.map +1 -0
- package/dist/commonjs/prompts/index.js +56 -0
- package/dist/commonjs/prompts/index.js.map +1 -0
- package/dist/commonjs/resources/BaseResource.d.ts +1 -1
- package/dist/commonjs/resources/BaseResource.d.ts.map +1 -1
- package/dist/commonjs/resources/BaseResource.js +12 -2
- package/dist/commonjs/resources/BaseResource.js.map +1 -1
- package/dist/commonjs/resources/index.d.ts +10 -0
- package/dist/commonjs/resources/index.d.ts.map +1 -0
- package/dist/commonjs/resources/index.js +48 -0
- package/dist/commonjs/resources/index.js.map +1 -0
- package/dist/commonjs/resources/resourceRegistry.d.ts +4 -1
- package/dist/commonjs/resources/resourceRegistry.d.ts.map +1 -1
- package/dist/commonjs/resources/resourceRegistry.js +7 -1
- package/dist/commonjs/resources/resourceRegistry.js.map +1 -1
- package/dist/commonjs/resources/temporary/TemporaryDataResource.d.ts +13 -0
- package/dist/commonjs/resources/temporary/TemporaryDataResource.d.ts.map +1 -0
- package/dist/commonjs/resources/temporary/TemporaryDataResource.js +41 -0
- package/dist/commonjs/resources/temporary/TemporaryDataResource.js.map +1 -0
- package/dist/commonjs/resources/ui-apps/StaticMapUIResource.d.ts +15 -0
- package/dist/commonjs/resources/ui-apps/StaticMapUIResource.d.ts.map +1 -0
- package/dist/commonjs/resources/ui-apps/StaticMapUIResource.js +262 -0
- package/dist/commonjs/resources/ui-apps/StaticMapUIResource.js.map +1 -0
- package/dist/commonjs/resources/version/VersionResource.d.ts +16 -0
- package/dist/commonjs/resources/version/VersionResource.d.ts.map +1 -0
- package/dist/commonjs/resources/version/VersionResource.js +33 -0
- package/dist/commonjs/resources/version/VersionResource.js.map +1 -0
- package/dist/commonjs/tools/BaseTool.d.ts +10 -0
- package/dist/commonjs/tools/BaseTool.d.ts.map +1 -1
- package/dist/commonjs/tools/BaseTool.js +9 -4
- package/dist/commonjs/tools/BaseTool.js.map +1 -1
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.d.ts.map +1 -1
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.input.schema.d.ts +2 -2
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.js +4 -0
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.js.map +1 -1
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.d.ts +17846 -2030
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.d.ts.map +1 -1
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.js +73 -38
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.js.map +1 -1
- package/dist/commonjs/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
- package/dist/commonjs/tools/directions-tool/DirectionsTool.js +59 -2
- package/dist/commonjs/tools/directions-tool/DirectionsTool.js.map +1 -1
- package/dist/commonjs/tools/directions-tool/DirectionsTool.output.schema.d.ts +32 -32
- package/dist/commonjs/tools/index.d.ts +82 -0
- package/dist/commonjs/tools/index.d.ts.map +1 -0
- package/dist/commonjs/tools/index.js +142 -0
- package/dist/commonjs/tools/index.js.map +1 -0
- package/dist/commonjs/tools/isochrone-tool/IsochroneTool.d.ts.map +1 -1
- package/dist/commonjs/tools/isochrone-tool/IsochroneTool.js +21 -1
- package/dist/commonjs/tools/isochrone-tool/IsochroneTool.js.map +1 -1
- package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.d.ts +25 -0
- package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.d.ts.map +1 -0
- package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.input.schema.d.ts +25 -0
- package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.input.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.input.schema.js +30 -0
- package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.input.schema.js.map +1 -0
- package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.js +193 -0
- package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.js.map +1 -0
- package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.output.schema.d.ts +296 -0
- package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.output.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.output.schema.js +55 -0
- package/dist/commonjs/tools/place-details-tool/PlaceDetailsTool.output.schema.js.map +1 -0
- package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.d.ts +4 -4
- package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.d.ts +350 -350
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts.map +1 -1
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.d.ts +4 -4
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.js +4 -0
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.js.map +1 -1
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.d.ts +186 -186
- package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.d.ts +9 -0
- package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -1
- package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.input.schema.d.ts +12 -12
- package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js +19 -24
- package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -1
- package/dist/commonjs/tools/toolRegistry.d.ts +3 -3
- package/dist/commonjs/tools/toolRegistry.d.ts.map +1 -1
- package/dist/commonjs/tools/toolRegistry.js +2 -2
- package/dist/commonjs/tools/toolRegistry.js.map +1 -1
- package/dist/commonjs/utils/index.d.ts +35 -0
- package/dist/commonjs/utils/index.d.ts.map +1 -0
- package/dist/commonjs/utils/index.js +48 -0
- package/dist/commonjs/utils/index.js.map +1 -0
- package/dist/commonjs/utils/temporaryResourceManager.d.ts +51 -0
- package/dist/commonjs/utils/temporaryResourceManager.d.ts.map +1 -0
- package/dist/commonjs/utils/temporaryResourceManager.js +92 -0
- package/dist/commonjs/utils/temporaryResourceManager.js.map +1 -0
- package/dist/commonjs/version.json +4 -4
- package/dist/esm/index.js +19 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/prompts/SearchAlongRoutePrompt.js +6 -6
- package/dist/esm/prompts/index.d.ts +41 -0
- package/dist/esm/prompts/index.d.ts.map +1 -0
- package/dist/esm/prompts/index.js +47 -0
- package/dist/esm/prompts/index.js.map +1 -0
- package/dist/esm/resources/BaseResource.d.ts +1 -1
- package/dist/esm/resources/BaseResource.d.ts.map +1 -1
- package/dist/esm/resources/BaseResource.js +12 -2
- package/dist/esm/resources/BaseResource.js.map +1 -1
- package/dist/esm/resources/index.d.ts +10 -0
- package/dist/esm/resources/index.d.ts.map +1 -0
- package/dist/esm/resources/index.js +41 -0
- package/dist/esm/resources/index.js.map +1 -0
- package/dist/esm/resources/resourceRegistry.d.ts +4 -1
- package/dist/esm/resources/resourceRegistry.d.ts.map +1 -1
- package/dist/esm/resources/resourceRegistry.js +7 -1
- package/dist/esm/resources/resourceRegistry.js.map +1 -1
- package/dist/esm/resources/temporary/TemporaryDataResource.d.ts +13 -0
- package/dist/esm/resources/temporary/TemporaryDataResource.d.ts.map +1 -0
- package/dist/esm/resources/temporary/TemporaryDataResource.js +37 -0
- package/dist/esm/resources/temporary/TemporaryDataResource.js.map +1 -0
- package/dist/esm/resources/ui-apps/StaticMapUIResource.d.ts +15 -0
- package/dist/esm/resources/ui-apps/StaticMapUIResource.d.ts.map +1 -0
- package/dist/esm/resources/ui-apps/StaticMapUIResource.js +258 -0
- package/dist/esm/resources/ui-apps/StaticMapUIResource.js.map +1 -0
- package/dist/esm/resources/version/VersionResource.d.ts +16 -0
- package/dist/esm/resources/version/VersionResource.d.ts.map +1 -0
- package/dist/esm/resources/version/VersionResource.js +29 -0
- package/dist/esm/resources/version/VersionResource.js.map +1 -0
- package/dist/esm/tools/BaseTool.d.ts +10 -0
- package/dist/esm/tools/BaseTool.d.ts.map +1 -1
- package/dist/esm/tools/BaseTool.js +9 -4
- package/dist/esm/tools/BaseTool.js.map +1 -1
- package/dist/esm/tools/category-search-tool/CategorySearchTool.d.ts.map +1 -1
- package/dist/esm/tools/category-search-tool/CategorySearchTool.input.schema.d.ts +2 -2
- package/dist/esm/tools/category-search-tool/CategorySearchTool.js +4 -0
- package/dist/esm/tools/category-search-tool/CategorySearchTool.js.map +1 -1
- package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.d.ts +17846 -2030
- package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.d.ts.map +1 -1
- package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.js +73 -38
- package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.js.map +1 -1
- package/dist/esm/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
- package/dist/esm/tools/directions-tool/DirectionsTool.js +59 -2
- package/dist/esm/tools/directions-tool/DirectionsTool.js.map +1 -1
- package/dist/esm/tools/directions-tool/DirectionsTool.output.schema.d.ts +32 -32
- package/dist/esm/tools/index.d.ts +82 -0
- package/dist/esm/tools/index.d.ts.map +1 -0
- package/dist/esm/tools/index.js +114 -0
- package/dist/esm/tools/index.js.map +1 -0
- package/dist/esm/tools/isochrone-tool/IsochroneTool.d.ts.map +1 -1
- package/dist/esm/tools/isochrone-tool/IsochroneTool.js +21 -1
- package/dist/esm/tools/isochrone-tool/IsochroneTool.js.map +1 -1
- package/dist/esm/tools/place-details-tool/PlaceDetailsTool.d.ts +25 -0
- package/dist/esm/tools/place-details-tool/PlaceDetailsTool.d.ts.map +1 -0
- package/dist/esm/tools/place-details-tool/PlaceDetailsTool.input.schema.d.ts +25 -0
- package/dist/esm/tools/place-details-tool/PlaceDetailsTool.input.schema.d.ts.map +1 -0
- package/dist/esm/tools/place-details-tool/PlaceDetailsTool.input.schema.js +24 -0
- package/dist/esm/tools/place-details-tool/PlaceDetailsTool.input.schema.js.map +1 -0
- package/dist/esm/tools/place-details-tool/PlaceDetailsTool.js +189 -0
- package/dist/esm/tools/place-details-tool/PlaceDetailsTool.js.map +1 -0
- package/dist/esm/tools/place-details-tool/PlaceDetailsTool.output.schema.d.ts +296 -0
- package/dist/esm/tools/place-details-tool/PlaceDetailsTool.output.schema.d.ts.map +1 -0
- package/dist/esm/tools/place-details-tool/PlaceDetailsTool.output.schema.js +52 -0
- package/dist/esm/tools/place-details-tool/PlaceDetailsTool.output.schema.js.map +1 -0
- package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.d.ts +4 -4
- package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.d.ts +350 -350
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts.map +1 -1
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.d.ts +4 -4
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.js +4 -0
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.js.map +1 -1
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.d.ts +186 -186
- package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.d.ts +9 -0
- package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -1
- package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.input.schema.d.ts +12 -12
- package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.js +19 -24
- package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -1
- package/dist/esm/tools/toolRegistry.d.ts +3 -3
- package/dist/esm/tools/toolRegistry.d.ts.map +1 -1
- package/dist/esm/tools/toolRegistry.js +2 -2
- package/dist/esm/tools/toolRegistry.js.map +1 -1
- package/dist/esm/utils/index.d.ts +35 -0
- package/dist/esm/utils/index.d.ts.map +1 -0
- package/dist/esm/utils/index.js +38 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/temporaryResourceManager.d.ts +51 -0
- package/dist/esm/utils/temporaryResourceManager.d.ts.map +1 -0
- package/dist/esm/utils/temporaryResourceManager.js +88 -0
- package/dist/esm/utils/temporaryResourceManager.js.map +1 -0
- package/dist/esm/version.json +4 -4
- package/package.json +55 -9
- package/patches/@modelcontextprotocol+sdk+1.27.1.patch +33 -0
- package/dist/commonjs/tools/version-tool/VersionTool.d.ts +0 -18
- package/dist/commonjs/tools/version-tool/VersionTool.d.ts.map +0 -1
- package/dist/commonjs/tools/version-tool/VersionTool.input.schema.d.ts +0 -3
- package/dist/commonjs/tools/version-tool/VersionTool.input.schema.d.ts.map +0 -1
- package/dist/commonjs/tools/version-tool/VersionTool.input.schema.js +0 -8
- package/dist/commonjs/tools/version-tool/VersionTool.input.schema.js.map +0 -1
- package/dist/commonjs/tools/version-tool/VersionTool.js +0 -68
- package/dist/commonjs/tools/version-tool/VersionTool.js.map +0 -1
- package/dist/commonjs/tools/version-tool/VersionTool.output.schema.d.ts +0 -22
- package/dist/commonjs/tools/version-tool/VersionTool.output.schema.d.ts.map +0 -1
- package/dist/commonjs/tools/version-tool/VersionTool.output.schema.js +0 -15
- package/dist/commonjs/tools/version-tool/VersionTool.output.schema.js.map +0 -1
- package/dist/esm/tools/version-tool/VersionTool.d.ts +0 -18
- package/dist/esm/tools/version-tool/VersionTool.d.ts.map +0 -1
- package/dist/esm/tools/version-tool/VersionTool.input.schema.d.ts +0 -3
- package/dist/esm/tools/version-tool/VersionTool.input.schema.d.ts.map +0 -1
- package/dist/esm/tools/version-tool/VersionTool.input.schema.js +0 -5
- package/dist/esm/tools/version-tool/VersionTool.input.schema.js.map +0 -1
- package/dist/esm/tools/version-tool/VersionTool.js +0 -64
- package/dist/esm/tools/version-tool/VersionTool.js.map +0 -1
- package/dist/esm/tools/version-tool/VersionTool.output.schema.d.ts +0 -22
- package/dist/esm/tools/version-tool/VersionTool.output.schema.d.ts.map +0 -1
- package/dist/esm/tools/version-tool/VersionTool.output.schema.js +0 -12
- package/dist/esm/tools/version-tool/VersionTool.output.schema.js.map +0 -1
- 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":"
|
|
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
|
-
//
|
|
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:
|
|
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":";AAAA,6BAA6B;AAC7B,kCAAkC;;;
|
|
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,
|
|
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,
|
|
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;
|
|
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,
|
|
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"}
|
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
|
-
//
|
|
87
|
-
allResources.
|
|
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
|