plugins/unifi-access/skills/setup/SKILL.md
Configure the UniFi Access MCP server — set controller host, credentials, and permissions
npx skillsauth add sirkirby/unifi-network-mcp setupInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Walk the user through configuring their UniFi Access controller connection. Ask each question one at a time using AskUserQuestion. Wait for the answer before proceeding.
Before asking the user for any credentials, run the prereq check so the most common silent failures (missing uvx, malformed existing settings) are caught up front:
macOS / Linux:
bash ${CLAUDE_PLUGIN_ROOT}/scripts/check-prereqs.sh "unifi-access"
Windows: PowerShell setups can skip this step — uvx availability is checked when the MCP server first launches. Just remind the user to install uv if it's missing.
If the script exits non-zero, stop and report the error to the user. Do not proceed to credentials. The script's output already explains what to fix.
Ask: "What is your UniFi controller's IP address or hostname?" (e.g., 192.168.1.1)
If the user already has Network or Protect configured (check .claude/settings.local.json for existing UNIFI_* env vars), ask: "Is Access on the same controller?" If yes, use the same host.
Access uses dual authentication — explain this to the user:
"UniFi Access has two auth paths:
You can configure one or both."
Ask: "Which auth paths do you want to set up?"
Options:
Based on their choice, ask for API key and/or username+password (one question at a time).
Ask: "Do you want to enable any write permissions? By default, ALL mutations are disabled for Access (door lock/unlock, credentials, visitors)."
Options:
Use the appropriate script for the user's platform to write all collected values to .claude/settings.local.json. Check the platform from your environment info. On Windows use set-env.ps1, on macOS/Linux use set-env.sh:
macOS / Linux:
bash ${CLAUDE_PLUGIN_ROOT}/scripts/set-env.sh \
UNIFI_ACCESS_HOST=<host> \
UNIFI_ACCESS_API_KEY=<api-key> \
UNIFI_ACCESS_USERNAME=<username> \
UNIFI_ACCESS_PASSWORD=<password>
Windows:
powershell -ExecutionPolicy Bypass -File "${CLAUDE_PLUGIN_ROOT}/scripts/set-env.ps1" UNIFI_ACCESS_HOST=<host> UNIFI_ACCESS_API_KEY=<api-key> UNIFI_ACCESS_USERNAME=<username> UNIFI_ACCESS_PASSWORD=<password>
If the host and credentials are the same as existing shared UNIFI_* vars, use the shared prefix instead to avoid duplication.
If permissions were enabled, also pass those:
bash ${CLAUDE_PLUGIN_ROOT}/scripts/set-env.sh \
UNIFI_POLICY_ACCESS_DOORS_UPDATE=true \
UNIFI_POLICY_ACCESS_CREDENTIALS_CREATE=true \
UNIFI_POLICY_ACCESS_VISITORS_CREATE=true
Permission variables by option:
UNIFI_POLICY_ACCESS_DOORS_UPDATE=trueUNIFI_POLICY_ACCESS_CREDENTIALS_CREATE=true, UNIFI_POLICY_ACCESS_CREDENTIALS_DELETE=trueUNIFI_POLICY_ACCESS_VISITORS_CREATE=true, UNIFI_POLICY_ACCESS_VISITORS_DELETE=trueUNIFI_POLICY_ACCESS_DEVICES_UPDATE=true, UNIFI_POLICY_ACCESS_POLICIES_UPDATE=trueTell the user:
"Configuration saved to .claude/settings.local.json. Restart Claude Code (or run /reload-plugins) to connect the MCP server.
After restart, run /mcp to verify. You should see unifi-access listed as connected, with a tool count next to it.
If it's missing or shows 0 tools, the server failed to start. Diagnose in this order:
/plugin — confirm the plugin shows enabled (not just installed). If only installed, enable it and re-run /reload-plugins.which uvx — if it returns nothing, install uv (curl -LsSf https://astral.sh/uv/install.sh | sh), restart your shell, then restart Claude Code.claude --debug (in a fresh shell) — surfaces MCP server startup errors. Look for unifi-access in the output and report any error to the maintainer.uvx unifi-access-mcp command manually with the same env vars to see if it can reach your controller.Once /mcp shows the server connected, the UniFi Access tools will be available."
Show a summary table of what was configured, noting which auth paths are active and what permissions are enabled.
tools
Configure the UniFi Protect MCP server for Claude Code, Codex, or OpenClaw — set NVR host, credentials, and permissions
testing
How to manage UniFi Protect cameras and NVR — view cameras, smart detections, recordings, snapshots, lights, sensors, Known Faces, and the Alarm Manager. Use this skill when the user mentions UniFi cameras, security cameras, NVR, recordings, motion detection, person detection, face recognition, Known Faces, snapshots, RTSP streams, floodlights, sensors, chimes, arming/disarming the alarm, or any UniFi Protect task.
tools
How to manage UniFi network infrastructure — devices, clients, firewall, VPN, routing, WLANs, and statistics. Use this skill when the user mentions UniFi, Ubiquiti, network management, WiFi configuration, firewall rules, port forwarding, VPN, QoS, bandwidth, connected clients, network devices, or any UniFi networking task.
testing
Manage UniFi firewall policies using natural language — create, modify, and review firewall rules, content filters, and traffic policies. Use when asked to block traffic, create firewall rules, manage content filtering, set up time-based access controls, or review firewall configuration.