unifi-mcp
unifi-mcp
Servidor MCP remoto de solo lectura que expone la flota UniFi de Example Corp / examplecorp como conector personalizado de Claude, a través de la API oficial de UniFi Site Manager (api.ui.com).
Hermano de odoo-ticket-mcp y de los servidores MCP de TRMM — misma arquitectura:
Claude (claude.ai / Claude Code)
│ OAuth 2.0 bearer token (Microsoft Entra ID)
▼
nginx — TLS, Anthropic egress-IP allowlist (160.79.104.0/21), 403 otherwise
│ http://127.0.0.1:8097
▼
unifi-mcp container (Portainer stack, FastMCP 3.x, Streamable HTTP at /mcp)
│ X-API-KEY (Site Manager API key, read-only usage)
▼
api.ui.com — Site Manager API + connector proxy into each console's Network APIAutenticación cliente → servidor: Microsoft Entra ID, modo servidor de recursos. El servidor valida tokens de portador vinculados a la audiencia; nunca los emite. El acceso se controla mediante la pertenencia a grupos de Entra en el registro de la aplicación.
Autenticación servidor → UniFi: una clave de API fija de Site Manager (creada en unifi.ui.com → API Keys con alcances de aplicación Site Manager + Network, Todos los sitios). La identidad del llamador NO se reenvía deliberadamente a UniFi en v1.
Ruta de red: DNS público → nginx (TLS + lista de permitidos de IP de Anthropic) → contenedor. Defensa en profundidad: la lista de permitidos se suma a OAuth.
Herramientas (todas de solo lectura)
Site Manager (toda la flota):
Tool | Qué devuelve |
| Cada consola (UDM Pro / UNVR / Cloud Key): id, nombre, modelo, IP, estado, versión |
| Detalle de una consola (registro completo sin procesar opcional) |
| Todos los sitios de Network en todas las consolas, con recuentos de dispositivos/clientes |
| Dispositivos adoptados en toda la flota (APs, switches, gateways), filtro opcional por consola |
| Salud de WAN/ISP (latencia, pérdida, tiempo de inactividad, rendimiento) para todos los sitios, granularidad de 5m o 1h |
| Lo mismo, pero para pares (host, sitio) y ventanas específicos |
| Topologías SD-WAN + estado de implementación |
Proxy de conector (profundización por consola, sin necesidad de VPN):
Tool | Qué devuelve |
| Lista de sitios local de la consola (los ids locales difieren de los ids de Site Manager) |
| Dispositivos de un sitio desde la propia API de Network de la consola |
| Detalle completo del dispositivo + estadísticas en vivo más recientes (CPU, memoria, uplink, radios) |
| Clientes conectados en vivo: nombre, MAC, IP, tipo de conexión, uplink |
Flujo típico: unifi_list_hosts → elegir consola → unifi_network_sites → unifi_network_clients / unifi_network_device.
Related MCP server: UniFi MCP Server
Desarrollo local
python -m venv .venv
.venv\Scripts\pip install -r requirements.txt
copy .env.example .env # fill in UNIFI_API_KEY; set MCP_AUTH_ENABLED=false
.venv\Scripts\python -m unifi_mcp
# → http://127.0.0.1:8000/mcp (test with MCP Inspector)MCP_AUTH_ENABLED=false abre el endpoint — solo para pruebas locales, nunca en producción.
Registro de la aplicación en Entra ID (una sola vez)
Sigue TrmmMCPServer/ENTRA_SSO_PLAYBOOK.md para la versión anotada. Resumen — haz estos pasos en orden:
Registros de aplicaciones → Nuevo registro — nombre
UniFi MCP, un solo inquilino, sin URI de redirección todavía. Copia el id de cliente + id de inquilino.Exponer una API → URI de ID de aplicación — configúralo exactamente como
https://unifi-mcp.example.com/mcp(previene AADSTS9010010).Exponer una API → Agregar un ámbito —
access_as_user, administradores y usuarios pueden consentir, habilitado.Certificados y secretos → Nuevo secreto de cliente —
claude-connector, 24 meses. Copia el valor inmediatamente.Autenticación → Agregar plataforma → Web — URIs de redirección
https://claude.ai/api/mcp/auth_callbackyhttps://claude.com/api/mcp/auth_callback.Manifiesto — establece
requestedAccessTokenVersionen2(previene errores 401 por discrepancia de emisor).Aplicaciones empresariales → UniFi MCP → Propiedades — Asignación requerida = Sí.
Aplicaciones empresariales → Usuarios y grupos — agrega el grupo
Unifi-MCP-Users. La pertenencia al grupo = quién puede usar el conector.
Implementación
Consulta PORTAINER_DEPLOY.md (stack de Git de Portainer + redespliegue por webhook) y deploy/nginx-unifi-mcp.conf (TLS + lista de permitidos de IP de Anthropic).
Registrar el conector en claude.ai
Configuración → Conectores → Agregar conector personalizado:
Campo | Valor |
URL |
|
ID de cliente | el id de cliente de la aplicación de Entra |
Secreto de cliente | el secreto de cliente de Entra |
URL de autorización |
|
URL de token |
|
Ámbitos |
|
Pruebas de aceptación
# 1. Discovery doc advertises the full resource scope (not api://…)
curl -s https://unifi-mcp.example.com/.well-known/oauth-protected-resource/mcp | jq .scopes_supported
# 2. Unauthenticated /mcp is challenged
curl -i https://unifi-mcp.example.com/mcp # 401 + WWW-Authenticate: Bearer
# 3. Non-Anthropic source IP is blocked at nginx
curl -i https://unifi-mcp.example.com/mcp # from anywhere else: 403
# 4. Health (host-local, bypasses nginx)
curl http://<docker-host>:8097/healthz # {"status":"ok","service":"unifi_mcp"}
# 5. In claude.ai: connect as a Unifi-MCP-Users member → tools appear;
# non-member → AADSTS50105 at sign-in.This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables AI assistants to interact with Ubiquiti UniFi network infrastructure for monitoring devices, managing clients, and performing configuration tasks like blocking/unblocking devices and viewing network health.101GPL 3.0
- AlicenseDqualityDmaintenanceEnables comprehensive management of UniFi network infrastructure through the UniFi Cloud API, including device control, client management, camera settings, and access door control through natural language.3952Apache 2.0
- 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
- AlicenseBqualityDmaintenanceEnables AI assistants to manage UniFi network infrastructure through 50+ tools covering devices, clients, networks, WiFi, firewall rules, and guest access using the official UniFi Network API.52585MIT
Related MCP Connectors
Uptime, SSL, DNS and domain monitoring you can talk to from Claude or any MCP client.
Hosted Amazon Seller Central and Amazon Ads MCP server for Claude, ChatGPT, Cursor, and agents.
Connect Claude to Fathom meeting recordings, transcripts, and summaries
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/JohnGilligan2/unifi-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server