UniFi Gateway

io.github.pete-builds/unifi

Safe-by-default UniFi MCP: Network + Protect + Access, multi-site, dry-run, audit log.

Connect this server

Add this to your MCP client config — claude_desktop_config.json (Claude Desktop) or .cursor/mcp.json (Cursor).Suits: Claude Desktop · Cursor.

{
  "mcpServers": {
    "unifi": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/pete-builds/mcp-unifi:0.27.0"
      ],
      "env": {
        "STUB_MODE": "true",
        "UNIFI_API_KEY": "<your UNIFI_API_KEY>",
        "UNIFI_SITE": "default",
        "UNIFI_VERIFY_SSL": "false",
        "MCP_UNIFI_MODULES_ENABLED": "network",
        "UNIFI_ACCESS_API_KEY": "<your UNIFI_ACCESS_API_KEY>",
        "UNIFI_ACCESS_PORT": "12445",
        "MCP_UNIFI_AUDIT_SINK": "file",
        "MCP_UNIFI_AUDIT_PATH": "audit.jsonl"
      }
    }
  }
}
Environment variables
  • STUB_MODEWhen true, the server returns realistic mock data and requires no UniFi hardware. Defaults to true so the image is functional out of the box.
  • UNIFI_API_KEYsecretLocal API key generated under Settings -> Control Plane -> Integrations on the gateway. Required when STUB_MODE=false and MCP_UNIFI_CONTROLLERS_FILE is unset.
  • UNIFI_SITEUniFi controller site name. Defaults to 'default'.
  • UNIFI_VERIFY_SSLWhether to verify the gateway's TLS certificate. Defaults to false because most home gateways use a self-signed cert.
  • MCP_UNIFI_MODULES_ENABLEDComma-separated list of modules to load. Known values: 'network', 'protect', 'access'. Defaults to 'network'. Set to 'network,protect,access' to enable Protect and Access tools alongside Network. Access currently ships read-only; door unlocks and credential issuance require session-token auth and are deferred.
  • UNIFI_ACCESS_API_KEYsecretUniFi Access API key. Separate from the Network API key; generated on the Access controller's developer settings. Required when the access module is enabled and STUB_MODE=false.
  • UNIFI_ACCESS_PORTHTTPS port for the Access hub. Defaults to 12445 (the direct Access app port).
  • MCP_UNIFI_AUDIT_SINKAudit log sink. One of 'file' (default), 'stdout', or 'syslog'. Every tool call is recorded to a JSONL stream with secrets scrubbed.
  • MCP_UNIFI_AUDIT_PATHPath for the audit log file when MCP_UNIFI_AUDIT_SINK=file. Defaults to audit.jsonl in the process CWD.

A starting point — check the repository for exact arguments and setup. Restart your client after editing the config.

Category
Developer Tools
Version
0.27.0
Registry
active
Published
10/21/2026
Browse all Developer Tools →

Add the badge to your site

Show visitors that UniFi Gateway is listed here — it’s also the link we check for a free listing.

UniFi Gateway — listed on Serverdex

HTML — for your website

<a href="https://serverdex.io/server/io-github-pete-builds-unifi?utm_source=badge"><img src="https://serverdex.io/brand/badge.svg" alt="UniFi Gateway — listed on Serverdex" width="123" height="40" loading="lazy"></a>

Recommended. A dofollow link from your own domain is the one that counts for search engines, and it's the link we check for a free listing.

Markdown — for your README

[![UniFi Gateway — listed on Serverdex](https://serverdex.io/brand/badge.svg)](https://serverdex.io/server/io-github-pete-builds-unifi?utm_source=badge)

Nice for visibility, but GitHub marks README links nofollow, so it doesn't pass authority. Use the HTML badge on your site as well.