Ir al contenido

Elicitación

La elicitación permite al servidor solicitar información al usuario a través de formularios estructurados, habilitando flujos de creación tipo asistente para recursos complejos como issues, merge requests y releases.

Las herramientas MCP estándar requieren que la IA proporcione todos los parámetros de antemano en una única llamada. Para recursos complejos — donde los campos dependen de elecciones anteriores y los datos faltantes provocan errores — la IA debe adivinar valores o hacer múltiples preguntas en el chat antes de llamar a la herramienta.

Con la elicitación, el servidor puede pausar la ejecución y preguntar directamente al usuario a través de la interfaz del cliente MCP:

sequenceDiagram
    participant U as Usuario
    participant AI as Asistente IA
    participant S as Servidor MCP
    participant GL as API de GitLab

    U->>AI: "Crear un merge request"
    AI->>S: gitlab_interactive_mr_create
    S-->>U: "¿Rama origen?" (campo de formulario)
    U-->>S: "feature/login"
    S-->>U: "¿Rama destino?" (campo de formulario)
    U-->>S: "main"
    S-->>U: "¿Título?" (campo de formulario)
    U-->>S: "Fix login redirect"
    S-->>U: "¿Squash commits?" (casilla de verificación)
    U-->>S: Sí
    S-->>U: "¿Crear MR con esta configuración?" (confirmación)
    U-->>S: Confirmar
    S->>GL: Crear merge request
    GL-->>S: MR creado
    S-->>AI: MR !123 creado exitosamente

Cada paso puede validar la entrada y adaptar la siguiente pregunta en función de la respuesta anterior.

El servidor proporciona herramientas de creación tipo asistente:

HerramientaDescripción
gitlab_interactive_issue_createCreación de issues paso a paso con selección de proyecto, etiquetas y asignación
gitlab_interactive_mr_createCreación guiada de merge requests con selección de ramas y opciones
gitlab_interactive_release_createAsistente de creación de releases con selección de tags y milestones
gitlab_interactive_project_createCreación de proyectos con selección de namespace y configuración
  • Revelación progresiva — Primero solicita solo los campos obligatorios, luego los opcionales
  • Validación en cada paso — Detecta errores antes de la llamada final a la API
  • Campos dependientes — Los campos posteriores pueden depender de elecciones anteriores (por ejemplo, las ramas dependen del proyecto seleccionado)
  • Confirmación del usuario — Siempre confirma antes de crear el recurso

La elicitación también se utiliza para solicitudes de confirmación antes de operaciones destructivas. Cuando un usuario solicita una eliminación u otra acción irreversible, el servidor puede pedir confirmación explícita a través de la interfaz del cliente MCP.

La elicitación requiere soporte del cliente MCP:

  • Soportado: Claude Desktop, Claude Code
  • Aún no soportado: VS Code Copilot, Cursor

Cuando la elicitación no está disponible, el servidor recurre a las herramientas parametrizadas estándar. El asistente de IA proporciona todos los parámetros directamente, sin el flujo interactivo del asistente. La funcionalidad se mantiene — solo se reduce la experiencia interactiva.