by sirkirby
MCP servers & Graph API for the UniFi suite of applications, Network, Protect, and Access
# Add to your Claude Code skills
git clone https://github.com/sirkirby/unifi-mcpLast scanned: 5/26/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-05-26T07:46:22.019Z",
"semgrepRan": false,
"npmAuditRan": true,
"pipAuditRan": true
}unifi-mcp is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by sirkirby. MCP servers & Graph API for the UniFi suite of applications, Network, Protect, and Access. It has 900 GitHub stars.
Yes. unifi-mcp passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/sirkirby/unifi-mcp" and add it to your Claude Code skills directory (see the Installation section above).
unifi-mcp is primarily written in Python. It is open-source under sirkirby on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh unifi-mcp against similar tools.
No comments yet. Be the first to share your thoughts!
30 days in the Featured rail · terms & refunds
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
Automated security scan — not a certification.
Leverage agents and agentic AI workflows to manage your UniFi deployment.
| Server | Status | Tools | Package |
|---|---|---|---|
| Network | Stable | 210 | unifi-network-mcp |
| Protect | Stable | 63 | unifi-protect-mcp |
| Access | Stable | 37 | unifi-access-mcp |
| What you are building | Use | Why |
|---|---|---|
| An AI assistant or another existing MCP client | Network, Protect, or Access MCP server | Standard MCP discovery, tool calls, permissions, and confirmation flows |
| A custom application, automation service, code-execution runtime, or MCP adapter | unifi-api-server |
Your code controls call sequencing, data joins, resource limits, and approval flow |
| Remote access for an MCP client | Cloud Relay | Authenticated remote MCP routing without exposing the local servers directly |
An MCP adapter can expose a small set of tools while using unifi-api-server
as its backend. This keeps application-specific joins, branching, loops, and
code isolation out of the general-purpose MCP servers.
| Component | Status | Package |
|---|---|---|
| Relay Sidecar | Beta | unifi-mcp-relay |
| Worker Gateway | Beta | unifi-mcp-worker (CLI) |
Cloud Relay pairs the Cloudflare-hosted Worker gateway with the Relay sidecar on your LAN. The Worker provides the authenticated edge MCP endpoint, Durable Object broker, multi-location routing, token boundary, and deployment/management CLI. The Relay sidecar is a local MCP HTTP client and forwarder: it discovers configured local MCP servers over HTTP and maintains an outbound WebSocket to the Worker. Remote requests follow MCP client → Worker gateway → outbound WebSocket → Relay sidecar → local MCP servers over HTTP; the API server is not in this path. Read-only tools support annotation-based multi-location fan-out, while writes require explicit location targeting. Deploy the Worker with npm install -g unifi-mcp-worker && unifi-mcp-worker install, then see the Relay sidecar README to connect local servers.
| Component | Status | Package |
|---|---|---|
| API Server | Beta | unifi-api-server · GHCR image |
unifi-api-server is an independent HTTP service for custom applications,
automation, and adapters. It provides typed REST resources, read-only GraphQL
queries, SSE streams, scoped API keys and administration, plus a REST action
endpoint for supported controller operations. It shares unifi-core managers
with the MCP servers but does not proxy or require them.
See apps/api/README.md for quick-start and deployment patterns.
UniFi MCP is a collection of Model Context Protocol servers that let AI assistants and automation tools interact with Ubiquiti UniFi controllers. Each server targets a specific UniFi application (Network, Protect, Access) and exposes its functionality as MCP tools — queryable, composable, and safe by default.
MCP HTTP is unauthenticated and intended for trusted local clients. HTTP is disabled by default; when enabled, packages bind to loopback. Docker Compose enables it on the container network and publishes ports 3000–3002 on host 127.0.0.1. Use an authenticated TLS proxy or Cloud Relay for remote access, and prevent direct access to the backend. See the transport security model and HTTP setup and migration.
| Setting | Default | Purpose |
|---|---|---|
UNIFI_MCP_HTTP_ENABLED |
false |
Opt into HTTP transport |
UNIFI_MCP_HOST |
127.0.0.1 |
Bind address; Compose explicitly uses 0.0.0.0 inside containers |
UNIFI_MCP_HTTP_FORCE |
false |
Allow HTTP outside container PID 1 |
UNIFI_MCP_ALLOWED_HOSTS |
localhost,127.0.0.1 |
Complete accepted Host-header list; Compose separately adds required internal hosts |
UNIFI_MCP_ENABLE_DNS_REBINDING_PROTECTION |
true |
Validate Host headers to prevent DNS-rebinding requests |
UniFi MCP keeps the standard MCP path primary: capable clients discover currently registered tools with tools/list and invoke them with tools/call. The default lazy mode keeps initial context small by exposing meta-tools first, while eager mode registers all selected domain tools directly for clients that prefer a full standard tool list.
The lazy-loading meta-tools — *_tool_index, *_execute, *_batch, *_batch_status, and lazy-only *_load_tools — support filtered discovery, indirect execution, batch orchestration, and optional direct registration. They are independent of the protocol-version response compatibility policy below. See MCP Discovery and Lazy-Loading Meta-Tools for mode-by-mode behavior.
For tool results that already provide structured output, adaptive response mode is the default. It classifies each request by the canonical date-based protocolVersion advertised during MCP initialization, not by the client's product name or application version. Requests advertising MCP 2025-06-18 or later receive concise text in content and the full result once in structuredContent; requests advertising an earlier revision (such as 2024-11-05 or 2025-03-26), or whose revision metadata is missing or malformed, retain the full compatibility JSON in content. Set UNIFI_MCP_CONTENT_MODE=compat to force that duplicated compatibility form, or UNIFI_MCP_CONTENT_MODE=compact to force concise text plus the full structured result even outside a negotiated request. Use compat for any client that consumes the full result only from content, regardless of its advertised revision.
The lazy-loading meta-tools remain content-only; they are not the pre-2025-06-18 protocol category described above. For structured inner results, *_execute and *_batch_status expose one normalized JSON payload in content rather than a nested transport pair; content-only execute results remain unchanged. Response modes do not convert these meta-tools to structuredContent.
UNIFI_NETWORK_MCP_CONTENT_MODE, UNIFI_PROTECT_MCP_CONTENT_MODE, and UNIFI_ACCESS_MCP_CONTENT_MODE override the global setting for their respective servers. Independently of transport compaction, Network's unifi_get_dashboard defaults to summary=true, while unifi_list_rogue_aps defaults to a summarized page of at most 100 records; pass summary=false when the full selected data is required.
Paste the block below into your coding agent. It points the agent at the canonical, versioned setup guide and limits what it may change:
Install UniFi MCP for me using the official instructions at:
https://github.com/sirkirby/unifi-mcp/blob/main/docs/agent-install.md
Before changing anything, identify my agent client and operating system, ask
whether I need Network, Protect, Access, or more than one, and show me the exact
commands and configuration files you plan to change. Wait for my confirmation.
Do not ask me to paste a password or API key into chat. Prefer an indirect
credential provider or the client's secure secret prompt. Keep mutation
permissions in confirm mode and explicitly deny create, update, and delete
unless I opt in. After setup, reload the client, verify the MCP connection and
tool list, and run one harmless read-only check.
The guide covers native plugins, product-scoped npx skills add installs,
OpenCode's built-in MCP support, and the current manual paths for Antigravity,
Cursor, and Devin Desktop. A skills install adds agent guidance; it does not by
itself register the MCP server.
unifi-intelligence 1.0.0, listed in the Claude Code and
Codex marketplaces. It ships skills only: Incident Investigation, Security
Patrol and Visitor Audit. It replaces the unlisted cross-product bundle.unifi-network and unifi-protect with it; on Codex and OpenClaw, inst