@mapbox/mcp-server 0.5.5 → 0.8.1-dev.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.
- package/README.md +173 -13
- package/dist/commonjs/config/toolConfig.d.ts +10 -0
- package/dist/commonjs/config/toolConfig.d.ts.map +1 -1
- package/dist/commonjs/config/toolConfig.js +36 -0
- package/dist/commonjs/config/toolConfig.js.map +1 -1
- package/dist/commonjs/index.d.ts +1 -1
- package/dist/commonjs/index.d.ts.map +1 -1
- package/dist/commonjs/index.js +201 -5
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/prompts/BasePrompt.d.ts +40 -0
- package/dist/commonjs/prompts/BasePrompt.d.ts.map +1 -0
- package/dist/commonjs/prompts/BasePrompt.js +38 -0
- package/dist/commonjs/prompts/BasePrompt.js.map +1 -0
- package/dist/commonjs/prompts/FindPlacesNearbyPrompt.d.ts +22 -0
- package/dist/commonjs/prompts/FindPlacesNearbyPrompt.d.ts.map +1 -0
- package/dist/commonjs/prompts/FindPlacesNearbyPrompt.js +65 -0
- package/dist/commonjs/prompts/FindPlacesNearbyPrompt.js.map +1 -0
- package/dist/commonjs/prompts/GetDirectionsPrompt.d.ts +23 -0
- package/dist/commonjs/prompts/GetDirectionsPrompt.d.ts.map +1 -0
- package/dist/commonjs/prompts/GetDirectionsPrompt.js +67 -0
- package/dist/commonjs/prompts/GetDirectionsPrompt.js.map +1 -0
- package/dist/commonjs/prompts/ShowReachableAreasPrompt.d.ts +23 -0
- package/dist/commonjs/prompts/ShowReachableAreasPrompt.d.ts.map +1 -0
- package/dist/commonjs/prompts/ShowReachableAreasPrompt.js +70 -0
- package/dist/commonjs/prompts/ShowReachableAreasPrompt.js.map +1 -0
- package/dist/commonjs/prompts/promptRegistry.d.ts +29 -0
- package/dist/commonjs/prompts/promptRegistry.d.ts.map +1 -0
- package/dist/commonjs/prompts/promptRegistry.js +39 -0
- package/dist/commonjs/prompts/promptRegistry.js.map +1 -0
- package/dist/commonjs/resources/BaseResource.d.ts +28 -0
- package/dist/commonjs/resources/BaseResource.d.ts.map +1 -0
- package/dist/commonjs/resources/BaseResource.js +32 -0
- package/dist/commonjs/resources/BaseResource.js.map +1 -0
- package/dist/commonjs/resources/MapboxApiBasedResource.d.ts +35 -0
- package/dist/commonjs/resources/MapboxApiBasedResource.d.ts.map +1 -0
- package/dist/commonjs/resources/MapboxApiBasedResource.js +88 -0
- package/dist/commonjs/resources/MapboxApiBasedResource.js.map +1 -0
- package/dist/commonjs/resources/category-list/CategoryListResource.d.ts +27 -0
- package/dist/commonjs/resources/category-list/CategoryListResource.d.ts.map +1 -0
- package/dist/commonjs/resources/category-list/CategoryListResource.js +71 -0
- package/dist/commonjs/resources/category-list/CategoryListResource.js.map +1 -0
- package/dist/commonjs/resources/resourceRegistry.d.ts +6 -0
- package/dist/commonjs/resources/resourceRegistry.d.ts.map +1 -0
- package/dist/commonjs/resources/resourceRegistry.js +32 -0
- package/dist/commonjs/resources/resourceRegistry.js.map +1 -0
- package/dist/commonjs/schemas/geojson.d.ts +115 -0
- package/dist/commonjs/schemas/geojson.d.ts.map +1 -0
- package/dist/commonjs/schemas/geojson.js +5 -0
- package/dist/commonjs/schemas/geojson.js.map +1 -0
- package/dist/commonjs/tools/BaseTool.d.ts +12 -2
- package/dist/commonjs/tools/BaseTool.d.ts.map +1 -1
- package/dist/commonjs/tools/BaseTool.js +31 -2
- package/dist/commonjs/tools/BaseTool.js.map +1 -1
- package/dist/commonjs/tools/MapboxApiBasedTool.d.ts +12 -7
- package/dist/commonjs/tools/MapboxApiBasedTool.d.ts.map +1 -1
- package/dist/commonjs/tools/MapboxApiBasedTool.js +57 -29
- package/dist/commonjs/tools/MapboxApiBasedTool.js.map +1 -1
- package/dist/commonjs/tools/category-list-tool/CategoryListTool.d.ts +10 -6
- package/dist/commonjs/tools/category-list-tool/CategoryListTool.d.ts.map +1 -1
- package/dist/commonjs/tools/category-list-tool/{CategoryListTool.schema.d.ts → CategoryListTool.input.schema.d.ts} +1 -1
- package/dist/commonjs/tools/category-list-tool/CategoryListTool.input.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/category-list-tool/{CategoryListTool.schema.js → CategoryListTool.input.schema.js} +1 -1
- package/dist/commonjs/tools/category-list-tool/CategoryListTool.input.schema.js.map +1 -0
- package/dist/commonjs/tools/category-list-tool/CategoryListTool.js +36 -13
- package/dist/commonjs/tools/category-list-tool/CategoryListTool.js.map +1 -1
- package/dist/commonjs/tools/category-list-tool/CategoryListTool.output.schema.d.ts +10 -0
- package/dist/commonjs/tools/category-list-tool/CategoryListTool.output.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/category-list-tool/CategoryListTool.output.schema.js +12 -0
- package/dist/commonjs/tools/category-list-tool/CategoryListTool.output.schema.js.map +1 -0
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.d.ts +9 -8
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.d.ts.map +1 -1
- package/dist/commonjs/tools/category-search-tool/{CategorySearchTool.schema.d.ts → CategorySearchTool.input.schema.d.ts} +5 -11
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.input.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.input.schema.js +44 -0
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.input.schema.js.map +1 -0
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.js +44 -20
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.js.map +1 -1
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.d.ts +2184 -0
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.js +149 -0
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.output.schema.js.map +1 -0
- package/dist/commonjs/tools/directions-tool/DirectionsTool.d.ts +9 -5
- package/dist/commonjs/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
- package/dist/{esm/tools/directions-tool/DirectionsTool.schema.d.ts → commonjs/tools/directions-tool/DirectionsTool.input.schema.d.ts} +1 -1
- package/dist/commonjs/tools/directions-tool/DirectionsTool.input.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/directions-tool/{DirectionsTool.schema.js → DirectionsTool.input.schema.js} +1 -1
- package/dist/commonjs/tools/directions-tool/DirectionsTool.input.schema.js.map +1 -0
- package/dist/commonjs/tools/directions-tool/DirectionsTool.js +100 -19
- package/dist/commonjs/tools/directions-tool/DirectionsTool.js.map +1 -1
- package/dist/commonjs/tools/directions-tool/DirectionsTool.output.schema.d.ts +7880 -0
- package/dist/commonjs/tools/directions-tool/DirectionsTool.output.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/directions-tool/DirectionsTool.output.schema.js +346 -0
- package/dist/commonjs/tools/directions-tool/DirectionsTool.output.schema.js.map +1 -0
- package/dist/commonjs/tools/directions-tool/cleanResponseData.d.ts +101 -2
- package/dist/commonjs/tools/directions-tool/cleanResponseData.d.ts.map +1 -1
- package/dist/commonjs/tools/directions-tool/cleanResponseData.js +90 -89
- package/dist/commonjs/tools/directions-tool/cleanResponseData.js.map +1 -1
- package/dist/commonjs/tools/isochrone-tool/IsochroneTool.d.ts +10 -5
- package/dist/commonjs/tools/isochrone-tool/IsochroneTool.d.ts.map +1 -1
- package/dist/{esm/tools/isochrone-tool/IsochroneTool.schema.d.ts → commonjs/tools/isochrone-tool/IsochroneTool.input.schema.d.ts} +1 -1
- package/dist/commonjs/tools/isochrone-tool/IsochroneTool.input.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/isochrone-tool/{IsochroneTool.schema.js → IsochroneTool.input.schema.js} +1 -1
- package/dist/commonjs/tools/isochrone-tool/IsochroneTool.input.schema.js.map +1 -0
- package/dist/commonjs/tools/isochrone-tool/IsochroneTool.js +80 -10
- package/dist/commonjs/tools/isochrone-tool/IsochroneTool.js.map +1 -1
- package/dist/commonjs/tools/isochrone-tool/IsochroneTool.output.schema.d.ts +314 -0
- package/dist/commonjs/tools/isochrone-tool/IsochroneTool.output.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/isochrone-tool/IsochroneTool.output.schema.js +58 -0
- package/dist/commonjs/tools/isochrone-tool/IsochroneTool.output.schema.js.map +1 -0
- package/dist/commonjs/tools/matrix-tool/MatrixTool.d.ts +9 -5
- package/dist/commonjs/tools/matrix-tool/MatrixTool.d.ts.map +1 -1
- package/dist/commonjs/tools/matrix-tool/{MatrixTool.schema.d.ts → MatrixTool.input.schema.d.ts} +3 -3
- package/dist/commonjs/tools/matrix-tool/MatrixTool.input.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/matrix-tool/{MatrixTool.schema.js → MatrixTool.input.schema.js} +1 -1
- package/dist/commonjs/tools/matrix-tool/MatrixTool.input.schema.js.map +1 -0
- package/dist/commonjs/tools/matrix-tool/MatrixTool.js +131 -26
- package/dist/commonjs/tools/matrix-tool/MatrixTool.js.map +1 -1
- package/dist/commonjs/tools/matrix-tool/MatrixTool.output.schema.d.ts +80 -0
- package/dist/commonjs/tools/matrix-tool/MatrixTool.output.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/matrix-tool/MatrixTool.output.schema.js +22 -0
- package/dist/commonjs/tools/matrix-tool/MatrixTool.output.schema.js.map +1 -0
- package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.d.ts +28 -0
- package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.d.ts.map +1 -0
- package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.input.schema.d.ts +10 -0
- package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.input.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.input.schema.js +13 -0
- package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.input.schema.js.map +1 -0
- package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.js +141 -0
- package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.js.map +1 -0
- package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.output.schema.d.ts +19 -0
- package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.output.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.output.schema.js +13 -0
- package/dist/commonjs/tools/resource-reader-tool/ResourceReaderTool.output.schema.js.map +1 -0
- package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts +9 -8
- package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts.map +1 -1
- package/dist/{esm/tools/reverse-geocode-tool/ReverseGeocodeTool.schema.d.ts → commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.d.ts} +4 -4
- package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/reverse-geocode-tool/{ReverseGeocodeTool.schema.js → ReverseGeocodeTool.input.schema.js} +1 -1
- package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.js.map +1 -0
- package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.js +56 -15
- package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.js.map +1 -1
- package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.d.ts +4085 -0
- package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.js +206 -0
- package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.js.map +1 -0
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts +9 -8
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts.map +1 -1
- package/dist/commonjs/tools/search-and-geocode-tool/{SearchAndGeocodeTool.schema.d.ts → SearchAndGeocodeTool.input.schema.d.ts} +20 -20
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/search-and-geocode-tool/{SearchAndGeocodeTool.schema.js → SearchAndGeocodeTool.input.schema.js} +7 -31
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.js.map +1 -0
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.js +44 -23
- 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 +2387 -0
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.js +129 -0
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.js.map +1 -0
- package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.d.ts +7 -4
- package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -1
- package/dist/commonjs/tools/static-map-image-tool/{StaticMapImageTool.schema.d.ts → StaticMapImageTool.input.schema.d.ts} +25 -25
- package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.input.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/static-map-image-tool/{StaticMapImageTool.schema.js → StaticMapImageTool.input.schema.js} +1 -1
- package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.input.schema.js.map +1 -0
- package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js +43 -11
- package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -1
- package/dist/commonjs/tools/toolRegistry.d.ts +2 -1
- package/dist/commonjs/tools/toolRegistry.d.ts.map +1 -1
- package/dist/commonjs/tools/toolRegistry.js +11 -8
- package/dist/commonjs/tools/toolRegistry.js.map +1 -1
- package/dist/commonjs/tools/version-tool/VersionTool.d.ts +5 -9
- package/dist/commonjs/tools/version-tool/VersionTool.d.ts.map +1 -1
- package/dist/commonjs/tools/version-tool/{VersionTool.schema.d.ts → VersionTool.input.schema.d.ts} +1 -1
- package/dist/commonjs/tools/version-tool/VersionTool.input.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/version-tool/{VersionTool.schema.js → VersionTool.input.schema.js} +1 -1
- package/dist/commonjs/tools/version-tool/VersionTool.input.schema.js.map +1 -0
- package/dist/commonjs/tools/version-tool/VersionTool.js +45 -30
- package/dist/commonjs/tools/version-tool/VersionTool.js.map +1 -1
- package/dist/commonjs/tools/version-tool/VersionTool.output.schema.d.ts +22 -0
- package/dist/commonjs/tools/version-tool/VersionTool.output.schema.d.ts.map +1 -0
- package/dist/commonjs/tools/version-tool/VersionTool.output.schema.js +15 -0
- package/dist/commonjs/tools/version-tool/VersionTool.output.schema.js.map +1 -0
- package/dist/commonjs/utils/httpPipeline.d.ts +44 -0
- package/dist/commonjs/utils/httpPipeline.d.ts.map +1 -0
- package/dist/commonjs/utils/{fetchRequest.js → httpPipeline.js} +58 -13
- package/dist/commonjs/utils/httpPipeline.js.map +1 -0
- package/dist/commonjs/utils/tracing.d.ts +99 -0
- package/dist/commonjs/utils/tracing.d.ts.map +1 -0
- package/dist/commonjs/utils/tracing.js +300 -0
- package/dist/commonjs/utils/tracing.js.map +1 -0
- package/dist/commonjs/utils/types.d.ts +18 -0
- package/dist/commonjs/utils/types.d.ts.map +1 -0
- package/dist/commonjs/utils/types.js +5 -0
- package/dist/commonjs/utils/types.js.map +1 -0
- package/dist/commonjs/utils/versionUtils-cjs.cjs.map +1 -1
- package/dist/commonjs/utils/versionUtils.js +1 -1
- package/dist/commonjs/version.json +4 -4
- package/dist/esm/config/toolConfig.d.ts +10 -0
- package/dist/esm/config/toolConfig.d.ts.map +1 -1
- package/dist/esm/config/toolConfig.js +35 -0
- package/dist/esm/config/toolConfig.js.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +201 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/prompts/BasePrompt.d.ts +40 -0
- package/dist/esm/prompts/BasePrompt.d.ts.map +1 -0
- package/dist/esm/prompts/BasePrompt.js +34 -0
- package/dist/esm/prompts/BasePrompt.js.map +1 -0
- package/dist/esm/prompts/FindPlacesNearbyPrompt.d.ts +22 -0
- package/dist/esm/prompts/FindPlacesNearbyPrompt.d.ts.map +1 -0
- package/dist/esm/prompts/FindPlacesNearbyPrompt.js +61 -0
- package/dist/esm/prompts/FindPlacesNearbyPrompt.js.map +1 -0
- package/dist/esm/prompts/GetDirectionsPrompt.d.ts +23 -0
- package/dist/esm/prompts/GetDirectionsPrompt.d.ts.map +1 -0
- package/dist/esm/prompts/GetDirectionsPrompt.js +63 -0
- package/dist/esm/prompts/GetDirectionsPrompt.js.map +1 -0
- package/dist/esm/prompts/ShowReachableAreasPrompt.d.ts +23 -0
- package/dist/esm/prompts/ShowReachableAreasPrompt.d.ts.map +1 -0
- package/dist/esm/prompts/ShowReachableAreasPrompt.js +66 -0
- package/dist/esm/prompts/ShowReachableAreasPrompt.js.map +1 -0
- package/dist/esm/prompts/promptRegistry.d.ts +29 -0
- package/dist/esm/prompts/promptRegistry.d.ts.map +1 -0
- package/dist/esm/prompts/promptRegistry.js +35 -0
- package/dist/esm/prompts/promptRegistry.js.map +1 -0
- package/dist/esm/resources/BaseResource.d.ts +28 -0
- package/dist/esm/resources/BaseResource.d.ts.map +1 -0
- package/dist/esm/resources/BaseResource.js +28 -0
- package/dist/esm/resources/BaseResource.js.map +1 -0
- package/dist/esm/resources/MapboxApiBasedResource.d.ts +35 -0
- package/dist/esm/resources/MapboxApiBasedResource.d.ts.map +1 -0
- package/dist/esm/resources/MapboxApiBasedResource.js +84 -0
- package/dist/esm/resources/MapboxApiBasedResource.js.map +1 -0
- package/dist/esm/resources/category-list/CategoryListResource.d.ts +27 -0
- package/dist/esm/resources/category-list/CategoryListResource.d.ts.map +1 -0
- package/dist/esm/resources/category-list/CategoryListResource.js +67 -0
- package/dist/esm/resources/category-list/CategoryListResource.js.map +1 -0
- package/dist/esm/resources/resourceRegistry.d.ts +6 -0
- package/dist/esm/resources/resourceRegistry.d.ts.map +1 -0
- package/dist/esm/resources/resourceRegistry.js +27 -0
- package/dist/esm/resources/resourceRegistry.js.map +1 -0
- package/dist/esm/schemas/geojson.d.ts +115 -0
- package/dist/esm/schemas/geojson.d.ts.map +1 -0
- package/dist/esm/schemas/geojson.js +4 -0
- package/dist/esm/schemas/geojson.js.map +1 -0
- package/dist/esm/tools/BaseTool.d.ts +12 -2
- package/dist/esm/tools/BaseTool.d.ts.map +1 -1
- package/dist/esm/tools/BaseTool.js +31 -2
- package/dist/esm/tools/BaseTool.js.map +1 -1
- package/dist/esm/tools/MapboxApiBasedTool.d.ts +12 -7
- package/dist/esm/tools/MapboxApiBasedTool.d.ts.map +1 -1
- package/dist/esm/tools/MapboxApiBasedTool.js +57 -29
- package/dist/esm/tools/MapboxApiBasedTool.js.map +1 -1
- package/dist/esm/tools/category-list-tool/CategoryListTool.d.ts +10 -6
- package/dist/esm/tools/category-list-tool/CategoryListTool.d.ts.map +1 -1
- package/dist/esm/tools/category-list-tool/{CategoryListTool.schema.d.ts → CategoryListTool.input.schema.d.ts} +1 -1
- package/dist/esm/tools/category-list-tool/CategoryListTool.input.schema.d.ts.map +1 -0
- package/dist/esm/tools/category-list-tool/{CategoryListTool.schema.js → CategoryListTool.input.schema.js} +1 -1
- package/dist/esm/tools/category-list-tool/CategoryListTool.input.schema.js.map +1 -0
- package/dist/esm/tools/category-list-tool/CategoryListTool.js +36 -13
- package/dist/esm/tools/category-list-tool/CategoryListTool.js.map +1 -1
- package/dist/esm/tools/category-list-tool/CategoryListTool.output.schema.d.ts +10 -0
- package/dist/esm/tools/category-list-tool/CategoryListTool.output.schema.d.ts.map +1 -0
- package/dist/esm/tools/category-list-tool/CategoryListTool.output.schema.js +9 -0
- package/dist/esm/tools/category-list-tool/CategoryListTool.output.schema.js.map +1 -0
- package/dist/esm/tools/category-search-tool/CategorySearchTool.d.ts +9 -8
- package/dist/esm/tools/category-search-tool/CategorySearchTool.d.ts.map +1 -1
- package/dist/esm/tools/category-search-tool/{CategorySearchTool.schema.d.ts → CategorySearchTool.input.schema.d.ts} +5 -11
- package/dist/esm/tools/category-search-tool/CategorySearchTool.input.schema.d.ts.map +1 -0
- package/dist/esm/tools/category-search-tool/CategorySearchTool.input.schema.js +41 -0
- package/dist/esm/tools/category-search-tool/CategorySearchTool.input.schema.js.map +1 -0
- package/dist/esm/tools/category-search-tool/CategorySearchTool.js +44 -20
- package/dist/esm/tools/category-search-tool/CategorySearchTool.js.map +1 -1
- package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.d.ts +2184 -0
- package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.d.ts.map +1 -0
- package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.js +146 -0
- package/dist/esm/tools/category-search-tool/CategorySearchTool.output.schema.js.map +1 -0
- package/dist/esm/tools/directions-tool/DirectionsTool.d.ts +9 -5
- package/dist/esm/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
- package/dist/{commonjs/tools/directions-tool/DirectionsTool.schema.d.ts → esm/tools/directions-tool/DirectionsTool.input.schema.d.ts} +1 -1
- package/dist/esm/tools/directions-tool/DirectionsTool.input.schema.d.ts.map +1 -0
- package/dist/esm/tools/directions-tool/{DirectionsTool.schema.js → DirectionsTool.input.schema.js} +1 -1
- package/dist/esm/tools/directions-tool/DirectionsTool.input.schema.js.map +1 -0
- package/dist/esm/tools/directions-tool/DirectionsTool.js +100 -19
- package/dist/esm/tools/directions-tool/DirectionsTool.js.map +1 -1
- package/dist/esm/tools/directions-tool/DirectionsTool.output.schema.d.ts +7880 -0
- package/dist/esm/tools/directions-tool/DirectionsTool.output.schema.d.ts.map +1 -0
- package/dist/esm/tools/directions-tool/DirectionsTool.output.schema.js +343 -0
- package/dist/esm/tools/directions-tool/DirectionsTool.output.schema.js.map +1 -0
- package/dist/esm/tools/directions-tool/cleanResponseData.d.ts +101 -2
- package/dist/esm/tools/directions-tool/cleanResponseData.d.ts.map +1 -1
- package/dist/esm/tools/directions-tool/cleanResponseData.js +90 -89
- package/dist/esm/tools/directions-tool/cleanResponseData.js.map +1 -1
- package/dist/esm/tools/isochrone-tool/IsochroneTool.d.ts +10 -5
- package/dist/esm/tools/isochrone-tool/IsochroneTool.d.ts.map +1 -1
- package/dist/{commonjs/tools/isochrone-tool/IsochroneTool.schema.d.ts → esm/tools/isochrone-tool/IsochroneTool.input.schema.d.ts} +1 -1
- package/dist/esm/tools/isochrone-tool/IsochroneTool.input.schema.d.ts.map +1 -0
- package/dist/esm/tools/isochrone-tool/{IsochroneTool.schema.js → IsochroneTool.input.schema.js} +1 -1
- package/dist/esm/tools/isochrone-tool/IsochroneTool.input.schema.js.map +1 -0
- package/dist/esm/tools/isochrone-tool/IsochroneTool.js +80 -10
- package/dist/esm/tools/isochrone-tool/IsochroneTool.js.map +1 -1
- package/dist/esm/tools/isochrone-tool/IsochroneTool.output.schema.d.ts +314 -0
- package/dist/esm/tools/isochrone-tool/IsochroneTool.output.schema.d.ts.map +1 -0
- package/dist/esm/tools/isochrone-tool/IsochroneTool.output.schema.js +55 -0
- package/dist/esm/tools/isochrone-tool/IsochroneTool.output.schema.js.map +1 -0
- package/dist/esm/tools/matrix-tool/MatrixTool.d.ts +9 -5
- package/dist/esm/tools/matrix-tool/MatrixTool.d.ts.map +1 -1
- package/dist/esm/tools/matrix-tool/{MatrixTool.schema.d.ts → MatrixTool.input.schema.d.ts} +3 -3
- package/dist/esm/tools/matrix-tool/MatrixTool.input.schema.d.ts.map +1 -0
- package/dist/esm/tools/matrix-tool/{MatrixTool.schema.js → MatrixTool.input.schema.js} +1 -1
- package/dist/esm/tools/matrix-tool/MatrixTool.input.schema.js.map +1 -0
- package/dist/esm/tools/matrix-tool/MatrixTool.js +131 -26
- package/dist/esm/tools/matrix-tool/MatrixTool.js.map +1 -1
- package/dist/esm/tools/matrix-tool/MatrixTool.output.schema.d.ts +80 -0
- package/dist/esm/tools/matrix-tool/MatrixTool.output.schema.d.ts.map +1 -0
- package/dist/esm/tools/matrix-tool/MatrixTool.output.schema.js +19 -0
- package/dist/esm/tools/matrix-tool/MatrixTool.output.schema.js.map +1 -0
- package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.d.ts +28 -0
- package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.d.ts.map +1 -0
- package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.input.schema.d.ts +10 -0
- package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.input.schema.d.ts.map +1 -0
- package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.input.schema.js +10 -0
- package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.input.schema.js.map +1 -0
- package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.js +137 -0
- package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.js.map +1 -0
- package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.output.schema.d.ts +19 -0
- package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.output.schema.d.ts.map +1 -0
- package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.output.schema.js +10 -0
- package/dist/esm/tools/resource-reader-tool/ResourceReaderTool.output.schema.js.map +1 -0
- package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts +9 -8
- package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts.map +1 -1
- package/dist/{commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.schema.d.ts → esm/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.d.ts} +4 -4
- package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.d.ts.map +1 -0
- package/dist/esm/tools/reverse-geocode-tool/{ReverseGeocodeTool.schema.js → ReverseGeocodeTool.input.schema.js} +1 -1
- package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.input.schema.js.map +1 -0
- package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.js +56 -15
- package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.js.map +1 -1
- package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.d.ts +4085 -0
- package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.d.ts.map +1 -0
- package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.js +203 -0
- package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.output.schema.js.map +1 -0
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts +9 -8
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.d.ts.map +1 -1
- package/dist/esm/tools/search-and-geocode-tool/{SearchAndGeocodeTool.schema.d.ts → SearchAndGeocodeTool.input.schema.d.ts} +20 -20
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.d.ts.map +1 -0
- package/dist/esm/tools/search-and-geocode-tool/{SearchAndGeocodeTool.schema.js → SearchAndGeocodeTool.input.schema.js} +7 -31
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.input.schema.js.map +1 -0
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.js +44 -23
- 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 +2387 -0
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.d.ts.map +1 -0
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.js +126 -0
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.output.schema.js.map +1 -0
- package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.d.ts +7 -4
- package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -1
- package/dist/esm/tools/static-map-image-tool/{StaticMapImageTool.schema.d.ts → StaticMapImageTool.input.schema.d.ts} +25 -25
- package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.input.schema.d.ts.map +1 -0
- package/dist/esm/tools/static-map-image-tool/{StaticMapImageTool.schema.js → StaticMapImageTool.input.schema.js} +1 -1
- package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.input.schema.js.map +1 -0
- package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.js +43 -11
- package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -1
- package/dist/esm/tools/toolRegistry.d.ts +2 -1
- package/dist/esm/tools/toolRegistry.d.ts.map +1 -1
- package/dist/esm/tools/toolRegistry.js +11 -8
- package/dist/esm/tools/toolRegistry.js.map +1 -1
- package/dist/esm/tools/version-tool/VersionTool.d.ts +5 -9
- package/dist/esm/tools/version-tool/VersionTool.d.ts.map +1 -1
- package/dist/esm/tools/version-tool/{VersionTool.schema.d.ts → VersionTool.input.schema.d.ts} +1 -1
- package/dist/esm/tools/version-tool/VersionTool.input.schema.d.ts.map +1 -0
- package/dist/esm/tools/version-tool/{VersionTool.schema.js → VersionTool.input.schema.js} +1 -1
- package/dist/esm/tools/version-tool/VersionTool.input.schema.js.map +1 -0
- package/dist/esm/tools/version-tool/VersionTool.js +43 -28
- package/dist/esm/tools/version-tool/VersionTool.js.map +1 -1
- package/dist/esm/tools/version-tool/VersionTool.output.schema.d.ts +22 -0
- package/dist/esm/tools/version-tool/VersionTool.output.schema.d.ts.map +1 -0
- package/dist/esm/tools/version-tool/VersionTool.output.schema.js +12 -0
- package/dist/esm/tools/version-tool/VersionTool.output.schema.js.map +1 -0
- package/dist/esm/utils/httpPipeline.d.ts +44 -0
- package/dist/esm/utils/httpPipeline.d.ts.map +1 -0
- package/dist/esm/utils/{fetchRequest.js → httpPipeline.js} +55 -11
- package/dist/esm/utils/httpPipeline.js.map +1 -0
- package/dist/esm/utils/tracing.d.ts +99 -0
- package/dist/esm/utils/tracing.d.ts.map +1 -0
- package/dist/esm/utils/tracing.js +286 -0
- package/dist/esm/utils/tracing.js.map +1 -0
- package/dist/esm/utils/types.d.ts +18 -0
- package/dist/esm/utils/types.d.ts.map +1 -0
- package/dist/esm/utils/types.js +4 -0
- package/dist/esm/utils/types.js.map +1 -0
- package/dist/esm/utils/versionUtils.js +1 -1
- package/dist/esm/utils/versionUtils.js.map +1 -1
- package/dist/esm/version.json +4 -4
- package/package.json +25 -9
- package/dist/commonjs/tools/MapboxApiBasedTool.schema.d.ts +0 -47
- package/dist/commonjs/tools/MapboxApiBasedTool.schema.d.ts.map +0 -1
- package/dist/commonjs/tools/MapboxApiBasedTool.schema.js +0 -21
- package/dist/commonjs/tools/MapboxApiBasedTool.schema.js.map +0 -1
- package/dist/commonjs/tools/category-list-tool/CategoryListTool.schema.d.ts.map +0 -1
- package/dist/commonjs/tools/category-list-tool/CategoryListTool.schema.js.map +0 -1
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.schema.d.ts.map +0 -1
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.schema.js +0 -83
- package/dist/commonjs/tools/category-search-tool/CategorySearchTool.schema.js.map +0 -1
- package/dist/commonjs/tools/directions-tool/DirectionsTool.schema.d.ts.map +0 -1
- package/dist/commonjs/tools/directions-tool/DirectionsTool.schema.js.map +0 -1
- package/dist/commonjs/tools/isochrone-tool/IsochroneTool.schema.d.ts.map +0 -1
- package/dist/commonjs/tools/isochrone-tool/IsochroneTool.schema.js.map +0 -1
- package/dist/commonjs/tools/matrix-tool/MatrixTool.schema.d.ts.map +0 -1
- package/dist/commonjs/tools/matrix-tool/MatrixTool.schema.js.map +0 -1
- package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.schema.d.ts.map +0 -1
- package/dist/commonjs/tools/reverse-geocode-tool/ReverseGeocodeTool.schema.js.map +0 -1
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.schema.d.ts.map +0 -1
- package/dist/commonjs/tools/search-and-geocode-tool/SearchAndGeocodeTool.schema.js.map +0 -1
- package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.schema.d.ts.map +0 -1
- package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.schema.js.map +0 -1
- package/dist/commonjs/tools/version-tool/VersionTool.schema.d.ts.map +0 -1
- package/dist/commonjs/tools/version-tool/VersionTool.schema.js.map +0 -1
- package/dist/commonjs/utils/fetchRequest.d.ts +0 -38
- package/dist/commonjs/utils/fetchRequest.d.ts.map +0 -1
- package/dist/commonjs/utils/fetchRequest.js.map +0 -1
- package/dist/esm/tools/MapboxApiBasedTool.schema.d.ts +0 -47
- package/dist/esm/tools/MapboxApiBasedTool.schema.d.ts.map +0 -1
- package/dist/esm/tools/MapboxApiBasedTool.schema.js +0 -18
- package/dist/esm/tools/MapboxApiBasedTool.schema.js.map +0 -1
- package/dist/esm/tools/category-list-tool/CategoryListTool.schema.d.ts.map +0 -1
- package/dist/esm/tools/category-list-tool/CategoryListTool.schema.js.map +0 -1
- package/dist/esm/tools/category-search-tool/CategorySearchTool.schema.d.ts.map +0 -1
- package/dist/esm/tools/category-search-tool/CategorySearchTool.schema.js +0 -80
- package/dist/esm/tools/category-search-tool/CategorySearchTool.schema.js.map +0 -1
- package/dist/esm/tools/directions-tool/DirectionsTool.schema.d.ts.map +0 -1
- package/dist/esm/tools/directions-tool/DirectionsTool.schema.js.map +0 -1
- package/dist/esm/tools/isochrone-tool/IsochroneTool.schema.d.ts.map +0 -1
- package/dist/esm/tools/isochrone-tool/IsochroneTool.schema.js.map +0 -1
- package/dist/esm/tools/matrix-tool/MatrixTool.schema.d.ts.map +0 -1
- package/dist/esm/tools/matrix-tool/MatrixTool.schema.js.map +0 -1
- package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.schema.d.ts.map +0 -1
- package/dist/esm/tools/reverse-geocode-tool/ReverseGeocodeTool.schema.js.map +0 -1
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.schema.d.ts.map +0 -1
- package/dist/esm/tools/search-and-geocode-tool/SearchAndGeocodeTool.schema.js.map +0 -1
- package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.schema.d.ts.map +0 -1
- package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.schema.js.map +0 -1
- package/dist/esm/tools/version-tool/VersionTool.schema.d.ts.map +0 -1
- package/dist/esm/tools/version-tool/VersionTool.schema.js.map +0 -1
- package/dist/esm/utils/fetchRequest.d.ts +0 -38
- package/dist/esm/utils/fetchRequest.d.ts.map +0 -1
- package/dist/esm/utils/fetchRequest.js.map +0 -1
|
@@ -2,21 +2,31 @@
|
|
|
2
2
|
// Licensed under the MIT License.
|
|
3
3
|
export class BaseTool {
|
|
4
4
|
inputSchema;
|
|
5
|
+
outputSchema;
|
|
5
6
|
server = null;
|
|
6
7
|
constructor(params) {
|
|
7
8
|
this.inputSchema = params.inputSchema;
|
|
9
|
+
this.outputSchema = params.outputSchema;
|
|
8
10
|
}
|
|
9
11
|
/**
|
|
10
12
|
* Installs the tool to the given MCP server.
|
|
11
13
|
*/
|
|
12
14
|
installTo(server) {
|
|
13
15
|
this.server = server;
|
|
14
|
-
|
|
16
|
+
const config = {
|
|
15
17
|
title: this.annotations.title,
|
|
16
18
|
description: this.description,
|
|
19
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
17
20
|
inputSchema: this.inputSchema.shape,
|
|
18
21
|
annotations: this.annotations
|
|
19
|
-
}
|
|
22
|
+
};
|
|
23
|
+
// Add outputSchema if provided
|
|
24
|
+
if (this.outputSchema) {
|
|
25
|
+
config.outputSchema =
|
|
26
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
27
|
+
this.outputSchema.shape;
|
|
28
|
+
}
|
|
29
|
+
return server.registerTool(this.name, config, (args, extra) => this.run(args, extra));
|
|
20
30
|
}
|
|
21
31
|
/**
|
|
22
32
|
* Helper method to send logging messages
|
|
@@ -26,5 +36,24 @@ export class BaseTool {
|
|
|
26
36
|
void this.server.server.sendLoggingMessage({ level, data });
|
|
27
37
|
}
|
|
28
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Validates output data against the output schema with graceful fallback.
|
|
41
|
+
* If validation fails, logs a warning and returns the raw data.
|
|
42
|
+
* @param rawData The raw data to validate
|
|
43
|
+
* @returns The validated data, or raw data if validation fails
|
|
44
|
+
*/
|
|
45
|
+
validateOutput(rawData) {
|
|
46
|
+
if (!this.outputSchema) {
|
|
47
|
+
return rawData;
|
|
48
|
+
}
|
|
49
|
+
try {
|
|
50
|
+
return this.outputSchema.parse(rawData);
|
|
51
|
+
}
|
|
52
|
+
catch (validationError) {
|
|
53
|
+
this.log('warning', `${this.name}: Output schema validation failed: ${validationError instanceof Error ? validationError.message : 'Unknown validation error'}`);
|
|
54
|
+
// Graceful fallback to raw data
|
|
55
|
+
return rawData;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
29
58
|
}
|
|
30
59
|
//# sourceMappingURL=BaseTool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseTool.js","sourceRoot":"","sources":["../../../src/tools/BaseTool.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;
|
|
1
|
+
{"version":3,"file":"BaseTool.js","sourceRoot":"","sources":["../../../src/tools/BaseTool.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AAclC,MAAM,OAAgB,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,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAC5D,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CACtB,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"}
|
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
import type { RequestHandlerExtra } from '@modelcontextprotocol/sdk/shared/protocol.js';
|
|
2
|
-
import type { ZodTypeAny
|
|
2
|
+
import type { ZodTypeAny } from 'zod';
|
|
3
3
|
import { BaseTool } from './BaseTool.js';
|
|
4
|
-
import type {
|
|
5
|
-
|
|
4
|
+
import type { CallToolResult, ToolAnnotations } from '@modelcontextprotocol/sdk/types.js';
|
|
5
|
+
import type { HttpRequest } from '../utils/types.js';
|
|
6
|
+
import type { ToolExecutionContext } from '../utils/tracing.js';
|
|
7
|
+
export declare abstract class MapboxApiBasedTool<InputSchema extends ZodTypeAny, OutputSchema extends ZodTypeAny = ZodTypeAny> extends BaseTool<InputSchema, OutputSchema> {
|
|
6
8
|
abstract readonly name: string;
|
|
7
9
|
abstract readonly description: string;
|
|
8
|
-
abstract readonly annotations:
|
|
10
|
+
abstract readonly annotations: ToolAnnotations;
|
|
9
11
|
static get mapboxAccessToken(): string | undefined;
|
|
10
12
|
static get mapboxApiEndpoint(): string;
|
|
13
|
+
protected httpRequest: HttpRequest;
|
|
11
14
|
constructor(params: {
|
|
12
15
|
inputSchema: InputSchema;
|
|
16
|
+
outputSchema?: OutputSchema;
|
|
17
|
+
httpRequest: HttpRequest;
|
|
13
18
|
});
|
|
14
19
|
/**
|
|
15
20
|
* Validates if a string has the format of a JWT token (header.payload.signature)
|
|
@@ -21,10 +26,10 @@ export declare abstract class MapboxApiBasedTool<InputSchema extends ZodTypeAny>
|
|
|
21
26
|
/**
|
|
22
27
|
* Validates and runs the tool logic.
|
|
23
28
|
*/
|
|
24
|
-
run(rawInput: unknown, extra?: RequestHandlerExtra<any, any>): Promise<
|
|
29
|
+
run(rawInput: unknown, extra?: RequestHandlerExtra<any, any>): Promise<CallToolResult>;
|
|
25
30
|
/**
|
|
26
|
-
* Tool logic to be implemented by subclasses.
|
|
31
|
+
* Tool-specific logic to be implemented by subclasses.
|
|
27
32
|
*/
|
|
28
|
-
protected abstract execute(
|
|
33
|
+
protected abstract execute(input: any, accessToken: string, context: ToolExecutionContext): Promise<CallToolResult>;
|
|
29
34
|
}
|
|
30
35
|
//# sourceMappingURL=MapboxApiBasedTool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapboxApiBasedTool.d.ts","sourceRoot":"","sources":["../../../src/tools/MapboxApiBasedTool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"MapboxApiBasedTool.d.ts","sourceRoot":"","sources":["../../../src/tools/MapboxApiBasedTool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EAChB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAGhE,8BAAsB,kBAAkB,CACtC,WAAW,SAAS,UAAU,EAC9B,YAAY,SAAS,UAAU,GAAG,UAAU,CAC5C,SAAQ,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC;IAC3C,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,MAAM,KAAK,iBAAiB,uBAE3B;IAED,MAAM,KAAK,iBAAiB,WAE3B;IAED,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC;gBAEvB,MAAM,EAAE;QAClB,WAAW,EAAE,WAAW,CAAC;QACzB,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,WAAW,EAAE,WAAW,CAAC;KAC1B;IAKD;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IASxB;;OAEG;IACG,GAAG,CACP,QAAQ,EAAE,OAAO,EAEjB,KAAK,CAAC,EAAE,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,GACpC,OAAO,CAAC,cAAc,CAAC;IAyF1B;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,OAAO,CAExB,KAAK,EAAE,GAAG,EACV,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,cAAc,CAAC;CAC3B"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
// Copyright (c) Mapbox, Inc.
|
|
2
2
|
// Licensed under the MIT License.
|
|
3
3
|
import { BaseTool } from './BaseTool.js';
|
|
4
|
+
import { context, trace, SpanStatusCode } from '@opentelemetry/api';
|
|
5
|
+
import { createToolExecutionContext } from '../utils/tracing.js';
|
|
4
6
|
export class MapboxApiBasedTool extends BaseTool {
|
|
5
7
|
static get mapboxAccessToken() {
|
|
6
8
|
return process.env.MAPBOX_ACCESS_TOKEN;
|
|
@@ -8,8 +10,10 @@ export class MapboxApiBasedTool extends BaseTool {
|
|
|
8
10
|
static get mapboxApiEndpoint() {
|
|
9
11
|
return process.env.MAPBOX_API_ENDPOINT || 'https://api.mapbox.com/';
|
|
10
12
|
}
|
|
13
|
+
httpRequest;
|
|
11
14
|
constructor(params) {
|
|
12
15
|
super(params);
|
|
16
|
+
this.httpRequest = params.httpRequest;
|
|
13
17
|
}
|
|
14
18
|
/**
|
|
15
19
|
* Validates if a string has the format of a JWT token (header.payload.signature)
|
|
@@ -28,46 +32,70 @@ export class MapboxApiBasedTool extends BaseTool {
|
|
|
28
32
|
/**
|
|
29
33
|
* Validates and runs the tool logic.
|
|
30
34
|
*/
|
|
31
|
-
async run(rawInput,
|
|
35
|
+
async run(rawInput,
|
|
36
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
37
|
+
extra) {
|
|
38
|
+
// First check if token is provided via authentication context
|
|
39
|
+
// Check both standard token field and accessToken in extra for compatibility
|
|
40
|
+
// In the streamableHttp, the authInfo is injected into extra from `req.auth`
|
|
41
|
+
// https://github.com/modelcontextprotocol/typescript-sdk/blob/main/src/server/streamableHttp.ts#L405
|
|
42
|
+
const authToken = extra?.authInfo?.token;
|
|
43
|
+
const accessToken = authToken || MapboxApiBasedTool.mapboxAccessToken;
|
|
44
|
+
if (!accessToken) {
|
|
45
|
+
const errorMessage = 'No access token available. Please provide via Bearer auth or MAPBOX_ACCESS_TOKEN env var';
|
|
46
|
+
this.log('error', `${this.name}: ${errorMessage}`);
|
|
47
|
+
return {
|
|
48
|
+
content: [{ type: 'text', text: errorMessage }],
|
|
49
|
+
isError: true
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
// Validate that the token has the correct JWT format
|
|
53
|
+
if (!this.isValidJwtFormat(accessToken)) {
|
|
54
|
+
const errorMessage = 'Access token is not in valid JWT format';
|
|
55
|
+
this.log('error', `${this.name}: ${errorMessage}`);
|
|
56
|
+
return {
|
|
57
|
+
content: [{ type: 'text', text: errorMessage }],
|
|
58
|
+
isError: true
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
let toolContext;
|
|
32
62
|
try {
|
|
33
|
-
// First check if token is provided via authentication context
|
|
34
|
-
// Check both standard token field and accessToken in extra for compatibility
|
|
35
|
-
// In the streamableHttp, the authInfo is injected into extra from `req.auth`
|
|
36
|
-
// https://github.com/modelcontextprotocol/typescript-sdk/blob/main/src/server/streamableHttp.ts#L405
|
|
37
|
-
const authToken = extra?.authInfo?.token;
|
|
38
|
-
const accessToken = authToken || MapboxApiBasedTool.mapboxAccessToken;
|
|
39
|
-
if (!accessToken) {
|
|
40
|
-
throw new Error('No access token available. Please provide via Bearer auth or MAPBOX_ACCESS_TOKEN env var');
|
|
41
|
-
}
|
|
42
|
-
// Validate that the token has the correct JWT format
|
|
43
|
-
if (!this.isValidJwtFormat(accessToken)) {
|
|
44
|
-
throw new Error('Access token is not in valid JWT format');
|
|
45
|
-
}
|
|
46
63
|
const input = this.inputSchema.parse(rawInput);
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
return {
|
|
53
|
-
content: [result],
|
|
54
|
-
isError: false
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
// Otherwise return as text
|
|
58
|
-
return {
|
|
59
|
-
content: [{ type: 'text', text: JSON.stringify(result) }],
|
|
60
|
-
isError: false
|
|
64
|
+
// Create tool execution context - tracing is handled by the HTTP client
|
|
65
|
+
toolContext = {
|
|
66
|
+
...createToolExecutionContext(this.name, 0, // Input size not needed since tracing is in HTTP client
|
|
67
|
+
this.httpRequest, extra),
|
|
68
|
+
httpRequest: this.httpRequest
|
|
61
69
|
};
|
|
70
|
+
// Execute tool within the tool span context to connect all child spans
|
|
71
|
+
const result = await context.with(trace.setSpan(context.active(), toolContext.span), async () => {
|
|
72
|
+
return await this.execute(input, accessToken, toolContext);
|
|
73
|
+
});
|
|
74
|
+
// Mark span as successful and end it
|
|
75
|
+
toolContext.span.setStatus({ code: SpanStatusCode.OK });
|
|
76
|
+
toolContext.span.end();
|
|
77
|
+
return result;
|
|
62
78
|
}
|
|
63
79
|
catch (error) {
|
|
64
80
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
65
81
|
this.log('error', `${this.name}: Error during execution: ${errorMessage}`);
|
|
82
|
+
// Mark span as failed and end it
|
|
83
|
+
if (toolContext?.span) {
|
|
84
|
+
toolContext.span.setStatus({
|
|
85
|
+
code: SpanStatusCode.ERROR,
|
|
86
|
+
message: errorMessage
|
|
87
|
+
});
|
|
88
|
+
toolContext.span.end();
|
|
89
|
+
}
|
|
90
|
+
const errorResponse = {
|
|
91
|
+
message: errorMessage,
|
|
92
|
+
tool: this.name
|
|
93
|
+
};
|
|
66
94
|
return {
|
|
67
95
|
content: [
|
|
68
96
|
{
|
|
69
97
|
type: 'text',
|
|
70
|
-
text:
|
|
98
|
+
text: JSON.stringify(errorResponse)
|
|
71
99
|
}
|
|
72
100
|
],
|
|
73
101
|
isError: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapboxApiBasedTool.js","sourceRoot":"","sources":["../../../src/tools/MapboxApiBasedTool.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AAIlC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"MapboxApiBasedTool.js","sourceRoot":"","sources":["../../../src/tools/MapboxApiBasedTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { MapboxApiBasedTool } from '../MapboxApiBasedTool.js';
|
|
2
|
-
import type {
|
|
3
|
-
import {
|
|
2
|
+
import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
|
|
3
|
+
import type { HttpRequest } from '../../utils/types.js';
|
|
4
|
+
import type { CategoryListInput } from './CategoryListTool.input.schema.js';
|
|
5
|
+
import { CategoryListInputSchema } from './CategoryListTool.input.schema.js';
|
|
6
|
+
import { CategoryListResponseSchema } from './CategoryListTool.output.schema.js';
|
|
4
7
|
/**
|
|
5
8
|
* Tool for retrieving the list of supported categories from Mapbox Search API
|
|
6
9
|
*/
|
|
7
|
-
export declare class CategoryListTool extends MapboxApiBasedTool<typeof CategoryListInputSchema> {
|
|
8
|
-
private fetchImpl;
|
|
10
|
+
export declare class CategoryListTool extends MapboxApiBasedTool<typeof CategoryListInputSchema, typeof CategoryListResponseSchema> {
|
|
9
11
|
name: string;
|
|
10
12
|
description: string;
|
|
11
13
|
annotations: {
|
|
@@ -15,7 +17,9 @@ export declare class CategoryListTool extends MapboxApiBasedTool<typeof Category
|
|
|
15
17
|
idempotentHint: boolean;
|
|
16
18
|
openWorldHint: boolean;
|
|
17
19
|
};
|
|
18
|
-
constructor(
|
|
19
|
-
|
|
20
|
+
constructor(params: {
|
|
21
|
+
httpRequest: HttpRequest;
|
|
22
|
+
});
|
|
23
|
+
protected execute(input: CategoryListInput, accessToken: string): Promise<CallToolResult>;
|
|
20
24
|
}
|
|
21
25
|
//# sourceMappingURL=CategoryListTool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CategoryListTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/category-list-tool/CategoryListTool.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"CategoryListTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/category-list-tool/CategoryListTool.ts"],"names":[],"mappings":"AAGA,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,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AAiBjF;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,kBAAkB,CACtD,OAAO,uBAAuB,EAC9B,OAAO,0BAA0B,CAClC;IACC,IAAI,SAAwB;IAC5B,WAAW,SAC0iB;IACrjB,WAAW;;;;;;MAMT;gBAEU,MAAM,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE;cAQhC,OAAO,CACrB,KAAK,EAAE,iBAAiB,EACxB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,cAAc,CAAC;CAkE3B"}
|
|
@@ -13,4 +13,4 @@ export declare const CategoryListInputSchema: z.ZodObject<{
|
|
|
13
13
|
offset?: number | undefined;
|
|
14
14
|
}>;
|
|
15
15
|
export type CategoryListInput = z.infer<typeof CategoryListInputSchema>;
|
|
16
|
-
//# sourceMappingURL=CategoryListTool.schema.d.ts.map
|
|
16
|
+
//# sourceMappingURL=CategoryListTool.input.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CategoryListTool.input.schema.d.ts","sourceRoot":"","sources":["../../../../src/tools/category-list-tool/CategoryListTool.input.schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,uBAAuB;;;;;;;;;;;;EAgBlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CategoryListTool.input.schema.js","sourceRoot":"","sources":["../../../../src/tools/category-list-tool/CategoryListTool.input.schema.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AAElC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE;IACnC,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,wQAAwQ,CACzQ;IACH,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,OAAO,CAAC,CAAC,CAAC;SACV,QAAQ,CAAC,4DAA4D,CAAC;CAC1E,CAAC,CAAC"}
|
|
@@ -1,25 +1,28 @@
|
|
|
1
1
|
// Copyright (c) Mapbox, Inc.
|
|
2
2
|
// Licensed under the MIT License.
|
|
3
3
|
import { MapboxApiBasedTool } from '../MapboxApiBasedTool.js';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { CategoryListInputSchema } from './CategoryListTool.input.schema.js';
|
|
5
|
+
import { CategoryListResponseSchema } from './CategoryListTool.output.schema.js';
|
|
6
|
+
// API Documentation: https://docs.mapbox.com/api/search/search-box/#list-categories
|
|
6
7
|
/**
|
|
7
8
|
* Tool for retrieving the list of supported categories from Mapbox Search API
|
|
8
9
|
*/
|
|
9
10
|
export class CategoryListTool extends MapboxApiBasedTool {
|
|
10
|
-
fetchImpl;
|
|
11
11
|
name = 'category_list_tool';
|
|
12
|
-
description = 'Tool for retrieving the list of supported categories from Mapbox Search API. Use this when another function requires a list of categories. Returns all available category IDs by default. Only use pagination (limit/offset) if token usage optimization is required. If using pagination, make multiple calls to retrieve ALL categories before proceeding with other tasks to ensure complete data.';
|
|
12
|
+
description = '[DEPRECATED: Use resource_reader_tool with "mapbox://categories" URI instead] Tool for retrieving the list of supported categories from Mapbox Search API. This tool is kept for backward compatibility with clients that do not support MCP resources. Use this when another function requires a list of categories. Returns all available category IDs by default. Only use pagination (limit/offset) if token usage optimization is required. If using pagination, make multiple calls to retrieve ALL categories before proceeding with other tasks to ensure complete data.';
|
|
13
13
|
annotations = {
|
|
14
|
-
title: 'Category List Tool',
|
|
14
|
+
title: 'Category List Tool (Deprecated)',
|
|
15
15
|
readOnlyHint: true,
|
|
16
16
|
destructiveHint: false,
|
|
17
17
|
idempotentHint: true,
|
|
18
18
|
openWorldHint: true
|
|
19
19
|
};
|
|
20
|
-
constructor(
|
|
21
|
-
super({
|
|
22
|
-
|
|
20
|
+
constructor(params) {
|
|
21
|
+
super({
|
|
22
|
+
inputSchema: CategoryListInputSchema,
|
|
23
|
+
outputSchema: CategoryListResponseSchema,
|
|
24
|
+
httpRequest: params.httpRequest
|
|
25
|
+
});
|
|
23
26
|
}
|
|
24
27
|
async execute(input, accessToken) {
|
|
25
28
|
const url = new URL('https://api.mapbox.com/search/searchbox/v1/list/category');
|
|
@@ -27,28 +30,48 @@ export class CategoryListTool extends MapboxApiBasedTool {
|
|
|
27
30
|
if (input.language) {
|
|
28
31
|
url.searchParams.set('language', input.language);
|
|
29
32
|
}
|
|
30
|
-
const response = await this.
|
|
33
|
+
const response = await this.httpRequest(url.toString(), {
|
|
31
34
|
method: 'GET',
|
|
32
35
|
headers: {
|
|
33
36
|
'User-Agent': `@mapbox/mcp-server/${process.env.npm_package_version || 'dev'}`
|
|
34
37
|
}
|
|
35
38
|
});
|
|
36
39
|
if (!response.ok) {
|
|
37
|
-
|
|
40
|
+
return {
|
|
41
|
+
content: [
|
|
42
|
+
{
|
|
43
|
+
type: 'text',
|
|
44
|
+
text: `Mapbox API request failed: ${response.status} ${response.statusText}`
|
|
45
|
+
}
|
|
46
|
+
],
|
|
47
|
+
isError: true
|
|
48
|
+
};
|
|
38
49
|
}
|
|
39
|
-
const
|
|
50
|
+
const rawData = await response.json();
|
|
51
|
+
// Parse the API response (which has the full structure)
|
|
52
|
+
const data = rawData;
|
|
40
53
|
// Apply pagination - if no limit specified, return all
|
|
41
54
|
const startIndex = input.offset || 0;
|
|
42
55
|
let endIndex = data.listItems.length;
|
|
43
56
|
if (input.limit) {
|
|
44
57
|
endIndex = Math.min(startIndex + input.limit, data.listItems.length);
|
|
45
58
|
}
|
|
46
|
-
//
|
|
59
|
+
// Extract just the category IDs for our simplified response
|
|
47
60
|
const categoryIds = data.listItems
|
|
48
61
|
.slice(startIndex, endIndex)
|
|
49
62
|
.map((item) => item.canonical_id);
|
|
63
|
+
const result = { listItems: categoryIds };
|
|
64
|
+
// Validate our simplified output against the schema
|
|
65
|
+
try {
|
|
66
|
+
CategoryListResponseSchema.parse(result);
|
|
67
|
+
}
|
|
68
|
+
catch (validationError) {
|
|
69
|
+
this.log('warning', `Output schema validation failed: ${validationError instanceof Error ? validationError.message : 'Unknown validation error'}`);
|
|
70
|
+
}
|
|
50
71
|
return {
|
|
51
|
-
|
|
72
|
+
content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
|
|
73
|
+
structuredContent: result,
|
|
74
|
+
isError: false
|
|
52
75
|
};
|
|
53
76
|
}
|
|
54
77
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CategoryListTool.js","sourceRoot":"","sources":["../../../../src/tools/category-list-tool/CategoryListTool.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AAElC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"CategoryListTool.js","sourceRoot":"","sources":["../../../../src/tools/category-list-tool/CategoryListTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const CategoryListResponseSchema: z.ZodObject<{
|
|
3
|
+
listItems: z.ZodArray<z.ZodString, "many">;
|
|
4
|
+
}, "strip", z.ZodTypeAny, {
|
|
5
|
+
listItems: string[];
|
|
6
|
+
}, {
|
|
7
|
+
listItems: string[];
|
|
8
|
+
}>;
|
|
9
|
+
export type CategoryListResponse = z.infer<typeof CategoryListResponseSchema>;
|
|
10
|
+
//# sourceMappingURL=CategoryListTool.output.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CategoryListTool.output.schema.d.ts","sourceRoot":"","sources":["../../../../src/tools/category-list-tool/CategoryListTool.output.schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,0BAA0B;;;;;;EAErC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// Copyright (c) Mapbox, Inc.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
// Schema for the simplified output that the tool actually returns
|
|
5
|
+
// Just an array of category ID strings
|
|
6
|
+
export const CategoryListResponseSchema = z.object({
|
|
7
|
+
listItems: z.array(z.string())
|
|
8
|
+
});
|
|
9
|
+
//# sourceMappingURL=CategoryListTool.output.schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CategoryListTool.output.schema.js","sourceRoot":"","sources":["../../../../src/tools/category-list-tool/CategoryListTool.output.schema.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AAElC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,kEAAkE;AAClE,uCAAuC;AACvC,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC/B,CAAC,CAAC"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import type { z } from 'zod';
|
|
2
2
|
import { MapboxApiBasedTool } from '../MapboxApiBasedTool.js';
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
|
|
4
|
+
import type { HttpRequest } from '../../utils/types.js';
|
|
5
|
+
import { CategorySearchInputSchema } from './CategorySearchTool.input.schema.js';
|
|
6
|
+
import { CategorySearchResponseSchema } from './CategorySearchTool.output.schema.js';
|
|
7
|
+
export declare class CategorySearchTool extends MapboxApiBasedTool<typeof CategorySearchInputSchema, typeof CategorySearchResponseSchema> {
|
|
6
8
|
name: string;
|
|
7
9
|
description: string;
|
|
8
10
|
annotations: {
|
|
@@ -12,11 +14,10 @@ export declare class CategorySearchTool extends MapboxApiBasedTool<typeof Catego
|
|
|
12
14
|
idempotentHint: boolean;
|
|
13
15
|
openWorldHint: boolean;
|
|
14
16
|
};
|
|
15
|
-
constructor(
|
|
17
|
+
constructor(params: {
|
|
18
|
+
httpRequest: HttpRequest;
|
|
19
|
+
});
|
|
16
20
|
private formatGeoJsonToText;
|
|
17
|
-
protected execute(input: z.infer<typeof CategorySearchInputSchema>, accessToken: string): Promise<
|
|
18
|
-
type: 'text';
|
|
19
|
-
text: string;
|
|
20
|
-
}>;
|
|
21
|
+
protected execute(input: z.infer<typeof CategorySearchInputSchema>, accessToken: string): Promise<CallToolResult>;
|
|
21
22
|
}
|
|
22
23
|
//# sourceMappingURL=CategorySearchTool.d.ts.map
|
|
@@ -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;
|
|
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;CA6F3B"}
|
|
@@ -3,7 +3,7 @@ export declare const CategorySearchInputSchema: z.ZodObject<{
|
|
|
3
3
|
category: z.ZodString;
|
|
4
4
|
language: z.ZodOptional<z.ZodString>;
|
|
5
5
|
limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6
|
-
proximity: z.ZodOptional<z.
|
|
6
|
+
proximity: z.ZodOptional<z.ZodObject<{
|
|
7
7
|
longitude: z.ZodNumber;
|
|
8
8
|
latitude: z.ZodNumber;
|
|
9
9
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -12,10 +12,7 @@ export declare const CategorySearchInputSchema: z.ZodObject<{
|
|
|
12
12
|
}, {
|
|
13
13
|
longitude: number;
|
|
14
14
|
latitude: number;
|
|
15
|
-
}
|
|
16
|
-
longitude: any;
|
|
17
|
-
latitude: any;
|
|
18
|
-
}, string>]>>;
|
|
15
|
+
}>>;
|
|
19
16
|
bbox: z.ZodOptional<z.ZodObject<{
|
|
20
17
|
minLongitude: z.ZodNumber;
|
|
21
18
|
minLatitude: z.ZodNumber;
|
|
@@ -36,16 +33,13 @@ export declare const CategorySearchInputSchema: z.ZodObject<{
|
|
|
36
33
|
poi_category_exclusions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
37
34
|
format: z.ZodDefault<z.ZodOptional<z.ZodEnum<["json_string", "formatted_text"]>>>;
|
|
38
35
|
}, "strip", z.ZodTypeAny, {
|
|
39
|
-
limit: number;
|
|
40
36
|
category: string;
|
|
37
|
+
limit: number;
|
|
41
38
|
format: "json_string" | "formatted_text";
|
|
42
39
|
language?: string | undefined;
|
|
43
40
|
proximity?: {
|
|
44
41
|
longitude: number;
|
|
45
42
|
latitude: number;
|
|
46
|
-
} | "ip" | {
|
|
47
|
-
longitude: any;
|
|
48
|
-
latitude: any;
|
|
49
43
|
} | undefined;
|
|
50
44
|
bbox?: {
|
|
51
45
|
minLongitude: number;
|
|
@@ -59,7 +53,7 @@ export declare const CategorySearchInputSchema: z.ZodObject<{
|
|
|
59
53
|
category: string;
|
|
60
54
|
language?: string | undefined;
|
|
61
55
|
limit?: number | undefined;
|
|
62
|
-
proximity?:
|
|
56
|
+
proximity?: {
|
|
63
57
|
longitude: number;
|
|
64
58
|
latitude: number;
|
|
65
59
|
} | undefined;
|
|
@@ -73,4 +67,4 @@ export declare const CategorySearchInputSchema: z.ZodObject<{
|
|
|
73
67
|
poi_category_exclusions?: string[] | undefined;
|
|
74
68
|
format?: "json_string" | "formatted_text" | undefined;
|
|
75
69
|
}>;
|
|
76
|
-
//# sourceMappingURL=CategorySearchTool.schema.d.ts.map
|
|
70
|
+
//# sourceMappingURL=CategorySearchTool.input.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CategorySearchTool.input.schema.d.ts","sourceRoot":"","sources":["../../../../src/tools/category-search-tool/CategorySearchTool.input.schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyCpC,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// Copyright (c) Mapbox, Inc.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { languageSchema, bboxSchema } from '../../schemas/shared.js';
|
|
5
|
+
export const CategorySearchInputSchema = z.object({
|
|
6
|
+
category: z
|
|
7
|
+
.string()
|
|
8
|
+
.describe('The canonical place category name to search for (e.g., "restaurant", "hotel", "cafe"). To get the full list of supported categories, use the category_list_tool.'),
|
|
9
|
+
language: languageSchema.optional(),
|
|
10
|
+
limit: z
|
|
11
|
+
.number()
|
|
12
|
+
.min(1)
|
|
13
|
+
.max(25)
|
|
14
|
+
.optional()
|
|
15
|
+
.default(10)
|
|
16
|
+
.describe('Maximum number of results to return (1-25)'),
|
|
17
|
+
proximity: z
|
|
18
|
+
.object({
|
|
19
|
+
longitude: z.number().min(-180).max(180),
|
|
20
|
+
latitude: z.number().min(-90).max(90)
|
|
21
|
+
})
|
|
22
|
+
.optional()
|
|
23
|
+
.describe('Location to bias results towards as {longitude, latitude}. If not provided, defaults to IP-based location.'),
|
|
24
|
+
bbox: bboxSchema
|
|
25
|
+
.describe('Bounding box to limit results within specified bounds')
|
|
26
|
+
.optional(),
|
|
27
|
+
country: z
|
|
28
|
+
.array(z.string().length(2))
|
|
29
|
+
.optional()
|
|
30
|
+
.describe('Array of ISO 3166 alpha 2 country codes to limit results'),
|
|
31
|
+
poi_category_exclusions: z
|
|
32
|
+
.array(z.string())
|
|
33
|
+
.optional()
|
|
34
|
+
.describe('Array of POI categories to exclude from results'),
|
|
35
|
+
format: z
|
|
36
|
+
.enum(['json_string', 'formatted_text'])
|
|
37
|
+
.optional()
|
|
38
|
+
.default('formatted_text')
|
|
39
|
+
.describe('Output format: "json_string" returns raw GeoJSON data as a JSON string that can be parsed; "formatted_text" returns human-readable text with place names, addresses, and coordinates. Both return as text content but json_string contains parseable JSON data while formatted_text is for display.')
|
|
40
|
+
});
|
|
41
|
+
//# sourceMappingURL=CategorySearchTool.input.schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CategorySearchTool.input.schema.js","sourceRoot":"","sources":["../../../../src/tools/category-search-tool/CategorySearchTool.input.schema.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AAElC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErE,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,CACP,kKAAkK,CACnK;IACH,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE;IACnC,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;SACP,QAAQ,EAAE;SACV,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,CAAC,4CAA4C,CAAC;IACzD,SAAS,EAAE,CAAC;SACT,MAAM,CAAC;QACN,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;QACxC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;KACtC,CAAC;SACD,QAAQ,EAAE;SACV,QAAQ,CACP,4GAA4G,CAC7G;IACH,IAAI,EAAE,UAAU;SACb,QAAQ,CAAC,uDAAuD,CAAC;SACjE,QAAQ,EAAE;IACb,OAAO,EAAE,CAAC;SACP,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SAC3B,QAAQ,EAAE;SACV,QAAQ,CAAC,0DAA0D,CAAC;IACvE,uBAAuB,EAAE,CAAC;SACvB,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,iDAAiD,CAAC;IAC9D,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;SACvC,QAAQ,EAAE;SACV,OAAO,CAAC,gBAAgB,CAAC;SACzB,QAAQ,CACP,qSAAqS,CACtS;CACJ,CAAC,CAAC"}
|