mg CLI
Gestione dispositivos, alertas, scripts y ejecuciones desde el terminal — y dé a su agente de IA los mismos controles mediante SKILL.md.
Qué es mg CLI#
mg es la interfaz de línea de comandos de Moftgate Center. Es un único binario estático para macOS, Linux y Windows que se comunica con su Center mediante su API. Todo lo que hace en la consola — listar dispositivos, triar alertas, ejecutar scripts, seguir ejecuciones — está disponible como comando.
mg está diseñado para dos audiencias a la vez: operadores que prefieren el terminal y agentes de IA que usan los mismos comandos mediante un archivo SKILL.md generado.
mg auth login mg device list --group Servers --limit 3 mg alert list --severity critical
Instalación y perfiles#
Los perfiles permiten que un binario mg hable con varios Center: su Center de producción, un entorno de staging o un tenant de cliente. Cada perfil almacena una URL y sus propias credenciales.
mg --version mg profile create prod https://center.example.local mg profile use prod mg profile list mg profile delete staging
Autenticación#
- 1Apunte un perfil a su Center
Ejecute mg profile create <name> <url> para registrar la URL del Center y luego selecciónelo con mg profile use <name>. Los perfiles múltiples permiten cambiar entre producción, staging o tenants de clientes.
- 2Inicie sesión desde el navegador
mg auth login abre un flujo de aprobación en el navegador. Tras aprobar, se emite un token al CLI que se guarda localmente bajo el perfil activo.
- 3Verifique la sesión
mg auth status muestra la sesión activa y la organización a la que pertenece el token.
- 4Cierre sesión al terminar
mg auth logout revoca el token en el Center y elimina las credenciales locales del perfil.
mg auth login mg auth status mg auth logout
Comandos de dispositivos#
| Comando | Descripción | Ámbito |
|---|---|---|
| mg device list | Lista los dispositivos. Filtros: --group, --tag, --status, --os. | Lectura |
| mg device inspect <id|hostname> | Muestra el detalle de un dispositivo: SO, versión del agente, última conexión, puntuación de postura. | Lectura |
| mg device export | Exporta el inventario de dispositivos como CSV para informes o importación a otras herramientas. | Lectura |
mg device list --os "Ubuntu" --status online mg device inspect web-01 mg device export --limit all
Comandos de alertas#
| Comando | Descripción | Ámbito |
|---|---|---|
| mg alert list | Lista las alertas. Filtros: --device, --severity, --status. | Lectura |
| mg alert inspect <id> | Muestra el detalle y la evidencia de una alerta. | Lectura |
| mg alert resolve <id> | Marca una alerta como resuelta. Pide confirmación salvo que se pase --yes. | Escritura |
mg alert list --device web-01 --status open mg alert inspect a-4821 mg alert resolve a-4821 --yes
Comandos de scripts#
| Comando | Descripción | Ámbito |
|---|---|---|
| mg script list | Lista los scripts registrados en la biblioteca de scripts de Center. | Lectura |
| mg script run --command "…" --device <id> | Ejecuta un comando ad hoc en un dispositivo. | Escritura |
| mg script run --script <name> --group <g> --wait | Ejecuta un script guardado en un grupo de dispositivos y espera los resultados. | Escritura |
mg script list mg script run --command "journalctl -u nginx --no-pager -n 50" --device web-01 mg script run --script "Restart nginx" --group Web --wait
Comandos de ejecución#
Cada ejecución de script — ad hoc o guardada — produce una ejecución (run). Las ejecuciones son el registro de auditoría de qué se ejecutó, dónde y con qué resultado.
| Comando | Descripción | Ámbito |
|---|---|---|
| mg run list | Lista las ejecuciones activas y completadas. | Lectura |
| mg run inspect <id> | Muestra el detalle de la ejecución con estado por acción. | Lectura |
| mg run cancel <id> | Cancela una ejecución en curso. | Escritura |
| mg run retry <id> | Reintenta las acciones fallidas de una ejecución. | Escritura |
mg run list --status failed mg run inspect r-9042 mg run retry r-9042 --yes
Formatos de salida y flags globales#
Los comandos de lista imprimen por defecto una tabla legible con color. Pase -o json para salida legible por máquina, o --jq para proyectar campos directamente — la salida jq implica JSON. mg device export produce CSV.
mg device list -o json
mg device list --jq '.list[] | {id, hostname, status}'
mg device list --limit all --jq '.list | length'| Flag | Descripción |
|---|---|
| --version | Imprime la versión de mg CLI y sale. Útil para verificar la instalación o reportar problemas. |
| --profile <name> | Ejecuta el comando contra un perfil específico en lugar del predeterminado. |
| -o, --output <fmt> | Formato de salida: json o table. Table es el predeterminado. |
| --jq <filter> | Aplica un filtro jq a la salida. Implica salida JSON. |
| --limit <n|all> | Elementos por página. Predeterminado: 100. Use all para el conjunto completo. |
| --page <n> | Número de página para comandos de lista paginados. |
| --yes | Omite la confirmación interactiva en operaciones de escritura de riesgo. |
| --ca-bundle <path> | Usa un bundle de CA personalizado para certificados autofirmados on-premises. |
| --insecure | Desactiva la verificación TLS. Solo desarrollo — nunca en producción. |
Uso de mg con agentes de IA#
mg incluye un generador de skills integrado. SKILL.md enseña a los agentes de código — Claude Code, Codex, Gemini y otros que leen la convención .agents/skills — cómo autenticarse, qué comandos existen y qué flags usar.
| Comando | Descripción |
|---|---|
| mg skill show | Imprime SKILL.md en stdout sin instalarlo. |
| mg skill install | Escribe SKILL.md en ~/.agents/skills/moftgate/SKILL.md para agentes a nivel de usuario. |
| mg skill install --project | Escribe SKILL.md en ./.agents/skills/moftgate/SKILL.md dentro del proyecto actual. |
| mg skill describe <command> | Muestra el detalle de un comando: uso, flags, ejemplos y recetas jq. |
mg skill install # user level: ~/.agents/skills/moftgate/SKILL.md mg skill install --project # repo level: ./.agents/skills/moftgate/SKILL.md mg skill describe script run
Seguridad y TLS#
- Los tokens se emiten por perfil mediante el flujo de aprobación del navegador y se revocan con mg auth logout.
- Las operaciones de escritura (resolver alertas, ejecutar scripts, cancelar/reintentar ejecuciones) requieren permiso de escritura en el usuario emisor.
- Las operaciones de riesgo piden confirmación interactiva; --yes omite el prompt para CI y automatización.
- Para Center on-premises con certificados autofirmados, pase --ca-bundle <path> en lugar de desactivar la verificación.
- --insecure desactiva la verificación TLS por completo. Existe para desarrollo — nunca lo apunte a un Center de producción.