Gestión de redes y cámaras UniFi con agentes LLM
Si alguna vez has configurado un firewall en UniFi Controller o buscado un clip específico de una cámara en UniFi Protect, ya sabes cómo es. Abres la interfaz web, navegas por los menús, buscas la VLAN correcta o la dirección MAC del cliente. Automatizar estas tareas con scripts es posible, pero la API de Ubiquiti tiene sus particularidades y cambia de una versión a otra.
El proyecto unifi-mcp toma un enfoque diferente. Es un conjunto de servidores que utilizan el Model Context Protocol (MCP) para conectar asistentes de IA como Claude Code, Codex o OpenClaw con controladores UniFi.
Qué hay dentro del proyecto
El repositorio está estructurado como un monorepo de Python y TypeScript. Se divide en tres módulos principales que cubren las áreas de productos de Ubiquiti:
- Network — un módulo para gestionar equipos de red. Tiene 186 herramientas para trabajar con VLANs, firewalls, clientes, redes Wi-Fi y dispositivos.
- Protect — una herramienta de videovigilancia. Incluye 61 funciones para buscar eventos, analizar detecciones de movimiento y trabajar con cámaras.
- Access — gestión de control de acceso. Contiene 36 funciones para trabajar con puertas, credenciales y registros de acceso.
Además, el proyecto incluye un servidor REST/GraphQL independiente para clientes que aún no son compatibles con el protocolo MCP, y un sistema Cloud Relay para conectar una red local con agentes remotos a través de Cloudflare Workers.
Seguridad y protección contra errores fatales
Dar a un modelo de lenguaje acceso directo al firewall de tu red doméstica o de oficina es una decisión audaz. Los desarrolladores de unifi-mcp incorporaron dos mecanismos de seguridad para reducir el riesgo de romper algo.
El primer mecanismo es el concepto de previsualizar y luego confirmar. Cualquier cambio de configuración primero devuelve una previsualización: el agente de IA muestra el JSON exacto o la lista de reglas que planea enviar al controlador y espera tu confirmación explícita.
El segundo elemento es la redacción automática de datos sensibles. Por defecto, todas las contraseñas Wi-Fi, claves VPN, comunidades SNMP y tokens se eliminan de las respuestas de las herramientas y se reemplazan con ***REDACTED***. El modelo no verá secretos en el contexto y no podrá "filtrarlos" accidentalmente en los logs. Sin embargo, si estás ejecutando un script de administración local de confianza, puedes desactivar el enmascaramiento mediante variables de entorno.
Escenarios prácticos
En lugar de buscar manualmente en la interfaz, puedes escribir consultas al agente en lenguaje natural.
Para el módulo de red:
- "Muestra todos los clientes en la VLAN de invitados, su intensidad de señal y volumen de tráfico"
- "Audita las reglas del firewall, encuentra políticas duplicadas y en conflicto"
- "Crea una regla que bloquee el acceso a internet para dispositivos IoT desde medianoche hasta las 6 AM"
Para sistemas de seguridad:
- "Encuentra todos los eventos de reconocimiento de vehículos en la entrada esta semana"
- "Cruza marcas de tiempo: ¿quién pasó la tarjeta en la puerta principal a las 2 AM y qué cámara grabó movimiento cerca en ese momento?"
Por cierto, para tareas frecuentes el repositorio ya incluye habilidades integradas para agentes. Por ejemplo, Firewall Auditor ejecuta 16 comprobaciones de seguridad de red y genera una puntuación en una escala de 100 puntos con recomendaciones de remediación.
Cómo funciona técnicamente
El proyecto utiliza activamente características de revisiones recientes del protocolo MCP. Dado que una herramienta con 186 funciones puede llenar la ventana de contexto de un LLM antes de que la conversación siquiera comience, aquí se implementa el descubrimiento perezoso (lazy discovery). Inicialmente, el servidor solo pasa metaherramientas de búsqueda al asistente, y los endpoints específicos se cargan bajo demanda.
El lanzamiento de servidores en un entorno local se realiza con un solo comando a través de uvx:
uvx unifi-network-mcp@latest
uvx unifi-protect-mcp@latest
uvx unifi-access-mcp@latest
La configuración se pasa a través de variables de entorno. Necesitarás una cuenta de administrador local en el controlador UniFi para conectarte. Nota: las cuentas con autenticación de dos factores o Ubiquiti SSO no funcionarán — necesitarás crear un usuario local de servicio separado para que MCP funcione.
Ejemplo de configuración para Claude Desktop:
{
"mcpServers": {
"unifi-network": {
"command": "uvx",
"args": ["unifi-network-mcp@latest"],
"env": {
"UNIFI_HOST": "192.168.1.1",
"UNIFI_USERNAME": "mcp-service-account",
"UNIFI_PASSWORD": "your-safe-password"
}
}
}
}
¿Vale la pena probar?
El proyecto parece maduro para su clase: 588 estrellas en GitHub, commits activos y soporte para Python 3.13+. Será útil para administradores de sistemas, entusiastas de Home Assistant y cualquier persona que construya automatización sobre Ubiquiti.
Si tienes un solo punto de acceso en casa, hay poco punto en configurar un servidor MCP. Pero para infraestructura compleja con firewalls, cámaras y control de acceso, la capacidad de preguntar a un agente en lugar de buscar manualmente en los paneles de control ahorra mucho tiempo.
Proyectos relacionados