Sume MCP connector shows no icon? What serverInfo.icons sends

Sume's hosted MCP server sends a 32x32 PNG in serverInfo.icons. What the MCP schema says about icons, how to check it, and why some clients show a blank tile.

4 min readSume
All posts

Sume's hosted MCP server advertises a 32x32 PNG icon in the serverInfo it returns on initialize, served from https://mcp.sume.com/icon-32.png. Whether your client draws it is the client's decision, not something you configure on the Sume side.

If you see a blank or generic tile next to the Sume connector, the server is not missing an icon. The usual causes are a client that ignores serverInfo.icons, a cached listing, or a custom connector row that uses its own artwork. This post lays out what the server sends and how to check it.

What the MCP schema allows

The MCP schema reference defines an Icon type with a required src and optional mimeType, sizes and theme. The src can be an HTTP or HTTPS URL or a base64 data: URI.

The same page says consumers must support PNG and JPEG, and should also support SVG and WebP. It adds that consumers should check that icon URLs come from the same domain as the server or a trusted domain, and take care with SVG, which can carry scripts. A PNG on the server's own origin sits inside all of that, which is why a small PNG is a safe default for a server to publish. It also keeps the first response light, since the icon is fetched by URL and is not embedded in the initialize result.

What Sume sends, read 2026-10-10

In the Sume code, the MCP server builds its icon list from its own origin. There is one entry, a PNG of 32 by 32 pixels. The same server answers /icon-32.png and /favicon.ico with a one-day cache header.

Nothing in the repository ties the icon to a theme, and the entry carries no theme field, so a client that wants a dark variant has nothing to switch to.

Icon fields in the MCP schema versus Sume's server icon (MCP schema read 2026-10-10; Sume values from the packages/mcp-server source).
FieldMCP schemaSume server
srcHTTP(S) URL or data: URIhttps://mcp.sume.com/icon-32.png, on the MCP origin
mimeTypeOptional overrideimage/png
sizesOptional list such as 48x4832x32
themeOptional light or darkNot set
CacheNot specifiedpublic, max-age=86400 on the icon and favicon routes

Check it yourself

You do not need a client to test this. Fetch the icon URL, read the content type, and confirm the file is a PNG of the stated size. Then use the MCP inspector or your client's debug log to read the initialize result and look for serverInfo.icons.

If the file is fine and the field is present, the gap is on the client side. In that case there is nothing to change on the Sume server, and the fastest fix is usually to rename or re-add the connector so the client rereads the listing. Keep a note of the client version you tested, so that a later report is specific. Because the icon routes carry a one-day cache header, a change to the artwork on the server could take up to a day to appear in a client that honors that header, which is another reason to test with a fresh fetch rather than the cached tile.

  • Request https://mcp.sume.com/icon-32.png and check for a 200 and an image/png content type.
  • Read the initialize response and look for serverInfo.icons.
  • Remove and re-add the connector, in case the client cached the first listing.
  • If the client has its own icon field for custom connectors, set it there.
curl -s https://mcp.sume.com/icon-32.png -o icon.png -D - | head -n 8
file icon.png

What to expect from clients

Icons in serverInfo are optional for a client to display, and clients differ. Whether yours draws one is a question for that client's own documentation, which this post does not cover. Do not file a Sume bug for the second kind before you have checked the steps above.

Sign-in and tool behavior do not depend on the icon at all. Whether you connect through OAuth or an API key, the MCP overview describes the same tool set, and the OAuth and API keys page covers the choice. For client setup, see Sume MCP in VS Code.

Sources

Related posts

More in Integrations

All Integrations posts

Written by Sume