Network
Full UniFi Network controller coverage. Devices, clients, firewall, port-forwards, VLANs, WLANs, DPI stats, traffic identification, alarms, and policy templates — all readable, with mutations gated by preview-then-confirm.
UniFi MCP is a suite of Model Context Protocol servers that expose your Network, Protect, and Access controllers to AI agents — 220+ tools, preview-then-confirm mutations, and a Cloudflare relay for cloud-hosted agents.
Each server is an independent Python package with a tightly-scoped tool surface. Mix and match — point at one controller, or fan out across an entire fleet.
Full UniFi Network controller coverage. Devices, clients, firewall, port-forwards, VLANs, WLANs, DPI stats, traffic identification, alarms, and policy templates — all readable, with mutations gated by preview-then-confirm.
Cameras, snapshots, motion events, smart detections, recordings, and live event streams. Hand your agent a question — get back a timeline, not 800 frames.
Doors, hubs, readers, credentials, visitors, and policies. Issue a guest pass, audit a badge timeline, or revoke a credential — in plain English.
Every prompt routes to one or more tools, with a preview of what will change before it touches your controller.
Show me every client on the Guest VLAN with signal strength under -70 dBm.
Audit my firewall policies — flag redundant or conflicting rules.
Summarize smart-detection events from the front-door camera today — people and vehicles only.
Create a visitor pass for John Smith — main entrance, tomorrow 9 AM to 5 PM.
Everything that happened at the front entrance in the last hour — clients, cameras, doors.
A switch went offline at 2 AM — was there physical activity nearby?
The relay sidecar opens an outbound tunnel to a Cloudflare Worker. Cloud-hosted agents call your local UniFi servers as if they were next door.
Tag each location at the relay. Read-only tools fan out across all of them. Mutations stay scoped to the location you targeted explicitly.
@office vs @home.
unifi-mcp-worker install.
Each plugin ships with skills — reference docs plus deterministic Python scripts — so common operations are reliable, audit-able, and don't burn context.
Batch diagnostics across devices, health subsystems, and alarms — with reference docs for interpreting alarm types and device states.
Natural-language firewall management with policy templates, config snapshots, change tracking, and rollback.
Security audit with 100-point scoring, topology analysis, redundancy detection, and trend tracking over time.
Summarizes camera, door, and network events with severity classification and correlation rules across products.
Doors, credentials, visitors, and policies — with real-time event streaming and activity summaries.
Correlates Network clients, Protect events, and Access scans into a single timeline for "what happened when" investigations.
Pick the path that fits your client. The plugin route is the most opinionated — it ships an MCP server, agent skills, and a guided setup command.
# 1. Add the marketplace (one-time)
/plugin marketplace add sirkirby/unifi-mcp
# 2. Install the server plugin you want
/plugin install unifi-network@unifi-plugins
# 3. Run the guided setup
/unifi-network:unifi-network-setup
# Install the same UniFi bundle marketplace in OpenClaw
openclaw plugins install unifi-network --marketplace https://github.com/sirkirby/unifi-mcp
openclaw gateway restart
# The unifi-network-setup skill can configure this, or register MCP directly:
openclaw mcp set unifi-network '{"command":"uvx","args":["--python-preference","system","unifi-network-mcp@latest"],"env":{"UNIFI_NETWORK_HOST":"192.168.1.1","UNIFI_NETWORK_USERNAME":"admin","UNIFI_NETWORK_PASSWORD":"your-password"}}'
# Run any server directly — no install step
uvx unifi-network-mcp@latest
uvx unifi-protect-mcp@latest
uvx unifi-access-mcp@latest
# Required env
UNIFI_HOST=192.168.1.1
UNIFI_USERNAME=admin
UNIFI_PASSWORD=your-password
docker run -i --rm \
-e UNIFI_HOST=192.168.1.1 \
-e UNIFI_USERNAME=admin \
-e UNIFI_PASSWORD=your-password \
ghcr.io/sirkirby/unifi-network-mcp:latest
# Or use the bundled docker-compose for all three servers:
curl -O https://raw.githubusercontent.com/sirkirby/unifi-mcp/main/docker/docker-compose.yml
docker compose up -d
// claude_desktop_config.json
{
"mcpServers": {
"unifi-network": {
"command": "uvx",
"args": ["unifi-network-mcp@latest"],
"env": {
"UNIFI_HOST": "192.168.1.1",
"UNIFI_USERNAME": "admin",
"UNIFI_PASSWORD": "your-password"
}
}
}
}
# Install with pipx (recommended) or pip
pipx install unifi-network-mcp
pipx install unifi-protect-mcp
pipx install unifi-access-mcp
# Then point your MCP client at the binary on $PATH:
unifi-network-mcp
UniFi MCP is a deliberate design — not a wrapper around an SDK. Every tool is shaped for how LLMs reason about infrastructure.
Mutations are opt-in per server, gated by a preview-then-confirm flow. Your agent shows its work and waits for approval before any change touches the controller.
Eager mode dumps ~5,000 tokens of tool definitions into context on connect. Lazy mode starts at ~200 and loads tool groups on demand — the difference between a slow first turn and an instant one.
Network, Protect, and Access share the same permission model, the same confirmation flow, and the same naming conventions. An agent that can drive one can drive all of them.
Run locally next to Claude Desktop, expose over Streamable HTTP for self-hosted automation platforms, or stream over SSE for browser agents.
Per-server logs with structured request/response, redaction for secrets, and a CLI for replaying calls — so when an agent does something surprising, you can find out exactly what happened.
No SaaS, no telemetry, no account. Clone the repo, run the server, point an agent at it. Your controllers stay yours.
examples/.CONTRIBUTING.md for the monorepo workflow — including how to scaffold a new tool, run the test suite across all three servers, and submit a tool for review.One command, one config, one agent that actually understands your network.