NestDaddy

UniFi Site Manager and Network (unofficial)

io.github.mguttmann/the-real-unifi-mcp · v0.4.0

Unofficial MCP server for the UniFi Site Manager and Network cloud APIs, with a write-confirm guard.

Connect Runs on your machine

Terminal
claude mcp add the-real-unifi-mcp -e UNIFI_API_KEY=<UNIFI_API_KEY> -e UNIFI_CONFIRM_WRITES=<UNIFI_CONFIRM_WRITES> -e UNIFI_API_BASE=<UNIFI_API_BASE> -e UNIFI_TIMEOUT_MS=<UNIFI_TIMEOUT_MS> -e UNIFI_LOG_LEVEL=<UNIFI_LOG_LEVEL> -e UNIFI_CONSOLE_ID=<UNIFI_CONSOLE_ID> -e UNIFI_NETWORK_SITE_ID=<UNIFI_NETWORK_SITE_ID> -e UNIFI_SITE_MANAGER_SITE_ID=<UNIFI_SITE_MANAGER_SITE_ID> -e UNIFI_READ_ONLY=<UNIFI_READ_ONLY> -e UNIFI_REDACT_SECRETS=<UNIFI_REDACT_SECRETS> -e UNIFI_MAX_RESULT_BYTES=<UNIFI_MAX_RESULT_BYTES> -- npx -y [email protected]
claude_desktop_config.json
{
  "mcpServers": {
    "the-real-unifi-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "UNIFI_API_KEY": "<UNIFI_API_KEY>",
        "UNIFI_CONFIRM_WRITES": "<UNIFI_CONFIRM_WRITES>",
        "UNIFI_API_BASE": "<UNIFI_API_BASE>",
        "UNIFI_TIMEOUT_MS": "<UNIFI_TIMEOUT_MS>",
        "UNIFI_LOG_LEVEL": "<UNIFI_LOG_LEVEL>",
        "UNIFI_CONSOLE_ID": "<UNIFI_CONSOLE_ID>",
        "UNIFI_NETWORK_SITE_ID": "<UNIFI_NETWORK_SITE_ID>",
        "UNIFI_SITE_MANAGER_SITE_ID": "<UNIFI_SITE_MANAGER_SITE_ID>",
        "UNIFI_READ_ONLY": "<UNIFI_READ_ONLY>",
        "UNIFI_REDACT_SECRETS": "<UNIFI_REDACT_SECRETS>",
        "UNIFI_MAX_RESULT_BYTES": "<UNIFI_MAX_RESULT_BYTES>"
      }
    }
  }
}
~/.cursor/mcp.json
{
  "mcpServers": {
    "the-real-unifi-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "UNIFI_API_KEY": "<UNIFI_API_KEY>",
        "UNIFI_CONFIRM_WRITES": "<UNIFI_CONFIRM_WRITES>",
        "UNIFI_API_BASE": "<UNIFI_API_BASE>",
        "UNIFI_TIMEOUT_MS": "<UNIFI_TIMEOUT_MS>",
        "UNIFI_LOG_LEVEL": "<UNIFI_LOG_LEVEL>",
        "UNIFI_CONSOLE_ID": "<UNIFI_CONSOLE_ID>",
        "UNIFI_NETWORK_SITE_ID": "<UNIFI_NETWORK_SITE_ID>",
        "UNIFI_SITE_MANAGER_SITE_ID": "<UNIFI_SITE_MANAGER_SITE_ID>",
        "UNIFI_READ_ONLY": "<UNIFI_READ_ONLY>",
        "UNIFI_REDACT_SECRETS": "<UNIFI_REDACT_SECRETS>",
        "UNIFI_MAX_RESULT_BYTES": "<UNIFI_MAX_RESULT_BYTES>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "the-real-unifi-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "UNIFI_API_KEY": "<UNIFI_API_KEY>",
        "UNIFI_CONFIRM_WRITES": "<UNIFI_CONFIRM_WRITES>",
        "UNIFI_API_BASE": "<UNIFI_API_BASE>",
        "UNIFI_TIMEOUT_MS": "<UNIFI_TIMEOUT_MS>",
        "UNIFI_LOG_LEVEL": "<UNIFI_LOG_LEVEL>",
        "UNIFI_CONSOLE_ID": "<UNIFI_CONSOLE_ID>",
        "UNIFI_NETWORK_SITE_ID": "<UNIFI_NETWORK_SITE_ID>",
        "UNIFI_SITE_MANAGER_SITE_ID": "<UNIFI_SITE_MANAGER_SITE_ID>",
        "UNIFI_READ_ONLY": "<UNIFI_READ_ONLY>",
        "UNIFI_REDACT_SECRETS": "<UNIFI_REDACT_SECRETS>",
        "UNIFI_MAX_RESULT_BYTES": "<UNIFI_MAX_RESULT_BYTES>"
      }
    }
  }
}

Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.

Tools

This server runs locally, so its tools are listed by your MCP client once it starts.

Environment variables

NameDescription
UNIFI_API_KEY
Required, secret
UniFi Site Manager API key with Network scope (unifi.ui.com, Settings > API). It controls your whole network: treat it like an admin password.
UNIFI_CONFIRM_WRITES
Optional
Write confirmation: destructive tools return a preview and run only when called again with confirm "YES". Only false, 0, no or off turn it off.
UNIFI_API_BASE
Optional
API base URL; this host receives the API key. https origin only (http only for loopback test stubs). Keep the default.
UNIFI_TIMEOUT_MS
Optional
Per-request timeout in milliseconds, covering response headers and body.
UNIFI_LOG_LEVEL
Optional
Log level on stderr: debug, info, warn or error.
UNIFI_CONSOLE_ID
Optional
Pins the UniFi console instead of discovering it (needed when the account has several consoles).
UNIFI_NETWORK_SITE_ID
Optional
Pins the Network site instead of discovering it.
UNIFI_SITE_MANAGER_SITE_ID
Optional
Pins the Site Manager site instead of discovering it.
UNIFI_READ_ONLY
Optional
Read-only mode: every write tool returns an error and sends no request; reads still work. Off by default.
UNIFI_REDACT_SECRETS
Optional
Masks passwords, WiFi passphrases, pre-shared keys and other secret fields in every tool result with (redacted); write tools refuse a body that contains that placeholder. Off by default.
UNIFI_MAX_RESULT_BYTES
Optional
Cuts tool results longer than this many bytes and marks them as truncated. Unset or empty: 100000. 0, off or none: no cap.

Details

Package[email protected] (NPM, stdio)
Packagehttps://github.com/mguttmann/the-real-unifi-mcp/releases/download/v0.4.0/[email protected] (MCPB, stdio)
First published27 Oct 2026
Last updated27 Oct 2026
Registry nameio.github.mguttmann/the-real-unifi-mcp

More other servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.