area_tool
ChatGPTCalculate the area of a polygon or multipolygon. Supports various units including square meters, kilometers, acres, and hectares. Works offline without API calls.
bbox_tool
ChatGPTCalculate the bounding box (extent) of any geometry. Returns the minimum and maximum longitude and latitude that encompass the geometry. Works offline without API calls.
bearing_tool
ChatGPTCalculate the bearing (compass direction) from one point to another. Returns bearing in degrees where 0° is North, 90° is East, 180° is South, and 270° is West. Works offline without API calls.
buffer_tool
ChatGPTCreate a buffer zone (polygon) around a point, line, or polygon at a specified distance. Useful for proximity analysis, service areas, or creating zones of influence. Works offline without API calls.
category_list_tool
ChatGPT[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. Supports limit/offset pagination.
category_search_tool
ChatGPTReturn all places that match a category (industry, amenity, or NAICS‑style code). Use when the user asks for a type of place, plural or generic terms like 'museums', 'coffee shops', 'electric‑vehicle chargers', or when the query includes is‑a phrases such as 'any', 'all', 'nearby'. Do not use when a unique name or brand is provided. Supports both JSON and text output formats.
centroid_tool
ChatGPTCalculate the geometric center (centroid) of a polygon or multipolygon. The centroid is the arithmetic mean position of all points in the shape. Works offline without API calls.
convex_tool
ChatGPTCompute the convex hull of a set of points — the smallest convex polygon that contains all the points. Useful for bounding area analysis, estimating coverage area, or wrapping a set of locations. Works offline without API calls.
destination_tool
ChatGPTCalculate a destination point given a starting point, bearing, and distance using geodesic (great-circle) straight-line offset. Useful for "find a point 5km north of X", constructing search offsets, or computing waypoints. Bearing: 0=north, 90=east, 180/-180=south, -90=west. Note: this calculates a straight-line geographic offset, not road-network distance. Works offline without API calls.
difference_tool
ChatGPTSubtract one polygon from another, returning the area in polygon1 that is not covered by polygon2. Useful for computing exclusion zones, finding uncovered service areas, or "what is in zone A but not zone B?". Returns null geometry if polygon2 fully covers polygon1. Works offline without API calls. INPUT SHAPE: polygon1 and polygon2 are each an array of rings; each ring is an array of [lng, lat] pairs. When chaining with isochrone_tool, extract feature.geometry.coordinates from each isochrone Feature (with polygons=true).
directions_tool
ChatGPTFetches directions from Mapbox API based on provided coordinates and direction method. Returns a mapboxRender.ref in structuredContent regardless of the geometries value; if the user wants to see the route on a map, pass it to render_map_tool. Use geometries="none" (default) for compact text/data responses (distance, duration, turn-by-turn instructions). Use geometries="geojson" only when you need the raw route coordinates in the response yourself - render_map_tool works either way.
distance_tool
ChatGPTCalculate the distance between two geographic coordinates. Supports various units including kilometers, miles, meters, feet, and nautical miles. Uses the Haversine formula for accurate great-circle distance calculations. This tool works offline without requiring API calls.
ground_location_tool
ChatGPTAnswer questions about what is near a location, what neighborhood a coordinate is in, or what places are within walking/driving distance. Use this when given coordinates and asked about nearby places, neighborhood context, local discovery, or area summaries. It already includes reverse geocoding, so a separate reverse_geocode_tool call is not needed for the same coordinate. Pass the place category (e.g. "restaurant", "coffee", "park") as the query parameter to get nearby POIs in the same call. Returns place name, nearby POIs matching the query, and travel-time reachability — all sourced from live Mapbox data with citations.
intersect_tool
ChatGPTFind the intersection geometry of two polygons — the area they share in common. Useful for coverage overlap analysis, finding shared service areas, or zone overlap. Returns null geometry if the polygons do not overlap. Works offline without API calls. INPUT SHAPE: polygon1 and polygon2 are each an array of rings; each ring is an array of [lng, lat] pairs. When chaining with isochrone_tool, extract feature.geometry.coordinates from each isochrone Feature (with polygons=true).
isochrone_tool
ChatGPTComputes areas that are reachable within a specified amount of time from a location, and returns the reachable regions as contours of Polygons or LineStrings in GeoJSON format that you can display on a map. Common use cases: - Show a user how far they can travel in X minutes from their current location - Determine whether a destination is within a certain travel time threshold - Compare travel ranges for different modes of transportation'
length_tool
ChatGPTMeasure the total length of a line defined by a series of coordinates. Useful for measuring a drawn route, path, or boundary without a routing API call. Supports kilometers, miles, meters, and feet. Works offline without API calls.
map_matching_tool
ChatGPTSnap GPS traces to roads using Mapbox Map Matching API. Takes noisy/inaccurate coordinate sequences (2-100 points) and returns clean routes aligned with actual roads, bike paths, or walkways. Useful for analyzing recorded trips, cleaning fleet tracking data, or processing fitness activity traces. Returns confidence scores, matched geometry, and optional traffic/speed annotations.
matrix_tool
ChatGPTCalculates travel times and distances between multiple points using Mapbox Matrix API.
midpoint_tool
ChatGPTCalculate the geographic midpoint between two coordinates. Returns the point that is halfway between the two input points along the great circle path. Works offline without API calls.
nearest_point_on_line_tool
ChatGPTSnap a point to the nearest position on a line or route. Returns the closest point on the line and the distance to it. Useful for "which point on this route is closest to my location?" or map-matching without the API. Works offline without API calls.
nearest_point_tool
ChatGPTFind the nearest point in a collection to a given target point. More efficient than calling distance_tool for each candidate and sorting. Useful for finding the closest store, stop, or landmark to a location. Works offline without API calls.
optimization_tool
ChatGPTFind the optimal (shortest by travel time) route through a set of 2-12 coordinates. Solves the Traveling Salesman Problem to determine the best visiting order. Supports options for starting point, ending point, and whether to return to start.
place_details_tool
ChatGPTRetrieve detailed information about a specific place using its Mapbox ID. Use after search_and_geocode_tool, category_search_tool, or reverse_geocode_tool to get additional details such as photos, opening hours, phone numbers, and website URLs. Requires the mapbox_id field from a previous search result. Primarily covers points of interest (businesses, addresses, buildings); mapbox_ids for neighborhoods, cities, or other administrative boundaries are also supported but return more limited data (name, address, coordinates — no photos, hours, or contact info). The primary POI lookup is Public Preview with a default quota of 1,000 requests/month; contact Mapbox if you need a higher volume.
points_within_polygon_tool
ChatGPTTest one or more geographic points against a polygon, returning only those inside. Handles a single point or a batch of points in one call. Useful for delivery zone validation, fleet geofencing, and customer segmentation. Works offline without API calls.
render_map_tool
ChatGPTDisplay a live, interactive Mapbox GL JS map. Use this when someone wants to see a location, route, or dataset on a map. Preferred usage: any other Mapbox tool returns a mapboxRender.ref URI in its structuredContent — pass that ref via payload_refs: ["..."]. You can pass multiple refs to merge several datasets (e.g. a search result + a route) onto one map. Inline layers/markers/legend fields are also supported for hand-composed payloads from raw GeoJSON. For a hand-composed POI marker (e.g. built from category_search_tool/search_and_geocode_tool/place_details_tool output), set markers[].id to the place's mapbox_id — this gets it the same auto-enriching results panel (popularity score and photo) that a payload_refs-based search result gets automatically, with no extra tool calls. To restyle the base map itself (e.g. "make the water red", switch to night lighting, hide POI labels) pass baseMapConfig. To switch to satellite imagery, pass baseStyle: "standard-satellite" (defaults to "standard"). Every call is a fresh render — it does not accumulate state — so to restyle an already-drawn map without losing its content, re-pass the same payload_refs/layers alongside baseMapConfig/baseStyle rather than sending them alone.
resource_reader_tool
ChatGPTReads an MCP resource by URI. This tool is a fallback for clients that do not support the native MCP resource API. Supports reading category lists and other Mapbox resources. Use "mapbox://categories" for default categories or "mapbox://categories/{language}" for localized versions (e.g., "mapbox://categories/ja" for Japanese).
reverse_geocode_tool
ChatGPTConvert geographic coordinates (longitude, latitude) into a human-readable address or place name. Use only when you need an address/place name alone. If you also need nearby places, neighborhood context, or travel-time reachability, use ground_location_tool instead — it already includes reverse geocoding plus POI search and isochrone in one call. This tool cannot reverse geocode businesses, landmarks, or POIs. Supports JSON and text output formats.
search_and_geocode_tool
ChatGPTSearch for POIs, brands, chains, geocode cities, towns, addresses. Do not use for generic place types such as 'museums', 'coffee shops', 'tacos', etc, because category_search_tool is better for that. Setting a proximity point is strongly encouraged for more local results. The underlying Search Box API is rolling out natural-language query understanding (e.g. 'quiet coffee shops with wifi near downtown'), so richer free-text phrasing in q can work well for category + place + attribute combinations — but as of this writing, big-box retail brand searches tied to a specific address (e.g. 'Costco near <address>', 'Walmart near <address>', 'Target near <address>') are unreliable and often return unrelated results; verify those results before relying on them.
simplify_tool
ChatGPTSimplify a LineString or Polygon by reducing the number of vertices while preserving the general shape. Uses the Douglas-Peucker algorithm. Useful for reducing file sizes and improving rendering performance. Works offline without API calls.
static_map_image_tool
ChatGPTGenerates a static map image from Mapbox Static Images API. Supports center coordinates, zoom level (0-22), image size (up to 1280x1280), various Mapbox styles, and overlays (markers, paths, GeoJSON). Returns PNG for vector styles, JPEG for raster-only styles. Use only when the user explicitly asks for a static image file — to show a map, use render_map_tool instead, which renders an interactive map.
union_tool
ChatGPTMerge two or more polygons into a single unified geometry. Useful for combining service areas, delivery zones, isochrones, or coverage regions. Returns a Polygon or MultiPolygon if the inputs do not overlap. Works offline without API calls. INPUT SHAPE: pass polygons as an array of polygons. Each polygon is an array of rings; each ring is an array of [lng, lat] pairs. When chaining with isochrone_tool, extract feature.geometry.coordinates from each isochrone Feature — that is already a valid Polygon value. Skip features whose geometry.type === "MultiPolygon" (pass each inner Polygon separately) or whose geometry.type === "LineString" (set isochrone_tool polygons=true to get Polygon output instead).
area_tool
Claudebbox_tool
Claudebearing_tool
Claudebuffer_tool
Claudecategory_list_tool
Claudecategory_search_tool
Claudecentroid_tool
Claudeconvex_tool
Claudedestination_tool
Claudedifference_tool
Claudedirections_tool
Claudedistance_tool
Claudeground_location_tool
Claudeintersect_tool
Claudeisochrone_tool
Claudelength_tool
Claudemap_matching_tool
Claudematrix_tool
Claudemidpoint_tool
Claudenearest_point_on_line_tool
Claudenearest_point_tool
Claudeoptimization_tool
Claudeplace_details_tool
Claudepoints_within_polygon_tool
Clauderender_map_tool
Clauderesource_reader_tool
Claudereverse_geocode_tool
Claudesearch_and_geocode_tool
Claudesimplify_tool
Claudestatic_map_image_tool
Claudeunion_tool
Claude