gradeNot graded
fly_toAction
Animate the map camera to a specific location. Use this to navigate the map to a place of interest.
View tool JSON
{
"name": "fly_to",
"kind": "act",
"impl": "imperative",
"description": "Animate the map camera to a specific location. Use this to navigate the map to a place of interest.",
"inputSchema": {
"type": "object",
"properties": {
"longitude": {
"type": "number",
"description": "Longitude of the target location",
"minimum": -180,
"maximum": 180
},
"latitude": {
"type": "number",
"description": "Latitude of the target location",
"minimum": -90,
"maximum": 90
},
"zoom": {
"type": "number",
"description": "Zoom level (0–22). Defaults to current zoom if omitted.",
"minimum": 0,
"maximum": 22
}
},
"required": [
"longitude",
"latitude"
]
}
}add_markerAction
Add a marker pin at a location on the map, with an optional popup label.
View tool JSON
{
"name": "add_marker",
"kind": "act",
"impl": "imperative",
"description": "Add a marker pin at a location on the map, with an optional popup label.",
"inputSchema": {
"type": "object",
"properties": {
"longitude": {
"type": "number",
"description": "Longitude",
"minimum": -180,
"maximum": 180
},
"latitude": {
"type": "number",
"description": "Latitude",
"minimum": -90,
"maximum": 90
},
"label": {
"type": "string",
"description": "Optional popup text to display on the marker"
}
},
"required": [
"longitude",
"latitude"
]
}
}clear_markersAction
Remove all markers that were added to the map via the add_marker tool.
View tool JSON
{
"name": "clear_markers",
"kind": "act",
"impl": "imperative",
"description": "Remove all markers that were added to the map via the add_marker tool.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
}
}get_viewportAnswer
Return the current map viewport: center coordinates, zoom level, bearing, pitch, and bounding box.
View tool JSON
{
"name": "get_viewport",
"kind": "answer",
"impl": "imperative",
"description": "Return the current map viewport: center coordinates, zoom level, bearing, pitch, and bounding box.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
}
}show_routeAction
Draw a route on the map from a GeoJSON LineString. Replaces any previously drawn route.
View tool JSON
{
"name": "show_route",
"kind": "act",
"impl": "imperative",
"description": "Draw a route on the map from a GeoJSON LineString. Replaces any previously drawn route.",
"inputSchema": {
"type": "object",
"properties": {
"geojson": {
"type": "string",
"description": "A GeoJSON LineString feature or FeatureCollection as a JSON string. Example: {\"type\":\"Feature\",\"geometry\":{\"type\":\"LineString\",\"coordinates\":[[-122.4,37.8],[-122.5,37.9]]}}"
},
"color": {
"type": "string",
"description": "Line color as a CSS color string (e.g. \"#3b82f6\"). Defaults to \"#3b82f6\".",
"default": "#3b82f6"
},
"width": {
"type": "number",
"description": "Line width in pixels. Defaults to 4.",
"minimum": 1,
"maximum": 20,
"default": 4
}
},
"required": [
"geojson"
]
}
}set_styleAction
Change the map style. Accepts a style shorthand (streets, satellite, dark, light, outdoors, satellite-streets, navigation-day, navigation-night) or a full Mapbox style URL.
View tool JSON
{
"name": "set_style",
"kind": "act",
"impl": "imperative",
"description": "Change the map style. Accepts a style shorthand (streets, satellite, dark, light, outdoors, satellite-streets, navigation-day, navigation-night) or a full Mapbox style URL.",
"inputSchema": {
"type": "object",
"properties": {
"style": {
"type": "string",
"description": "Style shorthand or full Mapbox style URL (mapbox://styles/...). Shorthands: streets, outdoors, light, dark, satellite, satellite-streets, navigation-day, navigation-night.",
"enum": [
"streets",
"outdoors",
"light",
"dark",
"satellite",
"satellite-streets",
"navigation-day",
"navigation-night"
]
}
},
"required": [
"style"
]
}
}list_markersAnswer
List all markers currently on the map, in the order they were added, with their coordinates and labels.
View tool JSON
{
"name": "list_markers",
"kind": "answer",
"impl": "imperative",
"description": "List all markers currently on the map, in the order they were added, with their coordinates and labels.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
}
}fit_boundsAction
Animate the camera to frame all markers currently on the map. Use this after adding multiple stops to show the whole trip at once.
View tool JSON
{
"name": "fit_bounds",
"kind": "act",
"impl": "imperative",
"description": "Animate the camera to frame all markers currently on the map. Use this after adding multiple stops to show the whole trip at once.",
"inputSchema": {
"type": "object",
"properties": {
"padding": {
"type": "number",
"description": "Padding in pixels around the fitted bounds.",
"minimum": 0,
"maximum": 400,
"default": 60
}
},
"required": []
}
}geocode_placeAnswer
Look up a named place (landmark, POI, address) and return its coordinates. Use this to find where a specific place is. Pass just the place name (e.g. "Louvre Museum") — do NOT append ", City" to the query, which tends to surface unrelated listings whose descriptions happen to mention the city. To disambiguate a common name, use proximity_longitude/proximity_latitude instead.
View tool JSON
{
"name": "geocode_place",
"kind": "answer",
"impl": "imperative",
"description": "Look up a named place (landmark, POI, address) and return its coordinates. Use this to find where a specific place is. Pass just the place name (e.g. \"Louvre Museum\") — do NOT append \", City\" to the query, which tends to surface unrelated listings whose descriptions happen to mention the city. To disambiguate a common name, use proximity_longitude/proximity_latitude instead.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Name or address of the place to look up, e.g. \"Eiffel Tower\"."
},
"proximity_longitude": {
"type": "number",
"description": "Optional longitude to bias results toward.",
"minimum": -180,
"maximum": 180
},
"proximity_latitude": {
"type": "number",
"description": "Optional latitude to bias results toward.",
"minimum": -90,
"maximum": 90
}
},
"required": [
"query"
]
}
}search_categoryAnswer
Search for places near a location by category (e.g. "coffee", "restaurant", "museum"). Returns a list of nearby matches.
View tool JSON
{
"name": "search_category",
"kind": "answer",
"impl": "imperative",
"description": "Search for places near a location by category (e.g. \"coffee\", \"restaurant\", \"museum\"). Returns a list of nearby matches.",
"inputSchema": {
"type": "object",
"properties": {
"category": {
"type": "string",
"description": "Category to search for, e.g. \"coffee\", \"restaurant\", \"museum\"."
},
"proximity_longitude": {
"type": "number",
"description": "Longitude to search near.",
"minimum": -180,
"maximum": 180
},
"proximity_latitude": {
"type": "number",
"description": "Latitude to search near.",
"minimum": -90,
"maximum": 90
},
"limit": {
"type": "number",
"description": "Maximum number of results. Defaults to 5.",
"minimum": 1,
"maximum": 25,
"default": 5
}
},
"required": [
"category",
"proximity_longitude",
"proximity_latitude"
]
}
}get_directionsAnswer
Get a route between an ordered list of coordinates. Returns GeoJSON geometry (pass it directly to show_route), plus distance and duration.
View tool JSON
{
"name": "get_directions",
"kind": "answer",
"impl": "imperative",
"description": "Get a route between an ordered list of coordinates. Returns GeoJSON geometry (pass it directly to show_route), plus distance and duration.",
"inputSchema": {
"type": "object",
"properties": {
"coordinates": {
"type": "string",
"description": "JSON-encoded array of stops in visit order, e.g. '[{\"longitude\":2.29,\"latitude\":48.86},{\"longitude\":2.33,\"latitude\":48.86}]'."
},
"profile": {
"type": "string",
"description": "Routing profile. Defaults to \"walking\".",
"enum": [
"driving",
"walking",
"cycling"
],
"default": "walking"
}
},
"required": [
"coordinates"
]
}
}