Skip to content

Support icons field from MCP serverInfo for custom connectors #152

Description

@victor-jx

Problem Statement

Problem

Custom connectors in Claude.ai always display a generic globe icon, even when the MCP server provides an icons field in the serverInfo of the initialize response — as defined by the
MCP spec (SEP-973, spec version 2025-11-25).

There is no documented mechanism to set a custom icon for a remote MCP server connector in Claude.ai.

Current behavior

All custom connectors show the same generic globe icon regardless of server configuration.

Expected behavior

Claude.ai should read the icons array from the MCP initialize response's serverInfo and display the server's icon in the connectors list.

Server configuration (working correctly)

const server = new McpServer({
  name: "XYZ",
  version: "1.0.0",
  icons: [
    {
      src: "data:image/png;base64,iVBORw0KGgo...",
      mimeType: "image/png",
      sizes: ["128x128"],
    },
  ],
});

The icons field is part of the ImplementationSchema in the MCP SDK (@modelcontextprotocol/sdk ^1.27.0) and is correctly included in the initialize response.

Context

- The MCP spec supports icons in Implementation since version 2025-11-25 (SEP-973)
- Claude Desktop does render icons for local Desktop Extensions via mcpb manifests (modelcontextprotocol/mcpb#154, fixed Feb 2026)
- The official Anthropic documentation on building custom connectors does not mention any icon mechanism
- Other clients (HasMCP, HolmesGPT) have implemented icons support from serverInfo



### Proposed Solution

Proposal

Support at least one of these approaches for custom connector icons:

1. Read icons from serverInfo in the MCP initialize response (preferred  already in the spec, data URIs avoid external fetches)
2. Fetch favicon from the server's domain (/favicon.ico or /favicon.png)
3. Use Google Favicon Service based on the server's hostname

Option 1 is the most reliable as it doesn't depend on external services or DNS/crawling.

### Alternatives Considered

What I've tried

1. icons field with URL (src: "https://mcp.example.com/favicon.png")  not displayed
2. icons field with data URI (src: "data:image/png;base64,...")  not displayed
3. Serving favicon at /favicon.ico and /favicon.png  not fetched by Claude.ai
4. HTML root page with <link rel="icon"> for Google Favicon discovery — not used

### Area

MCP Connector (adding/managing servers)

### Priority

Medium - Would be helpful

### Additional Context

_No response_

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions