NestDaddy

UniFi

io.github.mattoddie/unifi-mcp · v0.6.1

Manage a Ubiquiti UniFi network: devices, clients, WiFi, firewall and VPN. Read-only by default.

Connect Runs on your machine

Terminal
claude mcp add unifi-mcp -e MCP_TRANSPORT=<MCP_TRANSPORT> -e UNIFI_URL=<UNIFI_URL> -e UNIFI_API_KEY=<UNIFI_API_KEY> -e UNIFI_USERNAME=<UNIFI_USERNAME> -e UNIFI_PASSWORD=<UNIFI_PASSWORD> -e UNIFI_TLS_FINGERPRINT=<UNIFI_TLS_FINGERPRINT> -e UNIFI_VERIFY_SSL=<UNIFI_VERIFY_SSL> -e UNIFI_SITE=<UNIFI_SITE> -e UNIFI_ALLOW_WRITES=<UNIFI_ALLOW_WRITES> -e UNIFI_ALLOW_DELETES=<UNIFI_ALLOW_DELETES> -e UNIFI_TOOLSETS=<UNIFI_TOOLSETS> -e UNIFI_AUDIT_LOG=<UNIFI_AUDIT_LOG> -- docker run -i --rm ghcr.io/mattoddie/unifi-mcp:0.6.1
claude_desktop_config.json
{
  "mcpServers": {
    "unifi-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/mattoddie/unifi-mcp:0.6.1"
      ],
      "env": {
        "MCP_TRANSPORT": "<MCP_TRANSPORT>",
        "UNIFI_URL": "<UNIFI_URL>",
        "UNIFI_API_KEY": "<UNIFI_API_KEY>",
        "UNIFI_USERNAME": "<UNIFI_USERNAME>",
        "UNIFI_PASSWORD": "<UNIFI_PASSWORD>",
        "UNIFI_TLS_FINGERPRINT": "<UNIFI_TLS_FINGERPRINT>",
        "UNIFI_VERIFY_SSL": "<UNIFI_VERIFY_SSL>",
        "UNIFI_SITE": "<UNIFI_SITE>",
        "UNIFI_ALLOW_WRITES": "<UNIFI_ALLOW_WRITES>",
        "UNIFI_ALLOW_DELETES": "<UNIFI_ALLOW_DELETES>",
        "UNIFI_TOOLSETS": "<UNIFI_TOOLSETS>",
        "UNIFI_AUDIT_LOG": "<UNIFI_AUDIT_LOG>"
      }
    }
  }
}
~/.cursor/mcp.json
{
  "mcpServers": {
    "unifi-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/mattoddie/unifi-mcp:0.6.1"
      ],
      "env": {
        "MCP_TRANSPORT": "<MCP_TRANSPORT>",
        "UNIFI_URL": "<UNIFI_URL>",
        "UNIFI_API_KEY": "<UNIFI_API_KEY>",
        "UNIFI_USERNAME": "<UNIFI_USERNAME>",
        "UNIFI_PASSWORD": "<UNIFI_PASSWORD>",
        "UNIFI_TLS_FINGERPRINT": "<UNIFI_TLS_FINGERPRINT>",
        "UNIFI_VERIFY_SSL": "<UNIFI_VERIFY_SSL>",
        "UNIFI_SITE": "<UNIFI_SITE>",
        "UNIFI_ALLOW_WRITES": "<UNIFI_ALLOW_WRITES>",
        "UNIFI_ALLOW_DELETES": "<UNIFI_ALLOW_DELETES>",
        "UNIFI_TOOLSETS": "<UNIFI_TOOLSETS>",
        "UNIFI_AUDIT_LOG": "<UNIFI_AUDIT_LOG>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "unifi-mcp": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/mattoddie/unifi-mcp:0.6.1"
      ],
      "env": {
        "MCP_TRANSPORT": "<MCP_TRANSPORT>",
        "UNIFI_URL": "<UNIFI_URL>",
        "UNIFI_API_KEY": "<UNIFI_API_KEY>",
        "UNIFI_USERNAME": "<UNIFI_USERNAME>",
        "UNIFI_PASSWORD": "<UNIFI_PASSWORD>",
        "UNIFI_TLS_FINGERPRINT": "<UNIFI_TLS_FINGERPRINT>",
        "UNIFI_VERIFY_SSL": "<UNIFI_VERIFY_SSL>",
        "UNIFI_SITE": "<UNIFI_SITE>",
        "UNIFI_ALLOW_WRITES": "<UNIFI_ALLOW_WRITES>",
        "UNIFI_ALLOW_DELETES": "<UNIFI_ALLOW_DELETES>",
        "UNIFI_TOOLSETS": "<UNIFI_TOOLSETS>",
        "UNIFI_AUDIT_LOG": "<UNIFI_AUDIT_LOG>"
      }
    }
  }
}

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
MCP_TRANSPORT
Optional
The image serves HTTP by default; this runs it over stdio.
UNIFI_URL
Required
Address of your UniFi console. For a legacy self-hosted Network application, include the port.
UNIFI_API_KEY
Optional, secret
API key from UniFi Network → Settings → Control Plane → Integrations. Or use a username and password.
UNIFI_USERNAME
Optional
A local (not Ubiquiti cloud) account, used instead of an API key. Required for legacy controllers.
UNIFI_PASSWORD
Optional, secret
The local account's password, used with the username.
UNIFI_TLS_FINGERPRINT
Optional
Recommended for an https controller with a self-signed certificate: its SHA-256 fingerprint, to pin it.
UNIFI_VERIFY_SSL
Optional
Leave empty when you set a fingerprint. true: publicly trusted certificate. false: skip the check (insecure).
UNIFI_SITE
Optional
The site's short name, used when a request doesn't name a site.
UNIFI_ALLOW_WRITES
Optional
Allow changes: restart devices, block clients, edit WiFi, firewall and networks. Off means read-only.
UNIFI_ALLOW_DELETES
Optional
Also allow deleting configuration and forgetting clients. Needs UNIFI_ALLOW_WRITES.
UNIFI_TOOLSETS
Optional
Optional comma-separated list to expose fewer tools, e.g. overview,devices,clients. Empty means all.
UNIFI_AUDIT_LOG
Optional
Set to stderr to log every change the assistant makes or previews as JSON lines. Off when empty.

Details

Packageghcr.io/mattoddie/unifi-mcp:0.6.1 (OCI, stdio)
Packagehttps://github.com/mattoddie/unifi-mcp/releases/download/v0.6.1/unifi-mcp-0.6.1-darwin-arm64.mcpb (MCPB, stdio)
Packagehttps://github.com/mattoddie/unifi-mcp/releases/download/v0.6.1/unifi-mcp-0.6.1-darwin-amd64.mcpb (MCPB, stdio)
Packagehttps://github.com/mattoddie/unifi-mcp/releases/download/v0.6.1/unifi-mcp-0.6.1-windows-amd64.mcpb (MCPB, stdio)
Packagehttps://github.com/mattoddie/unifi-mcp/releases/download/v0.6.1/unifi-mcp-0.6.1-windows-arm64.mcpb (MCPB, stdio)
Packagehttps://github.com/mattoddie/unifi-mcp/releases/download/v0.6.1/unifi-mcp-0.6.1-linux-amd64.mcpb (MCPB, stdio)
Packagehttps://github.com/mattoddie/unifi-mcp/releases/download/v0.6.1/unifi-mcp-0.6.1-linux-arm64.mcpb (MCPB, stdio)
First published22 Oct 2026
Last updated22 Oct 2026
Registry nameio.github.mattoddie/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.