docs: fix outdated MCP-UI info, add comprehensive render_map_tool guide - #237
Merged
Conversation
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.
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.
Valiunia
reviewed
Jul 30, 2026
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.
Valiunia
approved these changes
Jul 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
The README and
docs/mcp-ui.mdhad drifted significantly from what the codebase actually does sincerender_map_toolshipped in #199 (v0.13.0).Fixed: described functionality that no longer exists
@mcp-ui/serveris no longer a dependency (confirmed: not inpackage.json, no usages anywhere insrc/).src/reads theENABLE_MCP_UIenv var anymore (isMcpUiEnabled()doesn't exist).static_map_image_toolno longer declares an MCP Apps UI resource — confirmed its_metablock has noui.resourceUri, andStaticMapUIResource'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 isrender_map_tool's job exclusively.docs/mcp-ui.mdis 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_tooldocumentationNew
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 ondirections_tool/isochrone_tool/or any other Mapbox tool in this server. This was the main gap: the tool already supports this (confirmed directly againstRenderMapTool.input.schema.tsandRenderMapTool.ts), but nothing documented it.Fixed: README tool inventory
Filled in ~12 tools that existed in
src/tools/toolRegistry.tsbut 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 forpoint_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:
StaticMapUIResource(registered but referenced by nothing).--disable-mcp-uifrom--helpoutput (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).ENABLE_MCP_UIenv-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
render_map_tool's documented standalone payload shape and behavior is drawn directly fromRenderMapTool.input.schema.tsandRenderMapTool.ts.--disable-mcp-uistill starts the server, an unknown flag still errors.