anthropics / anthropics/claude-ai-mcp

Support icons field from MCP serverInfo for custom connectors

Aberta
#152 89 comentários 110 reações 0 responsáveis Ver no GitHub
enhancement
Linguagem predominante
Sem dados de linguagem
Estrelas
471
Forks
76
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

### 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)

```javascript
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 for Google Favicon discovery — not used

### Area

MCP Connector (adding/managing servers)

### Priority

Medium - Would be helpful

### Additional Context

_No response_

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.