Unifi Network MCP Server
Project description
UniFi Network MCP Server
MCP server exposing 91 UniFi Network Controller tools for LLMs, agents, and automation platforms. Query clients, devices, firewall rules, VLANs, VPNs, stats, and more — with safe-by-default permissions and preview-before-confirm for all mutations.
Install
# PyPI (recommended)
uvx unifi-network-mcp
# or: pip install unifi-network-mcp
# Docker
docker pull ghcr.io/sirkirby/unifi-network-mcp:latest
# From source
git clone https://github.com/sirkirby/unifi-mcp.git
cd unifi-mcp && uv sync
Configure
Set these environment variables (or create a .env file):
UNIFI_HOST=192.168.1.1 # Controller IP or hostname
UNIFI_USERNAME=admin # Local admin username
UNIFI_PASSWORD=your-password # Admin password
# Optional:
# UNIFI_API_KEY= # Official UniFi API key (dual auth)
# UNIFI_PORT=443 # Controller HTTPS port
# UNIFI_SITE=default # UniFi site name
# UNIFI_VERIFY_SSL=false # SSL certificate verification
Run
# stdio transport (default — for Claude Desktop, LM Studio, etc.)
unifi-network-mcp
# Docker
docker run -i --rm \
-e UNIFI_HOST=192.168.1.1 \
-e UNIFI_USERNAME=admin \
-e UNIFI_PASSWORD=secret \
ghcr.io/sirkirby/unifi-network-mcp:latest
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"unifi": {
"command": "uvx",
"args": ["unifi-network-mcp"],
"env": {
"UNIFI_HOST": "192.168.1.1",
"UNIFI_USERNAME": "admin",
"UNIFI_PASSWORD": "your-password"
}
}
}
}
Documentation
- Configuration — Full env var reference, YAML config, controller type detection
- Permissions — Permission system, category defaults, how to enable high-risk tools
- Tool Catalog — All 91 tools organized by category
- Transports — stdio, Streamable HTTP, and SSE setup
- Troubleshooting — Connection issues, SSL, missing tools
Development
cd apps/network
make test # Run tests
make lint # Lint
make format # Format
make manifest # Regenerate tools_manifest.json
make pre-commit # All of the above
See the root CONTRIBUTING.md for the full monorepo workflow.
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file unifi_network_mcp-0.7.0.tar.gz.
File metadata
- Download URL: unifi_network_mcp-0.7.0.tar.gz
- Upload date:
- Size: 101.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e8cde99ccc77e329e8f93f944eaf1ea19f760b450188841eabd641cb2fe384eb
|
|
| MD5 |
36534195723773aadd6aa6adf37955b2
|
|
| BLAKE2b-256 |
82a63f32e7cae59b622e328320e5e61db097d26e75781355d140533eba34e6e2
|
Provenance
The following attestation bundles were made for unifi_network_mcp-0.7.0.tar.gz:
Publisher:
publish-network.yml on sirkirby/unifi-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
unifi_network_mcp-0.7.0.tar.gz -
Subject digest:
e8cde99ccc77e329e8f93f944eaf1ea19f760b450188841eabd641cb2fe384eb - Sigstore transparency entry: 1113858524
- Sigstore integration time:
-
Permalink:
sirkirby/unifi-mcp@e629ab303be49879e06278d04b9608d208daa4eb -
Branch / Tag:
refs/tags/network/v0.7.0 - Owner: https://github.com/sirkirby
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-network.yml@e629ab303be49879e06278d04b9608d208daa4eb -
Trigger Event:
release
-
Statement type:
File details
Details for the file unifi_network_mcp-0.7.0-py3-none-any.whl.
File metadata
- Download URL: unifi_network_mcp-0.7.0-py3-none-any.whl
- Upload date:
- Size: 136.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5e1542454feae851b4f09c7b23f0b041c3730c0538dba021fd8d15037a1fa12b
|
|
| MD5 |
784f572308aa1e5e6a692375a2388668
|
|
| BLAKE2b-256 |
fb1c12de28b2ea057b1eb3a08ce43cc89737b8d032271bdbef8b7ddbe4229f28
|
Provenance
The following attestation bundles were made for unifi_network_mcp-0.7.0-py3-none-any.whl:
Publisher:
publish-network.yml on sirkirby/unifi-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
unifi_network_mcp-0.7.0-py3-none-any.whl -
Subject digest:
5e1542454feae851b4f09c7b23f0b041c3730c0538dba021fd8d15037a1fa12b - Sigstore transparency entry: 1113858526
- Sigstore integration time:
-
Permalink:
sirkirby/unifi-mcp@e629ab303be49879e06278d04b9608d208daa4eb -
Branch / Tag:
refs/tags/network/v0.7.0 - Owner: https://github.com/sirkirby
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-network.yml@e629ab303be49879e06278d04b9608d208daa4eb -
Trigger Event:
release
-
Statement type: