Skip to main content
The UniFi MCP Server is published as a multi-architecture Docker image on the GitHub Container Registry. You can run it as a standalone container or use Docker Compose to bring up the server alongside Redis for caching. The image supports linux/amd64, linux/arm64, and linux/arm/v7 architectures.

Pull the image

To pull a specific release instead:

Run as a standalone container

Do not use the -d (detached) flag when connecting the container to an MCP client such as Claude Desktop or Cursor. MCP clients communicate with the server over stdin/stdout and require an interactive session. Use -i instead to keep stdin open. The -d flag will break the connection.

Local gateway mode

Use this when your MCP client needs full access to device management, network configuration, firewall rules, and other write operations. Your machine must have network access to the UniFi gateway.

Cloud API mode

Use this for read-only monitoring via the UniFi Cloud API. Replace cloud-v1 with cloud-ea for the Early Access API.
Cloud API modes (cloud-v1 and cloud-ea) are limited to aggregate site statistics. They do not support querying individual devices or clients, and cannot make configuration changes. Use local mode for full functionality.

MCP client configuration (Docker)

When configuring an MCP client to launch the container, pass environment variables as individual -e arguments. Below is an example for Claude Desktop (claude_desktop_config.json):

Docker Compose setup

Docker Compose is the recommended approach for running the server with Redis caching enabled. The configuration below defines two services: the UniFi MCP Server and a Redis instance.
1

Create your environment file

Copy the example and fill in your credentials:
At minimum, set UNIFI_API_KEY and UNIFI_API_TYPE in the .env file.
2

Start the services

Add --detach only if you are running the services for background use and not connecting an MCP client directly to this Compose stack.
3

Check service status

4

View server logs

5

Stop the services

docker-compose.yml reference

Below is the full Compose file showing all configurable environment variables and their defaults:

Multi-architecture support

The published image is built for three architectures. Docker automatically selects the correct variant for your platform when you docker pull or docker run.

Next steps

Configure environment variables

Full reference for every environment variable the server accepts.

Install with pip or uv

Prefer a native Python install instead of Docker?