Repository navigation
Add mapbox-map-display and mapbox-reachability-analysis skills - #94
mattpodwysocki wants to merge 3 commits into
Conversation
Moves the two skills the Mapbox MCP Server serves over the MCP Skills extension here, so this repo is their only copy; mcp-server bundles them from a pinned commit at build time. Also fixes tool references in mapbox-location-grounding and mapbox-search-patterns: show maps with render_map_tool (static images only when asked for), points_within_polygon_tool instead of the nonexistent point_in_polygon_tool, and bbox_tool instead of the devkit's bounding_box_tool. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
It returns a mapboxRender.ref for render_map_tool, not a static map image. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
@ctufts could you take a look at this one when you get a chance? mcp-server#295 bundles these two skills at build time, so it's waiting on this to merge before we can cut the release. |
|
|
||
| # Places within reach | ||
|
|
||
| Answers questions like "what's within a 10 minute walk of my hotel?" with the |
There was a problem hiding this comment.
Doesn't this skill have direct overlap with the location-grounding skill? Is it solving a specific problem? From grounding skill:
### Proximity search with routing context
For "find [category] within X minutes of [location]":
1. Geocode the origin if needed: `search_and_geocode_tool(address)`
2. Get the reachable area: `isochrone_tool(coordinates, profile, contours_minutes)`
3. Search for POIs: `ground_location_tool(longitude, latitude, query: "category")` — the isochrone
contours tell the user what's within each time band
Or more directly: `ground_location_tool` returns both nearby POIs and isochrone reachability in one
call, which covers most proximity + routing use cases without additional composition.
There was a problem hiding this comment.
Fair question. They overlap on the question but not the answer: ground_location_tool fetches nearby POIs and the isochrone in parallel and never filters one by the other (it only returns a contour summary, no polygon). So "coffee within a 10 minute walk" can include a place across a river that's close as the crow flies but 25 minutes on foot. This skill keeps only places actually inside the reachable area.
Updated the grounding skill in e111a40 so there's one owner: its "Proximity search with routing context" and "Area reachability" sections now hand "within X minutes" questions to this skill, and keep ground_location_tool for "what's near here" and neighborhood context.
|
|
||
| # Showing results on a Mapbox map | ||
|
|
||
| Use `render_map_tool` whenever the user wants to see something on a map. It |
There was a problem hiding this comment.
Should this be explicit to be used during a non-"build" use case?
There was a problem hiding this comment.
Yes, good call. In e111a40 the description now says it's for showing results in the conversation and not for building a page or app, and there's a "When not to use it" section: when you're building, write GL JS code (mapbox-web-integration-patterns) with a token from list_public_tokens_tool. A render_map_tool preview is still fine for checking data along the way. Same note in the README entry.
…o chat The location-grounding skill said ground_location_tool covers "find [category] within X minutes", but it fetches POIs and the isochrone side by side without filtering one by the other. Point those questions at mapbox-reachability-analysis, which keeps only places inside the polygon, and leave ground_location_tool for "what's near here". mapbox-map-display now says it's for showing results in the conversation, and that building a page or app means writing GL JS code with a token from list_public_tokens_tool. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Summary
Adds the two skills the Mapbox MCP Server serves over the MCP Skills extension (SEP-2640), so this repo is the only copy of them. mapbox/mcp-server#295 bundles them from a pinned commit of this repo at build time instead of keeping its own.
mapbox-map-display: showing tool results withrender_map_toolby passing refs, several results on one map, hand-placed markers withmapbox_id, base map restyling, and when a static image is right instead.mapbox-reachability-analysis: places within a travel time or distance. Isochrone, thenbbox_tool, then category search in that box, thenpoints_within_polygon_toolto drop places in the box's corners, then one map with the area and only the places inside it.Each has
evals/evals.json(4 and 3 evals) and a README entry.Fixes to existing skills
mcp-server#295 will also serve
mapbox-location-groundingandmapbox-search-patterns, and it checks that every tool a skill names exists. These had a few that don't match the server:mapbox-location-grounding: the visual step usedstatic_map_image_tool. It now usesrender_map_toolwith the results' refs, and keeps static images for when the user asks for an image file. That matches the MCP server's own instructions.mapbox-location-grounding: saidground_location_toolreturns a static map image. It returns amapboxRender.refforrender_map_tool.mapbox-search-patterns/references/optimization-combining.md:point_in_polygon_tool(doesn't exist) is nowpoints_within_polygon_tool, and the static-map example is nowrender_map_tool.mapbox-search-patterns/references/workflows.md:bounding_box_toolis the DevKit server's; the runtime server's isbbox_tool.Testing
npm run checkpasses on a clean checkout: format, spellcheck, markdownlint, Codex plugin build and validation, and skill validation.SkillsClient(sizes, digests, frontmatter), and MCP Inspector--verify --require-digestsreports no conformance errors.🤖 Generated with Claude Code