linux/amd64, linux/arm64, and linux/arm/v7 architectures.
Pull the image
Run as a standalone container
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. Replacecloud-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
--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 youdocker 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?