This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.
Consider using release 0.37.0 instead.
Reason given by maintainers: Broken dependency metadata (unpinned shared/core dep); install fails. Use @latest.
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
Claude Code (recommended)
The plugin installs the MCP server, an agent skill for tool discovery, and a guided setup command:
/plugin marketplace add sirkirby/unifi-mcp
/plugin install unifi-network@unifi-plugins
Then run the interactive setup to configure your controller connection:
/unifi-network:setup
This walks you through entering your controller host, credentials, and permission preferences — then writes everything to .claude/settings.json so it persists across sessions. Restart Claude Code after setup to connect.
PyPI / Docker
# PyPI
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). If you used /unifi-network:setup, this is already done.
# Server-specific variables (recommended)
UNIFI_NETWORK_HOST=192.168.1.1 # Controller IP or hostname
UNIFI_NETWORK_USERNAME=admin # Local admin username
UNIFI_NETWORK_PASSWORD=your-password # Admin password
# Optional:
# UNIFI_NETWORK_API_KEY= # UniFi API key (experimental — read-only, subset of tools)
# UNIFI_NETWORK_PORT=443 # Controller HTTPS port
# UNIFI_NETWORK_SITE=default # UniFi site name
# UNIFI_NETWORK_VERIFY_SSL=false # SSL certificate verification
Fallback: Existing UNIFI_* variables (e.g., UNIFI_HOST) continue to work. The server checks for UNIFI_NETWORK_* first and falls back to UNIFI_* if the server-specific variable is not set. For single-controller setups, the shared variables are all you need.
Run
# stdio transport (default — for Claude Desktop, LM Studio, etc.)
unifi-network-mcp
# Docker
docker run -i --rm \
-e UNIFI_NETWORK_HOST=192.168.1.1 \
-e UNIFI_NETWORK_USERNAME=admin \
-e UNIFI_NETWORK_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_NETWORK_HOST": "192.168.1.1",
"UNIFI_NETWORK_USERNAME": "admin",
"UNIFI_NETWORK_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
Metadata
Release files for unifi-network-mcp 0.7.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| unifi_network_mcp-0.7.2.tar.gz | 104.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| unifi_network_mcp-0.7.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 242.8 kB
Release files / unifi_network_mcp-0.7.2.tar.gz
| Download URL | unifi_network_mcp-0.7.2.tar.gz |
|---|---|
| Size | 104.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
73af0d7eb2d5316d56762c5567883af4d68f493e39a26d7a738ce5d1f91912e3
|
|
BLAKE2b-256 checksum How to use checksums |
16255f2a96b4a72e21524c67d4b837ecd0a10c51a09e4f200ee03865b9ed44fd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 19, 2026.
Transparency logRelease files / unifi_network_mcp-0.7.2-py3-none-any.whl
| Download URL | unifi_network_mcp-0.7.2-py3-none-any.whl |
|---|---|
| Size | 138.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
580613699a246c70765d34191e89e424ec2137b0ba68948cc14a4a95b1af728a
|
|
BLAKE2b-256 checksum How to use checksums |
f84d5ecbfbde0de8f0e166cc56094ff5a9b29668856d86d6801c4f774b0bce38
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 19, 2026.
Transparency log