Skip to content

docs: fix outdated MCP-UI info, add comprehensive render_map_tool guide - #237

Merged
mattpodwysocki merged 27 commits into
mainfrom
docs/render-map-tool-and-readme-refresh
Jul 30, 2026
Merged

docs: fix outdated MCP-UI info, add comprehensive render_map_tool guide#237
mattpodwysocki merged 27 commits into
mainfrom
docs/render-map-tool-and-readme-refresh

Conversation

@mattpodwysocki

@mattpodwysocki mattpodwysocki commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

What changed

The README and docs/mcp-ui.md had drifted significantly from what the codebase actually does since render_map_tool shipped in #199 (v0.13.0).

Fixed: described functionality that no longer exists

  • @mcp-ui/server is no longer a dependency (confirmed: not in package.json, no usages anywhere in src/).
  • Nothing in src/ reads the ENABLE_MCP_UI env var anymore (isMcpUiEnabled() doesn't exist).
  • static_map_image_tool no longer declares an MCP Apps UI resource — confirmed its _meta block has no ui.resourceUri, and StaticMapUIResource's URI (ui://mapbox/static-map/index.html) was referenced nowhere outside its own definition file. It's a plain base64-image tool now; interactive rendering is render_map_tool's job exclusively.

docs/mcp-ui.md is kept at its existing URL (avoids breaking old links) but now explains what changed and points to the new guide instead of describing removed functionality.

Added: comprehensive render_map_tool documentation

New docs/render-map-tool.md — full payload schema reference (layers/markers/legend/camera), and specifically, how to call it standalone with your own GeoJSON, with no dependency on directions_tool/isochrone_tool/or any other Mapbox tool in this server. This was the main gap: the tool already supports this (confirmed directly against RenderMapTool.input.schema.ts and RenderMapTool.ts), but nothing documented it.

Fixed: README tool inventory

Filled in ~12 tools that existed in src/tools/toolRegistry.ts but were missing from the README entirely: render_map_tool, ground_location_tool, place_details_tool, destination_tool, union_tool/intersect_tool/difference_tool, convex_tool, nearest_point_tool/nearest_point_on_line_tool, length_tool. Also replaced the entry for point_in_polygon_tool, which was removed from the registry entirely (per the 0.12.2-dev CHANGELOG entry), with its actual replacement, points_within_polygon_tool.

Also: removed the now-dead MCP-UI code

Since the docs were describing removed functionality anyway, cleaned up the remaining dead code in the same PR:

  • Deleted the orphaned StaticMapUIResource (registered but referenced by nothing).
  • Removed --disable-mcp-ui from --help output (kept it in the recognized-flags set so an existing launch config that still passes it doesn't hard-fail on "Unknown option" — verified live that it still starts the server without error, while a genuinely unknown flag still errors).
  • Fixed two stale comments referencing removed MCP-UI machinery.
  • Removed dead ENABLE_MCP_UI env-var setup/teardown from three tests that no longer needed it.

No behavior change from the cleanup — MCP-UI support was already fully gone; this just removes the code that referenced it.

Verification

  • Every claim about removed functionality was verified by grepping the actual source, not assumed from the stale docs.
  • Every doc-relative link in the updated README resolves to a real file (checked programmatically).
  • render_map_tool's documented standalone payload shape and behavior is drawn directly from RenderMapTool.input.schema.ts and RenderMapTool.ts.
  • Confirmed live: the resource registry's resolved URI list no longer includes the static-map UI resource; --disable-mcp-ui still starts the server, an unknown flag still errors.
  • Full suite (870 tests), typecheck, lint, build all clean.

mattpodwysocki and others added 24 commits January 12, 2026 16:18
Implements MCP server icons at the correct architectural level (server
initialization) instead of at the tool level. Adds both light and dark
theme variants of the Mapbox logo using base64-encoded SVG data URIs.

- Add mapbox-logo-black.svg for light theme backgrounds
- Add mapbox-logo-white.svg for dark theme backgrounds
- Update server initialization to include icons array with theme property
- Use 800x180 SVG logos embedded as base64 data URIs

This replaces the previous incorrect approach of adding icons to
individual tools, which was not aligned with the MCP specification.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Updates the MCP SDK from 1.25.1 to 1.25.2 and recreates the output
validation patch for the new version. The patch continues to convert
strict output schema validation errors to warnings, allowing tools
to gracefully handle schema mismatches.

Changes:
- Update @modelcontextprotocol/sdk from ^1.25.1 to ^1.25.2
- Recreate SDK patch for version 1.25.2
- Remove obsolete 1.25.1 patch file
- All 397 tests pass with new SDK version

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The README's "Rich Map Previews" section and docs/mcp-ui.md described
MCP-UI support (@mcp-ui/server, ENABLE_MCP_UI, StaticMapUIResource
wired to static_map_image_tool) that no longer exists in the codebase
- @mcp-ui/server isn't a dependency anymore and nothing in src/ reads
ENABLE_MCP_UI. Interactive previews are handled entirely by
render_map_tool now.

Adds docs/render-map-tool.md: a full payload schema reference and,
specifically, how to call render_map_tool standalone with your own
GeoJSON without any other Mapbox tool involved. docs/mcp-ui.md now
explains what changed and points there instead of describing removed
functionality.

Also fills in ~12 tools missing from the README's inventory
(render_map_tool, ground_location_tool, place_details_tool,
destination_tool, union/intersect/difference_tool, convex_tool,
nearest_point(_on_line)_tool, length_tool) and replaces the entry for
the removed point_in_polygon_tool with its actual replacement,
points_within_polygon_tool.
@mattpodwysocki
mattpodwysocki requested a review from a team as a code owner July 30, 2026 15:01
Follow-up to the docs refresh: MCP-UI support was already fully
removed from the codebase (no @mcp-ui/server dependency, nothing
reads ENABLE_MCP_UI), but a few remnants were left behind.

- StaticMapUIResource (ui://mapbox/static-map/index.html) was
  registered but referenced by nothing — static_map_image_tool
  stopped declaring an MCP Apps UI resource, and no other code
  pointed at this URI. Deleted.
- Removed --disable-mcp-ui from the --help text (it stopped doing
  anything), but kept it in the recognized-flags set so an existing
  launch config that still passes it keeps starting instead of
  hard-failing on "Unknown option".
- Fixed two stale comments referencing removed MCP-UI machinery
  (mapAppHtml.ts's doc comment, a content-ordering comment in
  StaticMapImageTool.ts that no longer applied to anything).
- Removed dead ENABLE_MCP_UI env-var setup/teardown from three
  StaticMapImageTool tests — nothing reads that var anymore, so it
  was a no-op in the tests too.

No behavior change: verified via a live CLI check that --disable-mcp-ui
still starts the server (does not error) while a genuinely unknown
flag still does, and confirmed the resource registry's resolved URI
list no longer includes the static-map UI resource.
Comment thread docs/mcp-ui.md Outdated
Per review feedback on #237: the callout doesn't need to describe
what the doc used to say, just what's true now and where to go.
@mattpodwysocki
mattpodwysocki merged commit acbe60e into main Jul 30, 2026
5 checks passed
@mattpodwysocki
mattpodwysocki deleted the docs/render-map-tool-and-readme-refresh branch July 30, 2026 15:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants