claude-code - 💡(How to fix) Fix Support custom icons for MCP servers and marketplace plugins [2 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#49040Fetched 2026-04-17 08:52:33
View on GitHub
Comments
2
Participants
2
Timeline
6
Reactions
0
Author
Timeline (top)
labeled ×4commented ×2

Code Example

{
  "implementation": {
    "name": "my-server",
    "version": "1.0.0",
    "icons": [
      {
        "src": "data:image/png;base64,iVBORw0KGgo...",
        "mimeType": "image/png",
        "sizes": ["128x128"]
      }
    ]
  }
}

---

{
  "name": "my-plugin",
  "description": "...",
  "icon": "./icon.png"
}
RAW_BUFFERClick to expand / collapse

Feature Request

Allow MCP servers and marketplace plugins to display custom icons in the Claude Code UI instead of the default globe icon.

Current Behavior

All MCP servers display the same default globe icon in the Claude Code UI, regardless of whether the server provides icon metadata via the MCP protocol. This makes it difficult to visually distinguish between multiple connected MCP servers.

Proposed Solution

1. Read icons from MCP serverInfo (MCP protocol standard)

The MCP specification (SEP-973) defines an icons field in the server's Implementation metadata, returned during initialization. MCP SDKs (Python, TypeScript) already support setting this field via FastMCP(icons=[...]). Claude Code should read and display these icons.

Example server response during init:

{
  "implementation": {
    "name": "my-server",
    "version": "1.0.0",
    "icons": [
      {
        "src": "data:image/png;base64,iVBORw0KGgo...",
        "mimeType": "image/png",
        "sizes": ["128x128"]
      }
    ]
  }
}

2. Support icon field in plugin.json for marketplace plugins

Allow plugin authors to include an icon in their plugin manifest:

{
  "name": "my-plugin",
  "description": "...",
  "icon": "./icon.png"
}

Use Case

We maintain an internal company marketplace with multiple plugins and custom MCP servers. Users connect several MCP servers simultaneously — having distinct icons would greatly improve discoverability and UX. Our servers already serve the icons field via the MCP protocol, but Claude Code doesn't render them.

Prior Art

  • Continues from #28187 (closed as stale without team response)
  • MCP spec: SEP-973 (icons in serverInfo)
  • MCP spec: #1040 (icon support discussion)

extent analysis

TL;DR

To display custom icons for MCP servers and marketplace plugins in the Claude Code UI, implement support for reading the icons field from the MCP serverInfo and the icon field in plugin.json.

Guidance

  • Review the MCP specification (SEP-973) to understand the icons field in the server's Implementation metadata.
  • Update the Claude Code UI to read and display the icons field from the MCP serverInfo during initialization.
  • Consider adding support for the icon field in plugin.json to allow plugin authors to include custom icons in their plugin manifests.
  • Verify that the MCP SDKs (Python, TypeScript) are correctly setting the icons field via FastMCP(icons=[...]).

Example

{
  "implementation": {
    "name": "my-server",
    "version": "1.0.0",
    "icons": [
      {
        "src": "data:image/png;base64,iVBORw0KGgo...",
        "mimeType": "image/png",
        "sizes": ["128x128"]
      }
    ]
  }
}

Notes

The proposed solution relies on the MCP specification and the existing support for setting the icons field in MCP SDKs. However, the implementation details for reading and displaying the custom icons in the Claude Code UI are not provided.

Recommendation

Apply workaround by implementing support for reading the icons field from the MCP serverInfo and the icon field in plugin.json, as this will allow for custom icons to be displayed in the Claude Code UI.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix Support custom icons for MCP servers and marketplace plugins [2 comments, 2 participants]