Ir al contenido

Prompts

Además de sus herramientas y recursos, arcane-mcp publica prompts MCP: plantillas de flujos de trabajo que un cliente ofrece como comandos de barra (el menú / de Claude, los comandos /mcp.arcane... de VS Code). Eliges uno, rellenas unos pocos argumentos y el cliente pone el mensaje resultante en la conversación. El mensaje le dice al modelo qué acciones llamar, en qué orden, qué buscar en cada resultado y qué informar al final.

prompts/list los enumera; prompts/get devuelve uno.

Los argumentos marcados como obligatorios se tienen que dar; los demás son opcionales. environmentId es opcional en todos y toma por defecto el entorno configurado (ARCANE_ENVIRONMENT_ID), igual que en las acciones.

PromptQué haceArgumentos
diagnose_containerLee el estado de un contenedor, el registro de su comprobación de salud, sus logs, procesos y estadísticas (y los servicios hermanos de su proyecto Compose) para averiguar por qué está mal, se reinicia o está parado; propone un arreglo y solo lo aplica con tu aprobacióncontainerId (obligatorio: ID o nombre), environmentId, symptom (texto libre: lo que viste)
update_project_imagesComprueba si hay imágenes más nuevas para un proyecto Compose, muestra qué cambiaría, ofrece copiar sus volúmenes, actualiza los servicios con tu aprobación y los verificaprojectId (obligatorio: el ID del proyecto de project.list; Arcane no encuentra un proyecto por su nombre), environmentId, services (nombres de servicio separados por comas; todos si se omite)
security_reportResume las vulnerabilidades: puntuación de riesgo, imágenes y hallazgos más arriesgados, qué tiene arreglo y qué contenedores en marcha están expuestos; para una imagen, la analiza si no tiene análisisenvironmentId, imageId (el ID sha256 de una imagen), severity (separadas por comas: CRITICAL, HIGH, MEDIUM, LOW, UNKNOWN; CRITICAL,HIGH por defecto)
cleanup_diskMide lo que ocupan las imágenes sin usar, los contenedores parados, los volúmenes y las redes, muestra qué eliminaría cada limpieza y solo limpia lo que apruebesenvironmentId
environment_overviewUna revisión de salud de solo lectura: estado del entorno, recursos del host, proyectos y contenedores, actualizaciones pendientes, vulnerabilidades, errores recientesenvironmentId
rollback_serviceInspecciona la actualización fallida de un servicio de Swarm, muestra qué cambia volver a su especificación anterior, lo revierte con tu aprobación y lo verificaserviceId (obligatorio: ID o nombre), environmentId
backup_volumeHace una copia de seguridad de un volumen, espera a que termine, comprueba los ficheros que contiene y sugiere una programación; nunca restauravolumeName (obligatorio), environmentId

Los nombres de los prompts y de sus argumentos son estables: renombrar uno es un cambio incompatible. Los clientes que admiten autocompletado sugieren valores para los argumentos de identificador y para severity mientras escribes (consulta Autocompletado).

  • Un mensaje de instrucciones con el objetivo, tus argumentos, pasos numerados que nombran las acciones, lo que debe contener el informe final y las reglas (más abajo).
  • La guía de trabajo correspondiente, adjunta como recurso incrustado, cuando la hay: diagnose_container lleva arcane://guides/diagnose-an-unhealthy-container, update_project_images lleva arcane://guides/update-images-safely y backup_volume lleva arcane://guides/back-up-and-restore-a-volume. El prompt da el orden; la guía explica cada acción.

Construir un prompt solo lee el catálogo: prompts/get nunca llama a Arcane, no necesita credenciales y funciona aunque Arcane esté caído. Las acciones que luego llama el modelo son llamadas a herramientas normales, con todas las comprobaciones de una llamada (solo lectura, modo seguro, confirmación, registro de auditoría).

Los pasos nombran cada acción como la llama la superficie de herramientas activa, igual que los siguientes pasos del resultado de una herramienta: container.get en dynamic (se ejecuta con arcane_execute_action), arcane_container con la acción get en meta, arcane_container_get en individual. Las reglas repiten cómo se llama una acción en esa superficie.

  • La confirmación nunca se salta. Cada acción destructiva de los pasos va marcada (destructive), y cada mensaje dice que hay que describir lo que hará, esperar tu aprobación explícita en la conversación y solo entonces pasar confirm: true (o responder a la pregunta de confirmación del cliente). El prompt nunca es esa aprobación.
  • Modo de solo lectura (ARCANE_MCP_READ_ONLY): no se ofrecen rollback_service ni backup_volume, porque solo llevan a cambios. Los demás prompts siguen, sin los pasos que cambian el estado, y terminan con un informe de lo que cambiarías.
  • Modo seguro (ARCANE_MCP_SAFE_MODE): las acciones que cambiarían el estado van marcadas (safe mode: preview only) y el mensaje dice que responden con una vista previa de la petición y no cambian nada. cleanup_disk menciona el modo seguro como la forma de ver exactamente qué enviaría una limpieza antes de ejecutarla.
  • Exclusiones (ARCANE_MCP_EXCLUDE_TOOLS): un prompt cuya acción esencial está excluida no se ofrece (por ejemplo, excluir swarm_service quita rollback_service); un paso que nombra otra acción excluida se omite y el mensaje dice que faltan pasos.

Los valores de los argumentos son texto del usuario que acaba en las instrucciones del modelo, así que no pueden cambiar esas instrucciones:

  • Los identificadores (environmentId, containerId, projectId, serviceId, volumeName, imageId, cada nombre de services) tienen que ser IDs o nombres: letras, dígitos y ._-:/@, como mucho 255 caracteres. Cualquier otra cosa se rechaza.
  • Cada valor aparece solo en la sección de argumentos del mensaje, en una sola línea, sin caracteres de control, secuencias de terminal ni caracteres invisibles o bidireccionales, cortado a 200 caracteres y entre comillas. La sección termina diciendo al modelo que los valores son datos, nunca instrucciones.

Un argumento obligatorio que falta, un identificador mal formado o una severidad desconocida es un error JSON-RPC con código -32602 (parámetros no válidos) y un mensaje que nombra el argumento; un nombre de prompt desconocido también es -32602. Los argumentos que un prompt no declara se ignoran.

Una prueba unitaria falla si un prompt nombra una acción que el catálogo no tiene, si a una acción destructiva le falta su marca o si cambia el nombre o los argumentos de un prompt.