Description:
I've implemented an MCP server using the rust-sdk and it works correctly when connected to Claude Desktop. However, there's no way to display a custom icon for the server.
Looking at the ServerInfo struct in initialize(), there's no icon field available:
fn get_info(&self) -> ServerInfo {
ServerInfo {
protocol_version: ProtocolVersion::LATEST,
capabilities: ServerCapabilities::builder()
.enable_tools()
.enable_completions()
.enable_logging()
.enable_experimental()
.enable_prompts()
.build(),
server_info: Implementation {
name: "mcp.xxxxxxxxxx".to_string(),
version: env!("CARGO_PKG_VERSION").to_string(),
},
instructions: Some(rules),
// Missing: icon field
}
}
Request:
Add icon field to ServerInfo struct to support custom server icons in Claude Desktop interface.
ServerInfo {
// ... existing fields
icon: Some("https://example.com/icon.png".to_string()), // or data URI
}
Description:
I've implemented an MCP server using the rust-sdk and it works correctly when connected to Claude Desktop. However, there's no way to display a custom icon for the server.
Looking at the ServerInfo struct in initialize(), there's no icon field available:
Request:
Add icon field to ServerInfo struct to support custom server icons in Claude Desktop interface.