Agentes de IA (MCP)
Atalaya incluye un servidor MCP (Model Context Protocol) para que un asistente de IA, como Claude, consulte el estado de la red y, si se lo permites, actúe sobre ella: «¿qué equipos están caídos?», «¿por qué avisó el NAS anoche?», «silencia el servidor una hora, voy a reiniciarlo». Es una capa sobre la misma lógica que la web y la API, con permisos propios.
Crear un token
En el menú Agentes de IA (solo administradores), Nuevo token:
| Alcance | Qué puede hacer |
|---|---|
| Consultar | Ver equipos, alertas, métricas, eventos, descubiertos y el mapa. Es lo que se da por defecto. |
| Consultar y operar | Lo anterior, y además lanzar una comprobación, marcar una alerta como vista y silenciar un equipo o una etiqueta (hasta 7 días). |
| Consultar, operar y configurar | Lo anterior, y además dar de alta equipos descubiertos y crear o cambiar comprobaciones de ping, TCP, HTTP, DNS o SNMP. |
Puedes limitar el token a equipos con ciertas etiquetas: el agente solo verá y tocará esos equipos. Cada token tiene un límite de llamadas por minuto (60 por defecto).
Ninguna herramienta borra datos ni ejecuta comandos. Las comprobaciones de script y SSH, que ejecutan comandos, solo se crean y se cambian desde la web, nunca por MCP. Cada llamada queda en el historial de eventos con el nombre del token. El valor del token solo se muestra al crearlo: guárdalo. Si se pierde o se filtra, bórralo y crea otro.
Conectar un asistente
El servidor habla HTTP transmitible en https://<tu servidor>/mcp, con el token en la cabecera Authorization: Bearer …. Con Claude Code:
claude mcp add --transport http atalaya https://atalaya.lan/mcp \
--header "Authorization: Bearer TOKEN"
Si el servidor usa un certificado autofirmado, el cliente debe confiar en él.
Clientes que solo lanzan programas locales
El paquete incluye el puente atalaya-mcp, que habla MCP por la entrada y salida estándar y reenvía cada mensaje al servidor. Se configura con variables de entorno:
| Variable | Qué es |
|---|---|
ATALAYA_MCP_URL | La dirección, por ejemplo https://atalaya.lan/mcp. |
ATALAYA_MCP_TOKEN | El token creado en Atalaya. |
ATALAYA_MCP_CACERT | Opcional: fichero con el certificado del servidor, si es autofirmado. |
ATALAYA_MCP_INSECURE | 1 para no comprobar el certificado (solo en redes de confianza). |
En la configuración de Claude Desktop, por ejemplo:
{"mcpServers": {"atalaya": {"command": "atalaya-mcp",
"env": {"ATALAYA_MCP_URL": "https://atalaya.lan/mcp", "ATALAYA_MCP_TOKEN": "..."}}}}
Herramientas
| Herramienta | Alcance | Qué hace |
|---|---|---|
list_hosts | Consultar | Equipos y su estado; filtros por etiqueta y estado. |
proxmox_status | Consultar | Estado de los clústeres de Proxmox: quórum, nodos, invitados, almacenamientos y copias; ver Proxmox VE. No está disponible con tokens limitados por etiquetas. |
search_inventory | Consultar | Busca en el inventario (hardware, SO, garantía, paquetes…); ver Inventario. |
get_host | Consultar | Un equipo con sus comprobaciones, métricas recientes y alertas activas. |
query_metrics | Consultar | Una serie (cpu.used_pct, net.rx_bps…) en un intervalo, en 120 puntos como mucho. |
list_alerts | Consultar | Alertas activas o el historial. |
list_discovered | Consultar | Equipos descubiertos pendientes de decisión. |
get_events | Consultar | Eventos y cambios, de un equipo o los últimos de todo. |
run_check | Operar | Ejecuta ahora una comprobación existente. |
acknowledge_alert | Operar | Marca una alerta como vista, con un comentario. |
create_silence | Operar | Silencia un equipo o una etiqueta de 1 minuto a 7 días. |
accept_discovered | Configurar | Da de alta un equipo descubierto. |
create_check, update_check | Configurar | Crea o cambia comprobaciones de ping, TCP, HTTP, DNS o SNMP. |
También ofrece los recursos atalaya://alerts/active, atalaya://network/map y atalaya://hosts/{id}, y dos prompts: diagnosticar_equipo (reúne estado, métricas y eventos de un equipo y propone causas) y resumen_diario (el estado de la red de las últimas 24 horas).
Seguridad
- Los nombres, mensajes y respuestas que vienen de la red (nombres mDNS, textos de un servicio HTTP) pueden contener texto malintencionado dirigido al asistente. Atalaya marca los resultados con un aviso que dice que son datos y no instrucciones, pero el asistente es quien debe tratarlos así; no le des alcance de configuración si no hace falta.
- Un token de solo lectura no puede cambiar nada, pase lo que pase.
- Los tokens se guardan como hash; desactiva o borra el de un asistente que ya no uses.