UniFi MCP Server
UniFi MCP Server
mcp-name: io.github.mikeholownych/unifi-mcp
Un servidor MCP (Model Context Protocol) que proporciona a asistentes de IA como Claude acceso a las capacidades de gestión y análisis de la infraestructura de UniFi Network y Protect.
Créditos: Este proyecto comenzó como un fork de gbassaragh/Unifi-mcp y desde entonces ha evolucionado hasta convertirse en un proyecto totalmente independiente. Gracias a @gbassaragh por el excelente punto de partida.
Mejoras respecto al upstream
Corregido el enrutamiento de autenticación de sesión local — en
UNIFI_MODE=local, las peticiones ahora usan correctamente la API del controlador tradicional (/proxy/network) con autenticación de sesión por cookie + CSRF. El upstream siempre enrutaba a través de la Integration API independientemente del modo.Resolución de URL base según el modo —
api_base_urlahora respeta el modo de autenticación configurado en lugar de devolver incondicionalmente el endpoint de la Integration API.Suite de pruebas ampliada — 57 pruebas superadas que cubren configuración, comportamiento del cliente de red, registro de herramientas del servidor e integraciones con Protect.
Related MCP server: UniFi MCP Server
Características
UniFi Network
Gestión de dispositivos: Listar, reiniciar, localizar y actualizar dispositivos UniFi (APs, switches, routers)
Gestión de clientes: Supervisar clientes conectados, bloquear/desbloquear, ver estadísticas de tráfico
Gestión de sitios: Ver la salud del sitio, configuraciones de red, VLANs y ajustes inalámbricos
Estadísticas y supervisión: Eventos, alarmas, pruebas de velocidad y estadísticas DPI
Información basada en IA: Análisis de red, recomendaciones de optimización y resolución de problemas
UniFi Protect
Gestión de cámaras: Listar cámaras, ver el estado, obtener instantáneas en vivo
Supervisión del sistema: Estado del NVR, resúmenes de salud de las cámaras
Accesorios: Gestionar luces, sensores, timbres y visores
Liveviews: Acceder a las distribuciones de vistas de cámara configuradas
Compatibilidad con múltiples dispositivos
Configurar varios dispositivos UniFi (gateways, NVRs, etc.)
Dirigirse a dispositivos específicos por nombre: todas las herramientas de red y Protect aceptan un parámetro opcional
deviceClaves de API por dispositivo: cada dispositivo configurado se autentica con su propia clave
Combinación de servicios de Network y Protect entre dispositivos
Modos de autenticación
Mode | Auth | Best for |
| Integration API key | Recommended default; broad read access |
| Username/password session | Full feature access: firewall rules, WLAN configs, site settings, events, alarms, DPI |
| api.ui.com key | Remote/cloud-managed controllers |
Cuando se utilizan claves de API (Integration API), un subconjunto de las funciones del controlador solo está disponible mediante la autenticación de sesión heredada (UNIFI_MODE=local): eventos de red, alarmas, estadísticas DPI, pruebas de velocidad, configuraciones WLAN, reglas de firewall, perfiles de puerto y tablas de enrutamiento. Las herramientas para estas funciones devuelven un error claro que explica cómo habilitarlas en lugar de fallar silenciosamente. Las herramientas de información se degradan con elegancia y notifican las limitaciones de los datos.
Nota sobre cuentas locales: Los administradores con SSO/cuenta de Ubiquiti protegidos por MFA no pueden completar el inicio de sesión. Crea un administrador local en tu consola (Restrict to Local Access Only) para
UNIFI_MODE=local.
Habilidades del agente
Las habilidades incluidas (en skills/) enseñan a los agentes flujos de trabajo probados para este servidor, incluidas las particularidades específicas del controlador (endpoints eliminados en Network 10, reglas de pares de zonas, transición WPA3).
Documentación completa: Consulta SKILLS.md para la guía de uso, los resultados esperados, la resolución de problemas y cómo solicitar nuevas funcionalidades.
Referencia rápida
Skill | Type | Purpose |
| solo lectura | Auditoría completa del sitio: dispositivos, clientes, postura WiFi, firewall, informe estructurado |
| solo lectura | Diagnosticar un dispositivo con problemas: RF, roaming, bloqueo, capa IP |
| con bloqueo de escritura | Plan de canales, anchos, transición WPA3, band steering: sujeto a aprobación |
| con bloqueo de escritura | Dar a un dispositivo una IP reservada + acceso de firewall por zonas con ámbito definido |
| triaje de solo lectura | «¡Mi internet está caído!» — diagnóstico de la caída en lenguaje claro, script de escalado al ISP |
| solo lectura | «¿Quién está en mi WiFi?» — inventario amigable, comprobación de intrusos con detección de MAC aleatorizadas |
| con bloqueo de escritura | Poner en línea cualquier dispositivo nuevo: errores comunes de emparejado (2.4GHz/WPA3), nombre, reserva de IP |
| solo lectura | «El sitio no carga pero el ping funciona» — separación entre resolución y conectividad, patrones de DNS interno forzado |
| solo lectura+ | AirPrint/Cast roto entre VLANs — reflexión mDNS, precauciones con IGMP/IPTV |
| con bloqueo de escritura | Exposición de servicios autoalojados, incl. NAT hairpin, detección de CGNAT, emparejado con políticas de zona |
| con bloqueo de escritura | Configuración de WireGuard/Teleport + escalera de fallos (handshake/MTU/políticas de zona) |
| con bloqueo de escritura | Actualizaciones de firmware por fases: snapshot, canary, verificación, escalera para dispositivos atascados |
| solo lectura | WiFi lento en habitaciones lejanas: diagnóstico de uplink/saltos inalámbricos, guía de backhaul por cable |
| solo lectura+ | Alertas de amenazas: falso positivo vs real, supresión, coste de rendimiento de IPS |
| con bloqueo de escritura | Qué contienen las copias de seguridad, reglas prácticas de migración, instantáneas previas a la migración |
| escritor de documentación | Topología etiquetada persistente (zonas/VLANs/deps) que mejora todas las demás habilidades |
Cómo funcionan las habilidades
Simplemente describe tu problema con naturalidad: el agente asocia tu solicitud con la habilidad adecuada y sigue su flujo de trabajo:
«Mi internet está caído» →
unifi-internet-downdiagnostica WAN, módem, gateway«¿Quién está en mi WiFi?» →
unifi-whos-homelista los dispositivos y marca los desconocidos«Audita mi red» →
unifi-network-auditgenera un informe de salud completo«Configura mi nueva TV» →
unifi-setup-new-deviceguía el emparejado WiFi
Las habilidades con bloqueo de escritura (marcadas arriba) modifican tu red: siempre piden aprobación antes de aplicar cambios.
Las habilidades para usuarios no técnicos evitan la jerga, traducen cada término técnico y requieren confirmación antes de realizar acciones disruptivas.
Instalación (por proyecto): copia en .claude/skills/:
git clone https://github.com/mikeholownych/unifi-mcp.git
mkdir -p .claude/skills && cp -r unifi-mcp/skills/* .claude/skills/Consulta SKILLS.md para la guía de uso completa, los resultados esperados, la resolución de problemas y cómo solicitar nuevas funcionalidades.
Las habilidades referencian las herramientas MCP por sus nombres simples (get_firewall_policies, …); tu cliente MCP les añade el prefijo automáticamente.
Hardware compatible
UniFi Dream Machine (UDM, UDM-Pro, UDM-SE)
UniFi Cloud Gateway (UCG-Ultra, UCG-Fiber)
UniFi Network Video Recorder (UNVR, UNVR-Pro)
UniFi Network Application (autoalojada)
Cloud Key tradicional (Gen1, Gen2, Gen2+)
Instalación
Usando uv (Recomendado)
# Clone the repository
git clone https://github.com/mikeholownych/unifi-mcp.git
cd unifi-mcp
# Install dependencies
uv syncUsando pip
pip install -e .Configuración
Crea un archivo .env en la raíz del proyecto (o define las variables de entorno). Consulta .env.example para ver todas las opciones.
Configuración de múltiples dispositivos (Recomendada)
Configura varios dispositivos UniFi con diferentes servicios:
UNIFI_DEVICES='[
{
"name": "main-gateway",
"url": "https://192.168.1.1",
"api_key": "your-gateway-api-key",
"services": ["network"],
"site": "default"
},
{
"name": "nvr",
"url": "https://192.168.1.2",
"api_key": "your-nvr-api-key",
"services": ["network", "protect"],
"site": "default"
}
]'
UNIFI_VERIFY_SSL=falseCampos de configuración del dispositivo:
Field | Description | Default |
| Nombre descriptivo para dirigirse al dispositivo | (obligatorio) |
| URL base del dispositivo UniFi | (obligatorio) |
| Clave de API de UniFi OS Control Plane | (obligatorio) |
| Matriz: |
|
| Nombre del sitio para operaciones de red |
|
| Verificar certificados SSL |
|
| Usuario para eventos de Protect (opcional) |
|
| Contraseña para eventos de Protect (opcional) |
|
Nota: Los campos username y password solo son necesarios para las herramientas de eventos de Protect (eventos de movimiento, detecciones inteligentes). Las operaciones básicas de cámara funcionan solo con la clave de API.
Para crear una clave de API:
Inicia sesión en tu controlador UniFi
Ve a Ajustes → Control Plane → API
Crea una nueva clave de API con los permisos adecuados
Configuración heredada de un solo dispositivo
Por compatibilidad con versiones anteriores, la configuración de un solo dispositivo sigue siendo compatible:
UNIFI_MODE=local_api_key
UNIFI_CONTROLLER_URL=https://192.168.1.1
UNIFI_CLOUD_API_KEY=your-api-key
UNIFI_SITE=default
UNIFI_VERIFY_SSL=falseAutenticación de sesión local (tradicional)
Para acceso completo a funciones con autenticación de usuario/contraseña:
UNIFI_MODE=local
UNIFI_CONTROLLER_URL=https://192.168.1.1
UNIFI_USERNAME=local-admin
UNIFI_PASSWORD=your-password
UNIFI_SITE=default
UNIFI_IS_UDM=true
UNIFI_VERIFY_SSL=falseAPI en la nube (api.ui.com)
Para acceso a la API en la nube de Ubiquiti:
UNIFI_MODE=cloud
UNIFI_CLOUD_API_KEY=your-api-keyObtén tu clave de API desde unifi.ui.com → sección API.
Uso con Claude Desktop
Añade a tu configuración de Claude Desktop (~/.config/claude/claude_desktop_config.json en Linux o ~/Library/Application Support/Claude/claude_desktop_config.json en macOS):
{
"mcpServers": {
"unifi": {
"command": "uv",
"args": ["run", "--directory", "/path/to/unifi-mcp", "python", "-m", "unifi_mcp.server"],
"env": {
"UNIFI_DEVICES": "[{\"name\":\"gateway\",\"url\":\"https://192.168.1.1\",\"api_key\":\"your-key\",\"services\":[\"network\"]},{\"name\":\"nvr\",\"url\":\"https://192.168.1.2\",\"api_key\":\"your-key\",\"services\":[\"network\",\"protect\"]}]",
"UNIFI_VERIFY_SSL": "false"
}
}
}
}Uso con Claude Code / opencode
# Add the MCP server
claude mcp add unifi -- uv run --directory /path/to/unifi-mcp python -m unifi_mcp.serverO en opencode.json:
{
"mcp": {
"unifi": {
"type": "local",
"command": ["/path/to/unifi-mcp/.venv/bin/python", "-m", "unifi_mcp.server"],
"enabled": true
}
}
}Herramientas disponibles
Gestión de múltiples dispositivos
list_unifi_devices- Lista todos los dispositivos UniFi configurados y sus servicios
Gestión de dispositivos
list_devices- Lista todos los dispositivos de red UniFiget_device_details- Obtiene información detallada del dispositivorestart_device- Reinicia un dispositivolocate_device- Parpadear el LED para localizar el dispositivoget_device_stats- Obtiene estadísticas de rendimientoupgrade_device- Actualiza el firmwareprovision_device- Fuerza el reaprovisionamiento
Gestión de clientes
list_clients- Lista los clientes conectadoslist_all_clients- Lista todos los clientes conocidos (incluidos los desconectados)get_client_details- Obtiene los detalles del clienteblock_client/unblock_client- Bloquear/desbloquear clienteskick_client- Desconecta un clienteforget_client- Elimina de los clientes conocidosget_client_traffic- Obtiene las estadísticas de tráficoreserve_client_ip- Reservar IP mediante reserva DHCP
Gestión de sitios
list_sites- Lista todos los sitiosget_site_health- Obtiene el estado de salud del sitioget_site_settings- Obtiene los ajustes del sitioget_sysinfo- Obtiene la información del sistemaget_networks- Obtiene las configuraciones de red/VLANget_wlans- Obtiene las configuraciones de red inalámbricaget_port_profiles- Obtiene los perfiles de puerto del switchget_firewall_rules- Obtiene las reglas de firewall heredadasget_firewall_policies- Obtiene las políticas de firewall basadas en zonas (UniFi Network 9+)get_routing_table- Obtiene la tabla de enrutamientoget_port_forwards- Obtiene las reglas de reenvío de puertoscreate_port_forward/delete_port_forward- Gestiona los reenvíos de puertos
Gestión de configuración (escrituras)
create_wlan/update_wlan/delete_wlan- Gestionar redes inalámbricascreate_firewall_policy/set_firewall_policy_enabled/delete_firewall_policy- Gestionar políticas de firewall basadas en zonasexport_camera_clip- Exportar un clip de grabación de cámara como MP4 (Protect)get_all_sites_health- Resumen de salud en todos los sitios
Las herramientas que eliminan datos o causan interrupciones están sujetas a confirmación o se marcan como destructivas mediante anotaciones de MCP.
Estadísticas y monitorización
get_network_health- Salud general de la redget_recent_events- Eventos recientesget_alarms- Alarmas activasarchive_all_alarms- Archivar todas las alarmasrun_speed_test- Iniciar prueba de velocidadget_speed_test_status- Obtener resultados de la prueba de velocidadget_dpi_stats- Estadísticas de DPIget_traffic_summary- Resumen de tráfico
Herramientas de información de IA
analyze_network_issues- Análisis exhaustivo de problemasget_optimization_recommendations- Recomendaciones de configuraciónget_client_experience_report- Métricas de calidad del clienteget_device_health_summary- Resumen de salud de dispositivosget_traffic_analysis- Análisis de patrones de tráficoget_all_sites_health- Resumen de salud en todos los sitios
Orquestación multi-sitio
get_global_inventory- Inventario unificado de dispositivos en todos los controladoresget_global_health- Informe de salud agregado de todos los controladoresget_global_client_summary- Conteos de clientes, principales consumidores de tráfico y clientes bloqueados en todos los controladorestroubleshoot_client- Diagnóstico detallado de clientes
UniFi Protect
list_cameras- Listar todas las cámaras con su estado de conexiónget_camera_details- Obtener información detallada de la cámaraget_camera_snapshot- Obtener instantánea en vivo (JPEG en base64)get_protect_system_info- Obtener información del sistema NVRget_camera_health_summary- Resumen de salud de cámaras con incidenciasget_liveviews- Obtener los diseños de vista en vivo configuradosget_protect_accessories- Listar luces, sensores, timbres y visores
Eventos de UniFi Protect (requieren nombre de usuario/contraseña)
get_motion_events- Obtener eventos de movimiento recientesget_smart_detections- Obtener eventos de detección inteligente (persona, vehículo, animal, paquete)get_protect_event_summary- Resumen de todos los eventos por tipoget_recent_protect_activity- Descripción general rápida de la actividad reciente
Conversaciones de ejemplo
Después de conectar el servidor MCP, puedes preguntar a Claude:
Gestión de red
"Lista todos mis dispositivos UniFi"
"¿Cuál es la salud actual de la red?"
"Analiza mi red para detectar problemas"
"¿Qué recomendaciones de optimización tienes?"
"Muéstrame las métricas de experiencia del cliente"
"Diagnostica al cliente con MAC aa:bb:cc:dd:ee:ff"
"¿Qué clientes están usando más ancho de banda?"
"¿Hay algún dispositivo que necesite actualizaciones de firmware?"
"Muéstrame los eventos de red recientes"
"Ejecuta una prueba de velocidad"
UniFi Protect
"Lista todas mis cámaras"
"Muéstrame el resumen de salud de las cámaras"
"Obtén una instantánea de la cámara de la puerta principal"
"¿Cuál es el estado de mi NVR?"
"¿Hay alguna cámara desconectada?"
"Muéstrame los accesorios de Protect"
Eventos de Protect (requiere credenciales)
"Muéstrame los eventos de movimiento recientes"
"¿Qué detecciones inteligentes ocurrieron en las últimas 24 horas?"
"¿Hubo detecciones de personas hoy?"
"Dame un resumen de eventos de la última semana"
"Muestra la actividad reciente de la cámara de la puerta principal"
Multi-dispositivo
"Lista mis dispositivos UniFi configurados"
"Muestra las cámaras de mi NVR"
"Obtén la salud de la red desde la puerta de enlace principal"
Desarrollo
Ejecutar pruebas
uv run pytestFormato de código
uv run ruff check .
uv run ruff format .Docker
docker build -t unifi-mcp .
docker run -i --rm --env-file .env unifi-mcpSolicitar nuevas funcionalidades
Nuevas habilidades: Abre un issue con el prefijo
[Skill]— describe el problema, el flujo de trabajo y el resultado esperadoModificar habilidades: Abre un issue con el prefijo
[Skill: skill-name]— qué falta o qué no funcionaNuevas herramientas: Abre un issue con el prefijo
[Tool]— incluye el endpoint de la API de UniFi y el formato esperado
Consulta SKILLS.md para obtener directrices detalladas de contribución.
Consulta CHANGELOG.md para ver el historial de versiones y CONTRIBUTING.md para contribuir.
Notas de seguridad
Las credenciales se pasan mediante variables de entorno — nunca hagas commit de
.envLa verificación SSL está deshabilitada de forma predeterminada para certificados autofirmados
El servidor solo expone operaciones de lectura y comandos de gestión seguros
Las operaciones destructivas (eliminar sitio, restablecimiento de fábrica) no están expuestas
Las claves de API deben mantenerse seguras y rotarse periódicamente
Licencia
MIT License
Contribuciones
¡Las contribuciones son bienvenidas! Por favor, abre un issue o envía una pull request.
This server cannot be installed
Maintenance
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables AI assistants to manage and monitor UniFi Network Controllers through natural language. Provides 25 read-only tools for discovering devices and clients, viewing security configurations, analyzing network statistics, and exporting configuration data.41MIT
- FlicenseNot gradedqualityDmaintenanceProvides AI assistants with access to UniFi Network and Protect infrastructure for managing devices, monitoring clients, analyzing network health, viewing camera snapshots, and getting optimization recommendations across multiple UniFi controllers.2
- AlicenseNot gradedqualityDmaintenanceEnables comprehensive management of UniFi Network infrastructure through 24 tools for monitoring and controlling devices, clients, wireless networks, security, and guest access. Supports network administration tasks like device restarts, client blocking, WLAN configuration, and backup creation.36MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage and monitor UniFi network infrastructure through natural language, providing 46 management tools across device, client, WiFi, network, firewall, port forwarding, monitoring, and site management.1MIT
Related MCP Connectors
Manage AI assistants, history, calls, campaigns, contacts, knowledge, messaging, and automations.
Create and manage AI agents that collaborate and solve problems through natural language interacti…
Let AI operate servers without SSH. Choose actions, approve risky changes, and audit every step.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mikeholownych/unifi-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server