GitLab MCP Server asigna 50 iconos SVG únicos a las 1065 herramientas Enterprise/Premium autoalojadas (1071 en GitLab.com Enterprise/Premium con Orbit), 32 meta-herramientas base (49 enterprise autoalojadas, 50 GitLab.com Enterprise), 45 recursos y 37 prompts. Los iconos se almacenan como SVG codificados en base64 (data:image/svg+xml;base64,...) con Sizes: ["any"] para escalabilidad, y ayudan a los clientes MCP a mostrar elementos de interfaz reconocibles para cada dominio de GitLab. Son metadatos de presentación opcionales, no una capacidad de protocolo MCP negociada: un cliente que no puede renderizar iconos simplemente los ignora, y el comportamiento de las herramientas no cambia.
El renderizado de iconos depende del cliente MCP. El servidor adjunta los mismos metadatos de iconos en todos los casos; que aparezcan depende del cliente. Los iconos son opcionales, así que los clientes que no los renderizan no pierden nada funcional.
Codificación: data:image/svg+xml;base64,... (data URIs SVG codificados en base64). Las previsualizaciones de esta página usan SVG con codificación URL (data:image/svg+xml,%3Csvg ...) solo para renderizado en línea en el navegador — los iconos registrados en internal/toolutil/icons.go están en base64.
Viewport: Todos los iconos usan 16×16 con currentColor para adaptación al tema
Registro: Los iconos se asignan mediante specs de acciones y grupos del catálogo, y luego se proyectan en las superficies meta, individual y dinámica
GitLab MCP Server asigna 50 iconos SVG únicos a cada herramienta, recurso y prompt que expone, para que los clientes MCP puedan mostrar elementos de interfaz reconocibles para cada dominio de GitLab. Las herramientas relacionadas comparten un mismo icono para agrupación visual — por ejemplo, branches, repository y submodules usan todos IconBranch. Los iconos se almacenan como data URIs SVG codificados en base64 con Sizes: ["any"] para escalabilidad, dibujados en un viewport de 16×16 y rellenados con currentColor para que se adapten automáticamente a los temas claro y oscuro. Son metadatos de presentación opcionales, no una capacidad de protocolo MCP negociada.
¿Cómo se diseñan y codifican los iconos de GitLab MCP Server?
Cada icono usa un viewport mínimo de 16×16 optimizado para listas de herramientas y barras laterales, con un relleno currentColor para que se adapte a los temas claro y oscuro. Los iconos se incrustan en línea como data URIs SVG codificados en base64 (data:image/svg+xml;base64,...) directamente en el binario, sin necesidad de peticiones de red, y se comparte un icono por dominio para que las herramientas relacionadas se agrupen visualmente. Se registran mediante specs de acciones y grupos del catálogo, y luego se proyectan en las superficies meta, individual y dinámica. El código fuente está en internal/toolutil/icons.go.
¿Qué clientes MCP renderizan los iconos de herramientas?
El renderizado de iconos varía según el cliente. VS Code con GitHub Copilot renderiza por completo los iconos SVG de herramientas, y Continue.dev ofrece soporte parcial según la versión. Claude Desktop no renderiza iconos de herramientas, y Claude Code es una interfaz solo de texto que no los muestra. Como los iconos son metadatos opcionales, los clientes que no admiten su renderizado simplemente los ignoran y la funcionalidad de las herramientas no se ve afectada.
¿Afectan los iconos a la funcionalidad de las herramientas?
No. Los iconos son metadatos de presentación opcionales adjuntos a herramientas, recursos y prompts. Los clientes que no pueden renderizar iconos los ignoran, y cada herramienta se comporta de forma idéntica se muestre o no su icono. Los iconos existen únicamente para ayudar a los usuarios a reconocer visualmente los dominios de GitLab en clientes que admiten el renderizado SVG; nunca cambian los parámetros, el comportamiento ni los resultados de una herramienta.