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 prompts
Sección titulada «Los prompts»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.
| Prompt | Qué hace | Argumentos |
|---|---|---|
diagnose_container | Lee 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ón | containerId (obligatorio: ID o nombre), environmentId, symptom (texto libre: lo que viste) |
update_project_images | Comprueba 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 verifica | projectId (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_report | Resume 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álisis | environmentId, imageId (el ID sha256 de una imagen), severity (separadas por comas: CRITICAL, HIGH, MEDIUM, LOW, UNKNOWN; CRITICAL,HIGH por defecto) |
cleanup_disk | Mide 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 apruebes | environmentId |
environment_overview | Una revisión de salud de solo lectura: estado del entorno, recursos del host, proyectos y contenedores, actualizaciones pendientes, vulnerabilidades, errores recientes | environmentId |
rollback_service | Inspecciona 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 verifica | serviceId (obligatorio: ID o nombre), environmentId |
backup_volume | Hace una copia de seguridad de un volumen, espera a que termine, comprueba los ficheros que contiene y sugiere una programación; nunca restaura | volumeName (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).
Qué devuelve un prompt
Sección titulada «Qué devuelve un prompt»- 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_containerllevaarcane://guides/diagnose-an-unhealthy-container,update_project_imagesllevaarcane://guides/update-images-safelyybackup_volumellevaarcane://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).
El mismo flujo en todas las superficies
Sección titulada «El mismo flujo en todas las superficies»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.
Seguridad
Sección titulada «Seguridad»- 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 pasarconfirm: 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 ofrecenrollback_servicenibackup_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_diskmenciona 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, excluirswarm_servicequitarollback_service); un paso que nombra otra acción excluida se omite y el mensaje dice que faltan pasos.
Tus argumentos son datos
Sección titulada «Tus argumentos son datos»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 deservices) 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.
Errores
Sección titulada «Errores»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.