From unifi-mcp
Manages UniFi network infrastructure: inspect clients/devices/sites/WiFi configs/firewall rules/DPI stats/events; actions like block/reconnect/forget clients, restart/locate devices.
How this skill is triggered — by the user, by Claude, or both
Slash command
/unifi-mcp:unifiThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Manages UniFi network infrastructure via the `unifi` action-router tool (and `unifi_help` for discovery).
Manages UniFi network infrastructure via the unifi action-router tool (and unifi_help for discovery).
MCP mode (preferred): Use when mcp__claude_ai_Unifi__unifi (or mcp__unifi-mcp__unifi) tools are available. The server handles UniFi controller authentication internally — session cookies are managed server-side.
HTTP fallback mode: UniFi requires session-based authentication (login → cookie → requests). This is complex to replicate in curl. Strongly prefer keeping the MCP server running. For emergencies only, see fallback section below.
Transport: Controlled by UNIFI_MCP_TRANSPORT env var — http (default, port 8001) or stdio.
MCP URL: ${user_config.unifi_mcp_url} (default http://localhost:8001/mcp)
All operations go through two tools:
unifi — action router: {"action": "<action_name>", ...params}unifi_help — list available actions and their parametersunifi action=get_clients
connected_only (optional) true/false — default true
site_name (optional) default "default"
unifi action=block_client
mac (required) Client MAC address — DESTRUCTIVE, confirm before use
site_name (optional) default "default"
unifi action=unblock_client
mac (required) Client MAC address
site_name (optional) default "default"
unifi action=reconnect_client
mac (required) Client MAC address
site_name (optional) default "default"
unifi action=forget_client
mac (required) Client MAC address — DESTRUCTIVE, removes from history
site_name (optional) default "default"
unifi action=set_client_name
mac (required) Client MAC address
name (required) New display name
site_name (optional) default "default"
unifi action=set_client_note
mac (required) Client MAC address
note (required) Note text
site_name (optional) default "default"
unifi action=get_devices
site_name (optional) default "default"
unifi action=get_device_by_mac
mac (required) Device MAC address
site_name (optional) default "default"
unifi action=restart_device
mac (required) Device MAC address — DESTRUCTIVE, causes brief outage
site_name (optional) default "default"
unifi action=locate_device
mac (required) Device MAC address — flashes LED for identification
site_name (optional) default "default"
unifi action=get_sites
(no parameters)
unifi action=get_wlan_configs
site_name (optional) default "default"
unifi action=get_network_configs
site_name (optional) default "default"
unifi action=get_port_configs
site_name (optional) default "default"
unifi action=get_port_forwarding_rules
site_name (optional) default "default"
unifi action=get_firewall_rules
site_name (optional) default "default"
unifi action=get_firewall_groups
site_name (optional) default "default"
unifi action=get_static_routes
site_name (optional) default "default"
unifi action=get_controller_status
(no parameters)
unifi action=get_events
limit (optional) default 100
site_name (optional) default "default"
unifi action=get_alarms
active_only (optional) default true
site_name (optional) default "default"
unifi action=get_dpi_stats
by_filter (optional) "by_app" or "by_cat" — default "by_app"
site_name (optional) default "default"
unifi action=get_rogue_aps
site_name (optional) default "default"
limit (optional) default 20
unifi action=get_speedtest_results
site_name (optional) default "default"
limit (optional) default 20
unifi action=start_spectrum_scan
mac (required) Access point MAC address — long-running operation
site_name (optional) default "default"
unifi action=get_spectrum_scan_state
mac (required) Access point MAC address
site_name (optional) default "default"
unifi action=authorize_guest
mac (required) Guest client MAC address
site_name (optional) default "default"
Always confirm with the user before executing:
block_client — blocks network access for a deviceforget_client — removes client from controller historyrestart_device — reboots an AP or switch, causes brief outageCheck who's connected:
unifi action=get_clients connected_only=true
Block a client by MAC:
# Confirm with user first
unifi action=block_client mac=aa:bb:cc:dd:ee:ff
Restart an access point:
# Confirm with user first — causes brief outage
unifi action=restart_device mac=aa:bb:cc:dd:ee:ff
Check network health / controller status:
unifi action=get_controller_status
unifi action=get_alarms active_only=true
View firewall rules:
unifi action=get_firewall_rules
unifi action=get_firewall_groups
Run a speedtest (view results):
unifi action=get_speedtest_results limit=5
Discover available actions:
unifi_help
UniFi uses session-based auth. For emergency fallback only:
# Step 1: Login and capture cookie
COOKIE_JAR=$(mktemp)
curl -s -X POST "$CLAUDE_PLUGIN_OPTION_UNIFI_CONTROLLER_URL/api/auth/login" \
-H "Content-Type: application/json" \
-k --cookie-jar "$COOKIE_JAR" \
-d "{\"username\":\"$CLAUDE_PLUGIN_OPTION_UNIFI_USERNAME\",\"password\":\"$CLAUDE_PLUGIN_OPTION_UNIFI_PASSWORD\"}"
# Step 2: Use session for requests
curl -s "$CLAUDE_PLUGIN_OPTION_UNIFI_CONTROLLER_URL/proxy/network/api/s/default/stat/sta" \
-k --cookie "$COOKIE_JAR"
site_name defaults to "default" for most single-site deploymentsstart_spectrum_scan is long-running — poll get_spectrum_scan_state for results:443 for UDM Pro / Cloud Key Gen2+http vs stdio) is set via UNIFI_MCP_TRANSPORT env var; default is http on port 3003npx claudepluginhub jmagar/claude-homelab --plugin unifi-mcpManages UniFi network infrastructure: devices, clients, firewall, VPN, routing, WLANs, and traffic flows via 177 MCP tools. Lazy-loaded tool discovery with permission-gated mutations and preview-then-confirm safety model.
Manages Ubiquiti UniFi networks via unifly Rust CLI: VLANs, SSIDs, firewalls, NAT, DHCP reservations, clients, devices, events, stats, DPI, backups, raw API.
Manages UniFi Access controllers via MCP tools: query doors/events/credentials/visitors/policies; lock/unlock doors and mutate with safety previews.