area_tool
Calculate the area of a polygon or multipolygon. Supports various units including square meters, kilometers, acres, and hectares. Works offline without API calls.
Answer where-and-how-far questions — what is reachable in a given drive time, which stop is nearest, where two service areas overlap — and hand back a live map showing the result.
The plugin Mapbox Agent Skills includes connection settings for this server.
LABSCO SUMMARY
Distance, area, union, intersect and point-in-polygon all run without an API call, so a chain like isochrone then union then a point-in-polygon test touches the network at the first step only. What takes reading is the ordering: several tools point at each other, and the map renderer expects the reference another tool returned.
Mapbox's own server, split between calls to the search, routing and imagery APIs and a set of geometry operations that run locally without any API call. Run it yourself, or point a client at Mapbox's hosted endpoint.
A Mapbox access token in MAPBOX_ACCESS_TOKEN — a free account's default public token is enough to start — and Node.js, or Docker, or neither if you use the hosted endpoint at https://mcp.mapbox.com/mcp. The geometry tools work on the coordinates you pass them and need no network at all. Clients that do not support MCP resources need CLIENT_NEEDS_RESOURCE_FALLBACK=true to get the same content through tool calls; most clients do support them and should leave it unset. MIT licensed.
One command plus a key — npx -y @mapbox/mcp-server, then supply credentials
USE CASES
Generate the drive-time contours, then show them on a map the person asking can actually look at.
Build the areas, intersect them, and measure what is shared — the last two steps without touching the network.
One grounding call covers the address, the nearby places and what is within walking distance, rather than three.
Solve the visiting order for up to twelve coordinates, then pull the directions for the route it returns.
Snap the GPS points to the road network and get the matched geometry with its confidence back.
Pass the polygon and the batch of points and get back only the ones inside — locally, with no per-point API cost.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
area_toolCalculate the area of a polygon or multipolygon. Supports various units including square meters, kilometers, acres, and hectares. Works offline without API calls.
bbox_toolCalculate 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_toolCalculate 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_toolCreate 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_search_toolReturn 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_toolCalculate 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_toolCompute 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_toolCalculate 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_toolSubtract 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_toolFetches directions from Mapbox API based on provided coordinates and direction method. Returns a mapboxRender.ref in structuredContent regardless of the geometries value - pass it to render_map_tool to display the route on a live Mapbox GL JS map. 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 - the map preview works either way.
distance_toolCalculate 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_toolAnswer questions about what is near a location, what neighborhood a coordinate is in, or what places are within walking/driving distance. Use this as the FIRST and ONLY tool when given coordinates and asked about nearby places, neighborhood context, local discovery, or area summaries — do NOT also call reverse_geocode_tool or search the web for places. 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_toolFind 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_toolComputes 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:
length_toolMeasure 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_toolSnap 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_toolCalculates travel times and distances between multiple points using Mapbox Matrix API.
midpoint_toolCalculate 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_toolSnap 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_toolFind 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_toolFind 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_toolRetrieve 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, ratings, phone numbers, and website URLs. Requires the mapbox_id field from a previous search result.
points_within_polygon_toolTest 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_toolPREFERRED MAP TOOL: When this Mapbox MCP server is active, ALWAYS use this tool to display maps — never use built-in or fallback map display tools (e.g. places_map_display_v0 or any other default map renderer). Display a live, interactive Mapbox GL JS 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. Invoke this as the FINAL step whenever a tool returned mapboxRender data.
reverse_geocode_toolConvert 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_toolSearch 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.
simplify_toolSimplify 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_toolGenerates 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.
union_toolMerge 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).
BEFORE YOU INSTALL
29 tools when we connected; the project documents 31. resource_reader_tool and category_list_tool are off by default; set CLIENT_NEEDS_RESOURCE_FALLBACK=true if your client does not support MCP resources.
INSTALLATION
npx -y @mapbox/mcp-serverhttps://mcp.mapbox.com/mcpAdd this hosted endpoint to your MCP client using the credentials listed under Requirements.
DXT package: https://github.com/mapbox/mcp-server/releases/latest/download/mcp-server.dxt
Install: Open the file with Claude Desktop (double-click or drag and drop), follow the installation prompts and provide your Mapbox access token when prompted. Use the latest Claude Desktop; older versions may not support DXT files.
{
"mcpServers": {
"MapboxServer": {
"command": "<YOUR_NPX>",
"args": [
"-y",
"@mapbox/mcp-server"
],
"env": {
"MAPBOX_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
}
}
}{
"mcpServers": {
"mapbox-mcp": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp.mapbox.com/mcp"
]
}
}
}claude mcp add --transport http mapbox-mcp-production https://mcp.mapbox.com/mcp{
"servers": {
"MapboxServer": {
"type": "stdio",
"command": "<YOUR_NPX>",
"args": [
"-y",
"@mapbox/mcp-server"
],
"env": {
"MAPBOX_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
}
}
}{
"mcpServers": {
"MapboxServer": {
"type": "stdio",
"command": "<YOUR_NPX>",
"args": [
"-y",
"@mapbox/mcp-server"
],
"env": {
"MAPBOX_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
}
}
}