π‘ UniFi Network MCP Server
@sirkirby
MCP server implementation for the UniFi network application
Overview
What is UniFi Network MCP Server?
A self-hosted Model Context Protocol (MCP) server that turns your UniFi Network Controller into a programmable set of tools. It exposes every capability as standard MCP tools prefixed with unifi_, so any LLM or agent speaking MCP (e.g., Claude Desktop, mcp-cli, LangChain) can query, analyse, and β when explicitly confirmed β modify your network.
How to use UniFi Network MCP Server?
Run via Docker using ghcr.io/sirkirby/unifi-network-mcp:latest, or install locally with Python/UV (uv pip install unifi-network-mcp) then launch the mcp-server-unifi-network command. Supply UniFi controller credentials through environment variables (UNIFI_HOST, UNIFI_USERNAME, UNIFI_PASSWORD, etc.) or an .env file. Integrate with Claude Desktop by adding the server to your claude_desktop_config.json.
Key features of UniFi Network MCP Server
- Full catalog of UniFi controller operations (firewall, traffic-routes, port-forwards, QoS, VPN, WLANs, stats, devices, clients).
- All mutating tools require
confirm=trueto prevent accidental changes. - Works over stdio (FastMCP) and exposes an SSE HTTP endpoint (default port 3000).
- One-liner launch via the console-script
mcp-server-unifi-network. - Python β₯ 3.10, packaged with
pyproject.tomland available on PyPI.
Use cases of UniFi Network MCP Server
- Query and analyse network statistics, device lists, and client activity through natural language.
- Create, update, or toggle firewall policies and port forwards with explicit user confirmation.
- Block/unblock clients, rename devices, and reboot equipment via an LLM agent.
- Automate VPN client and server configuration changes.
- Retrieve alerts and network health without logging into the controller UI.
FAQ from UniFi Network MCP Server
What does this server do vs alternatives?
It is an MCP server, not a UniFi controller. It translates MCP tool calls into UniFi controller API operations, enabling any MCP-compatible LLM or agent to interact with your network.
What are the runtime requirements?
You need either Docker (to run the pre-built image) or Python β₯3.10 with uv/pip. The server must be able to reach a UniFi Network Controller over HTTPS.
Where does my network data live?
All data remains in the UniFi controller. The server acts as a pass-through and does not store any network configuration or client data.
Which transport protocols are supported?
The server supports both stdio (default for MCP) and SSE HTTP (on port 3000 by default). Configuration is set in src/config/config.yaml.
How do I authenticate to the UniFi controller?
Credentials are supplied via environment variables (UNIFI_HOST, UNIFI_USERNAME, UNIFI_PASSWORD, UNIFI_PORT, UNIFI_SITE, UNIFI_VERIFY_SSL) or an .env file. No additional authentication layer is provided for the MCP transport.