@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
package/README.md
CHANGED
|
@@ -44,6 +44,7 @@ For more information about Mapbox access tokens, see the [Mapbox documentation o
|
|
|
44
44
|
For detailed setup instructions for different integrations, refer to the following guides:
|
|
45
45
|
|
|
46
46
|
- [Claude Desktop Setup](./docs/claude-desktop-setup.md) - Instructions for configuring Claude Desktop to work with this MCP server
|
|
47
|
+
- [Goose Setup](./docs/goose-setup.md) - Setting up Goose AI agent framework with MCP-UI support
|
|
47
48
|
- [VS Code Setup](./docs/vscode-setup.md) - Setting up a development environment in Visual Studio Code
|
|
48
49
|
- [Cursor AI IDE Setup](./docs/cursor-setup.md) - Setting up a development environment in Cursor AI IDE
|
|
49
50
|
- [Smolagents Integration](./docs/using-mcp-with-smolagents/README.md) - Example showing how to connect Smolagents AI agents to Mapbox's tools
|
|
@@ -83,11 +84,109 @@ Try these prompts with Claude Desktop or other MCP clients after setup:
|
|
|
83
84
|
- Include time constraints when relevant ("during rush hour", "at 3 PM")
|
|
84
85
|
- Ask for specific output formats when needed ("as a map image", "in JSON format")
|
|
85
86
|
|
|
87
|
+
## Resources
|
|
88
|
+
|
|
89
|
+
The MCP server exposes static reference data as **MCP resources**. Resources provide read-only access to data that clients can reference directly without making tool calls.
|
|
90
|
+
|
|
91
|
+
### Available Resources
|
|
92
|
+
|
|
93
|
+
#### Mapbox Categories Resource
|
|
94
|
+
|
|
95
|
+
**URI Pattern**: `mapbox://categories` or `mapbox://categories/{language}`
|
|
96
|
+
|
|
97
|
+
Access the complete list of available category IDs for use with the category search tool. Categories can be used to filter search results by type (e.g., "restaurant", "hotel", "gas_station").
|
|
98
|
+
|
|
99
|
+
**Examples**:
|
|
100
|
+
|
|
101
|
+
- `mapbox://categories` - Default (English) category list
|
|
102
|
+
- `mapbox://categories/ja` - Japanese category names
|
|
103
|
+
- `mapbox://categories/es` - Spanish category names
|
|
104
|
+
|
|
105
|
+
**Accessing Resources**:
|
|
106
|
+
|
|
107
|
+
- **Clients with native MCP resource support**: Use the `resources/read` MCP protocol method
|
|
108
|
+
- **Clients without resource support**: Use the `resource_reader_tool` with the resource URI
|
|
109
|
+
|
|
110
|
+
## MCP-UI Support
|
|
111
|
+
|
|
112
|
+
This MCP server supports **MCP-UI**, an open specification that allows compatible clients to render interactive UI elements like embedded iframes. This provides a richer visual experience while maintaining full backwards compatibility with clients that don't support MCP-UI.
|
|
113
|
+
|
|
114
|
+
### What is MCP-UI?
|
|
115
|
+
|
|
116
|
+
MCP-UI enables tools to return interactive UI resources alongside their standard output. Compatible clients can render these as embedded iframes, while clients without MCP-UI support simply ignore them and use the standard output.
|
|
117
|
+
|
|
118
|
+
### Supported Tools
|
|
119
|
+
|
|
120
|
+
- **Static Map Image Tool**: Returns both image data and an embeddable iframe URL for inline map visualization
|
|
121
|
+
|
|
122
|
+
### Benefits
|
|
123
|
+
|
|
124
|
+
- **Enhanced Experience**: Compatible clients (e.g., Goose) can display maps inline without leaving the chat
|
|
125
|
+
- **Backwards Compatible**: Non-supporting clients (e.g., Claude Desktop) continue working unchanged
|
|
126
|
+
- **No Configuration Required**: MCP-UI is enabled by default
|
|
127
|
+
|
|
128
|
+
### Configuration
|
|
129
|
+
|
|
130
|
+
MCP-UI is **enabled by default**. To disable it:
|
|
131
|
+
|
|
132
|
+
**Via Environment Variable:**
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
ENABLE_MCP_UI=false npm run build
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
**Via Command-Line Flag:**
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
node dist/esm/index.js --disable-mcp-ui
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
**In Claude Desktop config:**
|
|
145
|
+
|
|
146
|
+
```json
|
|
147
|
+
{
|
|
148
|
+
"mcpServers": {
|
|
149
|
+
"mapbox": {
|
|
150
|
+
"command": "npx",
|
|
151
|
+
"args": ["-y", "@mapbox/mcp-server", "--disable-mcp-ui"],
|
|
152
|
+
"env": {
|
|
153
|
+
"MAPBOX_ACCESS_TOKEN": "your_token_here"
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
**For more detailed information**, including compatible clients, technical implementation details, and troubleshooting, see the [MCP-UI documentation](./docs/mcp-ui.md).
|
|
161
|
+
|
|
86
162
|
## Tools
|
|
87
163
|
|
|
88
|
-
###
|
|
164
|
+
### Utility Tools
|
|
165
|
+
|
|
166
|
+
#### Resource Reader Tool
|
|
167
|
+
|
|
168
|
+
Provides access to MCP resources for clients that don't support the native MCP resource API. Use this tool to read resources like the category list.
|
|
169
|
+
|
|
170
|
+
**Parameters**:
|
|
89
171
|
|
|
90
|
-
|
|
172
|
+
- `uri`: The resource URI to read (e.g., `mapbox://categories`, `mapbox://categories/ja`)
|
|
173
|
+
|
|
174
|
+
**Example Usage**:
|
|
175
|
+
|
|
176
|
+
- Read default categories: `{"uri": "mapbox://categories"}`
|
|
177
|
+
- Read Japanese categories: `{"uri": "mapbox://categories/ja"}`
|
|
178
|
+
|
|
179
|
+
**Note**: If your MCP client supports native resources, prefer using the resource API directly for better performance.
|
|
180
|
+
|
|
181
|
+
### Mapbox API Tools
|
|
182
|
+
|
|
183
|
+
#### Category List Tool (Deprecated)
|
|
184
|
+
|
|
185
|
+
**⚠️ Deprecated**: Use the `resource_reader_tool` with URI `mapbox://categories` instead, or access the `mapbox://categories` resource directly if your client supports MCP resources.
|
|
186
|
+
|
|
187
|
+
This tool is maintained for backward compatibility with clients that don't support MCP resources or the resource_reader_tool.
|
|
188
|
+
|
|
189
|
+
#### Matrix Tool
|
|
91
190
|
|
|
92
191
|
Calculates travel times and distances between multiple points using [Mapbox Matrix API](https://www.mapbox.com/matrix-api). Features include:
|
|
93
192
|
|
|
@@ -168,11 +267,8 @@ This tool consolidates the functionality that was previously provided by the For
|
|
|
168
267
|
### Using Node.js
|
|
169
268
|
|
|
170
269
|
```sh
|
|
171
|
-
#
|
|
172
|
-
npm run build
|
|
173
|
-
|
|
174
|
-
# Inspect
|
|
175
|
-
npx @modelcontextprotocol/inspector node dist/esm/index.js
|
|
270
|
+
# Run the built image
|
|
271
|
+
npm run inspect:build
|
|
176
272
|
```
|
|
177
273
|
|
|
178
274
|
### Using Docker
|
|
@@ -192,23 +288,87 @@ npx plop create-tool
|
|
|
192
288
|
# provide tool name without suffix (e.g. Search)
|
|
193
289
|
```
|
|
194
290
|
|
|
291
|
+
## OpenTelemetry Tracing
|
|
292
|
+
|
|
293
|
+
This MCP server includes comprehensive OpenTelemetry tracing for production observability:
|
|
294
|
+
|
|
295
|
+
### Quick Demo
|
|
296
|
+
|
|
297
|
+
```sh
|
|
298
|
+
# 1. Copy the example configuration
|
|
299
|
+
cp .env.example .env
|
|
300
|
+
|
|
301
|
+
# 2. Edit .env to add your MAPBOX_ACCESS_TOKEN and configure tracing
|
|
302
|
+
|
|
303
|
+
# 3. Start Jaeger for local development
|
|
304
|
+
npm run tracing:jaeger:start
|
|
305
|
+
|
|
306
|
+
# 4. Run the server (it will automatically use .env configuration)
|
|
307
|
+
npm run inspect:build
|
|
308
|
+
|
|
309
|
+
# 5. View traces at http://localhost:16686
|
|
310
|
+
|
|
311
|
+
# 6. Stop Jaeger when done
|
|
312
|
+
npm run tracing:jaeger:stop
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
**Note:** The server automatically loads configuration from your `.env` file at startup. The `.env.example` file includes configuration examples for multiple observability platforms.
|
|
316
|
+
|
|
317
|
+
### Supported Observability Platforms
|
|
318
|
+
|
|
319
|
+
Configuration examples included in `.env.example` for:
|
|
320
|
+
|
|
321
|
+
**Cloud Providers:**
|
|
322
|
+
|
|
323
|
+
- ☁️ AWS X-Ray
|
|
324
|
+
- ☁️ Azure Monitor (Application Insights)
|
|
325
|
+
- ☁️ Google Cloud Trace
|
|
326
|
+
|
|
327
|
+
**SaaS Platforms:**
|
|
328
|
+
|
|
329
|
+
- 📊 Datadog
|
|
330
|
+
- 📊 New Relic
|
|
331
|
+
- 📊 Honeycomb
|
|
332
|
+
- 📊 Any OTLP-compatible backend
|
|
333
|
+
|
|
334
|
+
### Production Configuration
|
|
335
|
+
|
|
336
|
+
See [docs/tracing.md](./docs/tracing.md) for complete setup instructions including:
|
|
337
|
+
|
|
338
|
+
- 🔧 Platform-specific configuration guides
|
|
339
|
+
- 📊 Authentication and endpoint setup
|
|
340
|
+
- 🎯 Custom trace attributes and context
|
|
341
|
+
- 🚀 Performance optimization (minimal overhead)
|
|
342
|
+
- 🔍 Troubleshooting and debugging
|
|
343
|
+
|
|
344
|
+
**Tracing Features:**
|
|
345
|
+
|
|
346
|
+
- ✅ Configuration loading tracing (.env file loading)
|
|
347
|
+
- ✅ Automatic tool execution tracing
|
|
348
|
+
- ✅ HTTP request instrumentation with CloudFront correlation IDs
|
|
349
|
+
- ✅ Configurable exporters (console, OTLP)
|
|
350
|
+
- ✅ Security-conscious (data protection, JWT validation)
|
|
351
|
+
- ✅ Production-ready (<1% CPU overhead)
|
|
352
|
+
|
|
195
353
|
## Contributing
|
|
196
354
|
|
|
197
355
|
We welcome contributions to the Mapbox MCP Server! Please review our standards and guidelines before contributing:
|
|
198
356
|
|
|
199
|
-
- **[Engineering Standards (
|
|
200
|
-
- **[
|
|
357
|
+
- **[Engineering Standards (docs/engineering_standards.md)](./docs/engineering_standards.md)** - Complete code quality, testing, documentation, and collaboration standards for all contributors
|
|
358
|
+
- **[Claude Code Guide (CLAUDE.md)](./CLAUDE.md)** - Standards and patterns for contributors using Claude Code
|
|
359
|
+
- **[AI Agent Instructions (AGENTS.md)](./AGENTS.md)** - Guide for general AI coding assistants (Cursor, Continue, Aider, etc.)
|
|
201
360
|
- **[GitHub Copilot Guidelines](./.github/copilot-instructions.md)** - Best practices for using GitHub Copilot responsibly in this project
|
|
202
361
|
|
|
203
362
|
### Quick Start for Contributors
|
|
204
363
|
|
|
205
364
|
1. Fork the repository and clone your fork
|
|
206
|
-
2.
|
|
365
|
+
2. Install dependencies: `npm install`
|
|
207
366
|
3. Make your changes following our coding standards
|
|
208
|
-
4.
|
|
209
|
-
5.
|
|
367
|
+
4. Run tests and linting: `npm test && npm run lint`
|
|
368
|
+
5. Add tests for any new functionality
|
|
369
|
+
6. Submit a pull request with a clear description
|
|
210
370
|
|
|
211
|
-
All contributions must pass our CI checks and code review process. See [
|
|
371
|
+
All contributions must pass our CI checks and code review process. See [docs/engineering_standards.md](./docs/engineering_standards.md) for detailed requirements.
|
|
212
372
|
|
|
213
373
|
## Data Usage & Privacy
|
|
214
374
|
|
|
@@ -2,7 +2,17 @@ import type { ToolInstance } from '../tools/toolRegistry.js';
|
|
|
2
2
|
export interface ToolConfig {
|
|
3
3
|
enabledTools?: string[];
|
|
4
4
|
disabledTools?: string[];
|
|
5
|
+
enableMcpUi?: boolean;
|
|
5
6
|
}
|
|
6
7
|
export declare function parseToolConfigFromArgs(): ToolConfig;
|
|
7
8
|
export declare function filterTools(tools: readonly ToolInstance[], config: ToolConfig): ToolInstance[];
|
|
9
|
+
/**
|
|
10
|
+
* Check if MCP-UI support is enabled.
|
|
11
|
+
* MCP-UI is enabled by default and can be explicitly disabled via:
|
|
12
|
+
* - Environment variable: ENABLE_MCP_UI=false
|
|
13
|
+
* - Command-line flag: --disable-mcp-ui
|
|
14
|
+
*
|
|
15
|
+
* @returns true if MCP-UI is enabled (default), false if explicitly disabled
|
|
16
|
+
*/
|
|
17
|
+
export declare function isMcpUiEnabled(): boolean;
|
|
8
18
|
//# sourceMappingURL=toolConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolConfig.d.ts","sourceRoot":"","sources":["../../../src/config/toolConfig.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,MAAM,WAAW,UAAU;IACzB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"toolConfig.d.ts","sourceRoot":"","sources":["../../../src/config/toolConfig.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,MAAM,WAAW,UAAU;IACzB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,uBAAuB,IAAI,UAAU,CAoCpD;AAED,wBAAgB,WAAW,CACzB,KAAK,EAAE,SAAS,YAAY,EAAE,EAC9B,MAAM,EAAE,UAAU,GACjB,YAAY,EAAE,CAqBhB;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAcxC"}
|
|
@@ -4,9 +4,14 @@
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.parseToolConfigFromArgs = parseToolConfigFromArgs;
|
|
6
6
|
exports.filterTools = filterTools;
|
|
7
|
+
exports.isMcpUiEnabled = isMcpUiEnabled;
|
|
7
8
|
function parseToolConfigFromArgs() {
|
|
8
9
|
const args = process.argv.slice(2);
|
|
9
10
|
const config = {};
|
|
11
|
+
// Check environment variable first (takes precedence)
|
|
12
|
+
if (process.env.ENABLE_MCP_UI !== undefined) {
|
|
13
|
+
config.enableMcpUi = process.env.ENABLE_MCP_UI === 'true';
|
|
14
|
+
}
|
|
10
15
|
for (let i = 0; i < args.length; i++) {
|
|
11
16
|
const arg = args[i];
|
|
12
17
|
if (arg === '--enable-tools') {
|
|
@@ -21,6 +26,16 @@ function parseToolConfigFromArgs() {
|
|
|
21
26
|
config.disabledTools = value.split(',').map((t) => t.trim());
|
|
22
27
|
}
|
|
23
28
|
}
|
|
29
|
+
else if (arg === '--disable-mcp-ui') {
|
|
30
|
+
// Command-line flag can disable it if env var not set
|
|
31
|
+
if (config.enableMcpUi === undefined) {
|
|
32
|
+
config.enableMcpUi = false;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
// Default to true if not set (enabled by default)
|
|
37
|
+
if (config.enableMcpUi === undefined) {
|
|
38
|
+
config.enableMcpUi = true;
|
|
24
39
|
}
|
|
25
40
|
return config;
|
|
26
41
|
}
|
|
@@ -39,4 +54,25 @@ function filterTools(tools, config) {
|
|
|
39
54
|
}
|
|
40
55
|
return filteredTools;
|
|
41
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* Check if MCP-UI support is enabled.
|
|
59
|
+
* MCP-UI is enabled by default and can be explicitly disabled via:
|
|
60
|
+
* - Environment variable: ENABLE_MCP_UI=false
|
|
61
|
+
* - Command-line flag: --disable-mcp-ui
|
|
62
|
+
*
|
|
63
|
+
* @returns true if MCP-UI is enabled (default), false if explicitly disabled
|
|
64
|
+
*/
|
|
65
|
+
function isMcpUiEnabled() {
|
|
66
|
+
// Check environment variable first (takes precedence)
|
|
67
|
+
if (process.env.ENABLE_MCP_UI === 'false') {
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
// Check command-line arguments
|
|
71
|
+
const args = process.argv.slice(2);
|
|
72
|
+
if (args.includes('--disable-mcp-ui')) {
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
// Default to enabled
|
|
76
|
+
return true;
|
|
77
|
+
}
|
|
42
78
|
//# sourceMappingURL=toolConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolConfig.js","sourceRoot":"","sources":["../../../src/config/toolConfig.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;
|
|
1
|
+
{"version":3,"file":"toolConfig.js","sourceRoot":"","sources":["../../../src/config/toolConfig.ts"],"names":[],"mappings":"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"}
|
package/dist/commonjs/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":""}
|
package/dist/commonjs/index.js
CHANGED
|
@@ -3,38 +3,234 @@
|
|
|
3
3
|
// Copyright (c) Mapbox, Inc.
|
|
4
4
|
// Licensed under the MIT License.
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
// Load environment variables from .env file if present
|
|
7
|
+
// Use Node.js built-in util.parseEnv() and manually apply to override existing vars
|
|
8
|
+
const node_util_1 = require("node:util");
|
|
9
|
+
const node_fs_1 = require("node:fs");
|
|
10
|
+
const node_path_1 = require("node:path");
|
|
11
|
+
const node_fs_2 = require("node:fs");
|
|
12
|
+
const api_1 = require("@opentelemetry/api");
|
|
6
13
|
const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
|
|
7
14
|
const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
|
|
15
|
+
const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
|
|
8
16
|
const toolConfig_js_1 = require("./config/toolConfig.js");
|
|
9
17
|
const toolRegistry_js_1 = require("./tools/toolRegistry.js");
|
|
18
|
+
const resourceRegistry_js_1 = require("./resources/resourceRegistry.js");
|
|
19
|
+
const promptRegistry_js_1 = require("./prompts/promptRegistry.js");
|
|
10
20
|
const versionUtils_js_1 = require("./utils/versionUtils.js");
|
|
11
|
-
require("
|
|
21
|
+
const tracing_js_1 = require("./utils/tracing.js");
|
|
22
|
+
// Load .env from current working directory (where npm run is executed)
|
|
23
|
+
// This happens before tracing is initialized, but we'll add a span when tracing is ready
|
|
24
|
+
const envPath = (0, node_path_1.join)(process.cwd(), '.env');
|
|
25
|
+
let envLoadError = null;
|
|
26
|
+
let envLoadedCount = 0;
|
|
27
|
+
if ((0, node_fs_2.existsSync)(envPath)) {
|
|
28
|
+
try {
|
|
29
|
+
// Read and parse .env file using Node.js built-in parseEnv
|
|
30
|
+
const envFile = (0, node_fs_1.readFileSync)(envPath, 'utf-8');
|
|
31
|
+
const parsed = (0, node_util_1.parseEnv)(envFile);
|
|
32
|
+
// Apply parsed values to process.env (with override)
|
|
33
|
+
// Note: process.loadEnvFile() doesn't override, so we use parseEnv + manual assignment
|
|
34
|
+
for (const [key, value] of Object.entries(parsed)) {
|
|
35
|
+
process.env[key] = value;
|
|
36
|
+
envLoadedCount++;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
envLoadError = error instanceof Error ? error : new Error(String(error));
|
|
41
|
+
}
|
|
42
|
+
}
|
|
12
43
|
const versionInfo = (0, versionUtils_js_1.getVersionInfo)();
|
|
13
44
|
// Parse configuration from command-line arguments
|
|
14
45
|
const config = (0, toolConfig_js_1.parseToolConfigFromArgs)();
|
|
15
46
|
// Get and filter tools based on configuration
|
|
16
47
|
const allTools = (0, toolRegistry_js_1.getAllTools)();
|
|
17
48
|
const enabledTools = (0, toolConfig_js_1.filterTools)(allTools, config);
|
|
49
|
+
// Get all resources
|
|
50
|
+
const allResources = (0, resourceRegistry_js_1.getAllResources)();
|
|
18
51
|
// Create an MCP server
|
|
19
52
|
const server = new mcp_js_1.McpServer({
|
|
20
53
|
name: versionInfo.name,
|
|
21
54
|
version: versionInfo.version
|
|
22
55
|
}, {
|
|
23
56
|
capabilities: {
|
|
24
|
-
tools: {}
|
|
57
|
+
tools: {},
|
|
58
|
+
resources: {},
|
|
59
|
+
prompts: {}
|
|
25
60
|
}
|
|
26
61
|
});
|
|
27
62
|
// Register enabled tools to the server
|
|
28
63
|
enabledTools.forEach((tool) => {
|
|
29
64
|
tool.installTo(server);
|
|
30
65
|
});
|
|
66
|
+
// Register all resources to the server
|
|
67
|
+
allResources.forEach((resource) => {
|
|
68
|
+
resource.installTo(server);
|
|
69
|
+
});
|
|
70
|
+
// Register prompt handlers
|
|
71
|
+
server.server.setRequestHandler(types_js_1.ListPromptsRequestSchema, async () => {
|
|
72
|
+
const allPrompts = (0, promptRegistry_js_1.getAllPrompts)();
|
|
73
|
+
return {
|
|
74
|
+
prompts: allPrompts.map((prompt) => prompt.getMetadata())
|
|
75
|
+
};
|
|
76
|
+
});
|
|
77
|
+
server.server.setRequestHandler(types_js_1.GetPromptRequestSchema, async (request) => {
|
|
78
|
+
const { name, arguments: args } = request.params;
|
|
79
|
+
const prompt = (0, promptRegistry_js_1.getPromptByName)(name);
|
|
80
|
+
if (!prompt) {
|
|
81
|
+
throw new Error(`Prompt not found: ${name}`);
|
|
82
|
+
}
|
|
83
|
+
// Convert args to object for easier access
|
|
84
|
+
const argsObj = {};
|
|
85
|
+
if (args && typeof args === 'object') {
|
|
86
|
+
Object.assign(argsObj, args);
|
|
87
|
+
}
|
|
88
|
+
// Get the prompt messages with filled-in arguments
|
|
89
|
+
const messages = prompt.getMessages(argsObj);
|
|
90
|
+
return {
|
|
91
|
+
description: prompt.description,
|
|
92
|
+
messages
|
|
93
|
+
};
|
|
94
|
+
});
|
|
31
95
|
async function main() {
|
|
96
|
+
// Initialize OpenTelemetry tracing if not in test mode
|
|
97
|
+
let tracingInitialized = false;
|
|
98
|
+
if (process.env.NODE_ENV !== 'test' && !process.env.VITEST) {
|
|
99
|
+
try {
|
|
100
|
+
await (0, tracing_js_1.initializeTracing)();
|
|
101
|
+
tracingInitialized = (0, tracing_js_1.isTracingInitialized)();
|
|
102
|
+
// Record .env loading as a span (retrospectively since it happened before tracing init)
|
|
103
|
+
if (tracingInitialized) {
|
|
104
|
+
const tracer = (0, tracing_js_1.getTracer)();
|
|
105
|
+
const span = tracer.startSpan('config.load_env', {
|
|
106
|
+
attributes: {
|
|
107
|
+
'config.file.path': envPath,
|
|
108
|
+
'config.file.exists': (0, node_fs_2.existsSync)(envPath),
|
|
109
|
+
'config.vars.loaded': envLoadedCount,
|
|
110
|
+
'operation.type': 'config_load'
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
if (envLoadError) {
|
|
114
|
+
span.recordException(envLoadError);
|
|
115
|
+
span.setStatus({
|
|
116
|
+
code: api_1.SpanStatusCode.ERROR,
|
|
117
|
+
message: envLoadError.message
|
|
118
|
+
});
|
|
119
|
+
span.setAttribute('error.type', envLoadError.name);
|
|
120
|
+
span.setAttribute('error.message', envLoadError.message);
|
|
121
|
+
}
|
|
122
|
+
else if (envLoadedCount > 0) {
|
|
123
|
+
span.setStatus({ code: api_1.SpanStatusCode.OK });
|
|
124
|
+
span.setAttribute('config.load.success', true);
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
// No error, but no variables loaded either (file might be empty or not exist)
|
|
128
|
+
span.setStatus({ code: api_1.SpanStatusCode.OK });
|
|
129
|
+
span.setAttribute('config.load.success', true);
|
|
130
|
+
span.setAttribute('config.load.empty', true);
|
|
131
|
+
}
|
|
132
|
+
span.end();
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
catch (error) {
|
|
136
|
+
// Tracing initialization failed, log it but continue without tracing
|
|
137
|
+
server.server.sendLoggingMessage({
|
|
138
|
+
level: 'warning',
|
|
139
|
+
data: `Failed to initialize tracing: ${error instanceof Error ? error.message : String(error)}`
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
// Log tracing status and configuration
|
|
144
|
+
if (tracingInitialized) {
|
|
145
|
+
const tracingConfig = {
|
|
146
|
+
status: 'enabled',
|
|
147
|
+
endpoint: process.env.OTEL_EXPORTER_OTLP_ENDPOINT || 'not set',
|
|
148
|
+
serviceName: process.env.OTEL_SERVICE_NAME || 'mapbox-mcp-server (default)'
|
|
149
|
+
};
|
|
150
|
+
server.server.sendLoggingMessage({
|
|
151
|
+
level: 'info',
|
|
152
|
+
data: `OpenTelemetry tracing enabled - Endpoint: ${tracingConfig.endpoint}, Service: ${tracingConfig.serviceName}`
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
server.server.sendLoggingMessage({
|
|
157
|
+
level: 'info',
|
|
158
|
+
data: 'OpenTelemetry tracing: disabled'
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
// Send MCP logging message about environment variables
|
|
162
|
+
if (envLoadError) {
|
|
163
|
+
server.server.sendLoggingMessage({
|
|
164
|
+
level: 'warning',
|
|
165
|
+
data: `Warning loading .env file: ${envLoadError.message}`
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
else if (envLoadedCount > 0) {
|
|
169
|
+
server.server.sendLoggingMessage({
|
|
170
|
+
level: 'info',
|
|
171
|
+
data: `Loaded ${envLoadedCount} environment variables from ${envPath}`
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
const relevantEnvVars = Object.freeze({
|
|
175
|
+
MAPBOX_ACCESS_TOKEN: process.env.MAPBOX_ACCESS_TOKEN ? '***' : undefined,
|
|
176
|
+
MAPBOX_API_ENDPOINT: process.env.MAPBOX_API_ENDPOINT,
|
|
177
|
+
OTEL_SERVICE_NAME: process.env.OTEL_SERVICE_NAME,
|
|
178
|
+
OTEL_EXPORTER_OTLP_ENDPOINT: process.env.OTEL_EXPORTER_OTLP_ENDPOINT,
|
|
179
|
+
OTEL_TRACING_ENABLED: process.env.OTEL_TRACING_ENABLED,
|
|
180
|
+
NODE_ENV: process.env.NODE_ENV
|
|
181
|
+
});
|
|
182
|
+
server.server.sendLoggingMessage({
|
|
183
|
+
level: 'debug',
|
|
184
|
+
data: JSON.stringify(relevantEnvVars, null, 2)
|
|
185
|
+
});
|
|
32
186
|
// Start receiving messages on stdin and sending messages on stdout
|
|
33
187
|
const transport = new stdio_js_1.StdioServerTransport();
|
|
34
188
|
await server.connect(transport);
|
|
35
189
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
190
|
+
// Ensure cleanup interval is cleared when the process exits
|
|
191
|
+
async function shutdown() {
|
|
192
|
+
// Shutdown tracing
|
|
193
|
+
try {
|
|
194
|
+
await (0, tracing_js_1.shutdownTracing)();
|
|
195
|
+
}
|
|
196
|
+
catch (error) {
|
|
197
|
+
// Tracing shutdown failed, log via MCP if server is available
|
|
198
|
+
try {
|
|
199
|
+
server.server.sendLoggingMessage({
|
|
200
|
+
level: 'error',
|
|
201
|
+
data: `Error shutting down tracing: ${error instanceof Error ? error.message : String(error)}`
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
catch {
|
|
205
|
+
// Server not available, ignore
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
process.exit(0);
|
|
209
|
+
}
|
|
210
|
+
function exitWithLog(message, error, code = 1) {
|
|
211
|
+
// Log error via MCP server if available
|
|
212
|
+
try {
|
|
213
|
+
server.server.sendLoggingMessage({
|
|
214
|
+
level: 'error',
|
|
215
|
+
data: `${message}: ${error instanceof Error ? error.message : String(error)}`
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
catch {
|
|
219
|
+
// Server not available, ignore
|
|
220
|
+
}
|
|
221
|
+
process.exit(code);
|
|
222
|
+
}
|
|
223
|
+
['SIGINT', 'SIGTERM'].forEach((signal) => {
|
|
224
|
+
process.on(signal, async () => {
|
|
225
|
+
try {
|
|
226
|
+
await shutdown();
|
|
227
|
+
}
|
|
228
|
+
finally {
|
|
229
|
+
process.exit(0);
|
|
230
|
+
}
|
|
231
|
+
});
|
|
39
232
|
});
|
|
233
|
+
process.on('uncaughtException', (err) => exitWithLog('Uncaught exception:', err));
|
|
234
|
+
process.on('unhandledRejection', (reason) => exitWithLog('Unhandled rejection:', reason));
|
|
235
|
+
main().catch((error) => exitWithLog('Fatal error starting MCP server:', error));
|
|
40
236
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;AAElC,oEAAoE;AACpE,wEAAiF;AACjF,0DAA8E;AAC9E,6DAAsD;AACtD,6DAAyD;AACzD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { type Prompt, type PromptArgument, type PromptMessage } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Base class for all MCP prompts.
|
|
4
|
+
*
|
|
5
|
+
* Prompts are pre-built, parameterized workflows that guide multi-step geospatial tasks.
|
|
6
|
+
* They capture domain expertise and best practices for common use cases.
|
|
7
|
+
*/
|
|
8
|
+
export declare abstract class BasePrompt {
|
|
9
|
+
/**
|
|
10
|
+
* Unique identifier for this prompt (e.g., "find-places-nearby")
|
|
11
|
+
*/
|
|
12
|
+
abstract readonly name: string;
|
|
13
|
+
/**
|
|
14
|
+
* Human-readable description of what this prompt does
|
|
15
|
+
*/
|
|
16
|
+
abstract readonly description: string;
|
|
17
|
+
/**
|
|
18
|
+
* Arguments this prompt accepts
|
|
19
|
+
*/
|
|
20
|
+
abstract readonly arguments: PromptArgument[];
|
|
21
|
+
/**
|
|
22
|
+
* Get the prompt metadata for listing
|
|
23
|
+
*/
|
|
24
|
+
getMetadata(): Prompt;
|
|
25
|
+
/**
|
|
26
|
+
* Generate the prompt messages with filled-in arguments
|
|
27
|
+
*
|
|
28
|
+
* @param args - The argument values provided by the user/agent
|
|
29
|
+
* @returns Array of messages to send to the LLM
|
|
30
|
+
*/
|
|
31
|
+
abstract getMessages(args: Record<string, string>): PromptMessage[];
|
|
32
|
+
/**
|
|
33
|
+
* Validate that all required arguments are provided
|
|
34
|
+
*
|
|
35
|
+
* @param args - The argument values to validate
|
|
36
|
+
* @throws Error if required arguments are missing
|
|
37
|
+
*/
|
|
38
|
+
protected validateArguments(args: Record<string, string>): void;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=BasePrompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BasePrompt.d.ts","sourceRoot":"","sources":["../../../src/prompts/BasePrompt.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,MAAM,EACX,KAAK,cAAc,EACnB,KAAK,aAAa,EACnB,MAAM,oCAAoC,CAAC;AAE5C;;;;;GAKG;AACH,8BAAsB,UAAU;IAC9B;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAEtC;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,cAAc,EAAE,CAAC;IAE9C;;OAEG;IACH,WAAW,IAAI,MAAM;IAQrB;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,aAAa,EAAE;IAEnE;;;;;OAKG;IACH,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;CAOhE"}
|