Ir al contenido

Capacidades MCP

GitLab MCP Server implementa tres capacidades del protocolo MCP —progreso, elicitación y autocompletado— que van más allá de la llamada básica a herramientas para que los asistentes de IA sean más precisos e interactivos al trabajar con GitLab. Además adjunta metadatos de iconos a cada herramienta, recurso y prompt. En conjunto, estas funciones permiten a los asistentes informar del progreso, pedir información al usuario mediante formularios estructurados, autocompletar valores de argumentos y mostrar iconos reconocibles por dominio.

Las tres capacidades se negocian durante el handshake de inicialización MCP, mientras que los iconos son metadatos de presentación que los clientes renderizan o ignoran. Ninguno es obligatorio para que funcionen las llamadas básicas a herramientas: cuando un cliente carece de soporte, el servidor degrada de forma elegante y la operación de GitLab subyacente se completa igualmente.

¿Qué capacidades proporciona GitLab MCP Server?

Sección titulada «¿Qué capacidades proporciona GitLab MCP Server?»

GitLab MCP Server proporciona cuatro funciones diferenciadas, resumidas a continuación. El progreso y la elicitación envían información del servidor al cliente, el autocompletado obtiene sugerencias del servidor bajo demanda y los iconos son metadatos estáticos adjuntos a cada superficie.

CapacidadDirecciónQué Habilita
ProgressServidor → ClienteActualizaciones de progreso en tiempo real para operaciones de larga duración
ElicitationServidor → ClienteAsistentes interactivos — formularios paso a paso para crear recursos complejos
CompletionsCliente → ServidorAutocompletado de argumentos para nombres de proyectos, ramas, usuarios y más
Icons (metadatos)Servidor → ClienteIconos SVG para cada herramienta, recurso y prompt

Las capacidades se negocian una vez, durante el handshake de inicialización MCP entre el cliente y el servidor. Cada parte anuncia lo que admite, de modo que ninguna intenta usar una función que la otra no puede manejar. Tras el handshake, el servidor puede enviar notificaciones de progreso y solicitudes de elicitación, y el cliente puede pedir autocompletado.

sequenceDiagram
    participant C as Cliente MCP
    participant S as GitLab MCP Server

    C->>S: initialize (capacidades del cliente)
    S-->>C: respuesta de initialize (capacidades del servidor)
    Note over C,S: Ambas partes saben lo que<br/>la otra soporta

    C->>S: Llamada a herramienta
    S-->>C: Notificación de progreso
    S-->>C: Resultado de herramienta

Las capacidades declaradas por el servidor (autocompletado) están siempre disponibles porque GitLab MCP Server las anuncia de forma incondicional. Las capacidades dependientes del cliente (elicitación) requieren que el cliente MCP declare soporte — el servidor lo comprueba antes de usar la capacidad y degrada de forma elegante cuando no está disponible, recurriendo a las herramientas parametrizadas estándar para no perder funcionalidad.

El soporte de capacidades varía según el cliente MCP, y GitLab MCP Server se adapta automáticamente a lo que anuncie el cliente conectado. La tabla siguiente refleja clientes habituales en el momento de redactar esta página; como el soporte de los clientes evoluciona rápidamente, confirma el estado actual en la documentación de cada cliente.

CapacidadClaude DesktopVS Code CopilotCursorClaude Code
Progress
Completions
Elicitation
Icons

¿Qué capacidades MCP implementa GitLab MCP Server?

Sección titulada «¿Qué capacidades MCP implementa GitLab MCP Server?»

GitLab MCP Server implementa tres capacidades del protocolo MCP —progreso, elicitación y autocompletado— más metadatos de iconos en cada herramienta, recurso y prompt. El progreso envía actualizaciones en tiempo real durante operaciones de larga duración, la elicitación permite al servidor pedir información al usuario mediante formularios estructurados y el autocompletado completa valores de argumentos como nombres de proyectos, ramas, usuarios y etiquetas. Los iconos son metadatos de presentación, no una capacidad de protocolo negociada. Las tres capacidades se negocian durante el handshake de inicialización MCP.

¿Cuál es la diferencia entre capacidades declaradas por el servidor y dependientes del cliente?

Sección titulada «¿Cuál es la diferencia entre capacidades declaradas por el servidor y dependientes del cliente?»

Las capacidades declaradas por el servidor, como el autocompletado, GitLab MCP Server las anuncia de forma incondicional y están disponibles para cualquier cliente que las invoque. Las capacidades dependientes del cliente, como la elicitación, requieren que el cliente MCP declare soporte durante la inicialización. El servidor comprueba ese soporte antes de usar la capacidad y degrada de forma elegante cuando falta — en el caso de la elicitación, recurre a las herramientas parametrizadas estándar, por lo que se preserva la funcionalidad y solo se reduce la experiencia interactiva.

¿Qué ocurre si mi cliente MCP no admite una capacidad?

Sección titulada «¿Qué ocurre si mi cliente MCP no admite una capacidad?»

GitLab MCP Server se adapta automáticamente. Las notificaciones de progreso son de mejor esfuerzo y se ignoran silenciosamente cuando no se admiten, así que las herramientas se completan igualmente. La elicitación recurre a las herramientas parametrizadas estándar, donde el asistente proporciona todos los parámetros en una sola llamada. El autocompletado simplemente no se ofrece, y los valores siguen siendo descubribles mediante la acción list en cualquier meta-herramienta. Los iconos son metadatos opcionales que los clientes sin renderizado ignoran. Ninguna capacidad es obligatoria para la funcionalidad básica de las herramientas.

¿Qué clientes MCP admiten la elicitación?

Sección titulada «¿Qué clientes MCP admiten la elicitación?»

La elicitación la admiten Claude Desktop y Claude Code. VS Code Copilot y Cursor aún no la admiten, por lo que en esos clientes GitLab MCP Server recurre a las herramientas de creación parametrizadas estándar. Como el soporte de capacidades de los clientes cambia con frecuencia, confirma el estado actual en la documentación del cliente específico.