Conversation
TypeScript Build Error NoteThe CI build is currently failing with: This is a pre-existing error on main, not introduced by this PR. I verified by checking out main and running the build - the same error occurs (at line 65 on main vs line 68 in this PR due to the added lines). The issue is related to complex recursive types in the TypeScript compiler when dealing with the MCP SDK's The icon implementation is ready for review. The TypeScript build issue should be addressed in a separate PR as it affects the entire codebase. |
Update: Build Now Passes ✅After a clean The fix from PR #88 (explicit type annotations Local verification: npm run build
# ✅ Build succeeded!All 397 tests passing + build passing = ready for review! |
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>
c04541b to
c205821
Compare
Add Mapbox Server Icon with Light and Dark Theme Support
This PR implements MCP server icons at the correct architectural level (server initialization) with both light and dark theme variants.
What's Implemented
✅ Server-Level Icons - Icons are added to the
McpServerconstructor per MCP specification✅ Theme Support - Both light and dark variants for different UI contexts
✅ Base64 SVG Data URIs - Logos embedded directly, no external files needed
✅ Official Mapbox Branding - Uses official Mapbox logo assets
Implementation Details
Icons are configured in
src/index.tsat server initialization:Architecture
This follows the MCP specification where icons are part of the
ImplementationSchemaat the server level, not individual tool definitions.Why server-level?
ImplementationSchema(server metadata)Assets
assets/mapbox-logo-black.svg- For light theme backgroundsassets/mapbox-logo-white.svg- For dark theme backgroundsTesting
To see the icons in Claude Desktop or other MCP clients:
Build the server:
Connect the server to your MCP client
Look for the Mapbox logo in the client's server list/connection UI
Note: Icon support varies by client. Claude Desktop and other modern MCP clients that support the full MCP specification will display the appropriate themed icon.
SDK Update
Also updates
@modelcontextprotocol/sdkto 1.25.2 (CVE fix) which includes improved icon support.Files Changed
src/index.ts- Added icons array to server initializationassets/mapbox-logo-black.svg- Black logo for light themesassets/mapbox-logo-white.svg- White logo for dark themespackage.json&package-lock.json- SDK version bump to 1.25.2patches/@modelcontextprotocol+sdk+1.25.2.patch- Updated SDK patch🤖 Generated with Claude Code
Co-Authored-By: Claude Sonnet 4.5 noreply@anthropic.com