mcp-unifi-network
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| UNIFI_HOST | Yes | The console. A pasted browser URL is accepted and split. | |
| UNIFI_MODE | No | `unifios` · `cloud` · `classic`. | inferred |
| UNIFI_SITE | No | Default site. UUID, legacy name or display name. | |
| UNIFI_API_KEY | Yes | Settings → Control Plane → Integrations → Create API Key. | |
| UNIFI_CONF IG | No | JSON alternative to all of the above. | ~/.config/unifi/config.json |
| UNIFI_PASSWORD | No | Legacy tier only. A **local** admin, not SSO. | |
| UNIFI_USERNAME | No | Legacy tier only. A **local** admin, not SSO. | |
| UNIFI_MAX_PAGES | No | Tuning parameter. | 20 |
| UNIFI_CONSOLE_ID | No | Cloud mode: the console id from unifi.ui.com. | |
| UNIFI_PAGE_LIMIT | No | Tuning parameter. | 50 |
| UNIFI_APP_VERSION | No | Pin the version instead of probing at startup. | probed |
| UNIFI_MAX_RETRIES | No | Tuning parameter. | 3 |
| UNIFI_ALLOW_WRITES | No | Register the mutating tools. | false |
| UNIFI_INSECURE_TLS | No | Disable certificate verification, this server only. | false |
| UNIFI_ENABLE_LEGACY | No | Register the `unifi_legacy_*` tools. | false |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| unifi_auth_statusA | Report whether this server can reach a UniFi console, which transport and site it uses, what Network version the console runs, and — when something is missing — exactly what to set. Call this FIRST whenever a tool you expected is not in the list: on this API the available endpoints depend on the console's version, so an absent tool usually means an older console or missing configuration rather than a bug. |
| unifi_list_sitesA | List the sites on this console with ALL THREE of their identifiers: the |
| unifi_get_console_infoA | Report the console's UniFi Network version and which tools it supports. This API gained most of its endpoints in Network 10.0, so on an older console a large part of the tool set simply does not exist. Call this when a tool is missing or returns a 404 — it names the version each capability needs and lists what is gated off here. |
| unifi_list_clientsA | List the clients currently connected to a site — the devices on your network right now, not the historical list. Each entry carries the client |
| unifi_get_clientA | Get the full detail of one connected client by its |
| unifi_list_devicesA | List the UniFi devices adopted by a site — access points, switches, gateways — with their state, model, IP, MAC and firmware. Use |
| unifi_get_deviceA | Get one adopted device in full, including its |
| unifi_get_device_statsA | Get a device's latest telemetry: uptime, CPU and memory utilization, load averages, uplink throughput and per-radio transmit retry rates. This is the current snapshot the console holds, not a time series — there is no history endpoint in this API. |
| unifi_list_vouchersA | List the hotspot guest vouchers on a site, with their code, name, time and data limits, how many guests have used each, and when it activates and expires. An expired voucher is not deleted automatically — filter with |
| unifi_list_networksA | List the networks (VLANs) configured on a site — their name, VLAN id, subnet, DHCP settings and purpose. Read-only: this server does not create or modify networks, because a wrong subnet or VLAN id disconnects every client on it with no undo. Make those changes in the UniFi UI. |
| unifi_list_wlansA | List the WiFi broadcasts (SSIDs) on a site, with the network each is bridged to, its security mode, band and whether it is enabled. Read-only for the same reason as networks: a bad SSID change takes every wireless client offline at once. |
| unifi_list_firewall_zonesA | List the firewall zones on a site — the named groups of networks that zone-based policies are written between. Read these first: a policy references zones by id, so the ids here are what make |
| unifi_list_firewall_policiesA | List the zone-based firewall policies on a site, with their action, source and destination zones, matching criteria and whether each is enabled. Policies are evaluated in order, so pass |
| unifi_requestA | Escape hatch: call any Integration API endpoint directly, for the parts of the API this server does not wrap — switch stacks, LAG, VPN servers, RADIUS profiles, WAN interfaces, device tags, ACL rules, DNS policies and the DPI reference tables. Paths are relative to the API root, so |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| diagnose-client | Work out why one device cannot get on the WiFi — blocked, absent, out of range, or connected and failing higher up. |
| new-devices | List devices seen on the network for the first time recently, with enough identity to judge whether each is expected. |
| network-health | Review subsystem health, device state, firmware, WiFi security posture and blocked clients, and report what actually needs attention. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| unifi-troubleshooting | Read this BEFORE concluding that a device is absent, that nothing is blocked, or that a client has been offline for months. Documents the API behaviours that return a successful, plausible, wrong answer — including why a device refused at the authentication frame appears nowhere in the API, and how to read the access-point logs that do record it. |
TDQS
Scored across 14 tools
Most tools map cleanly to distinct resource/action pairs: list/get for devices and clients, list for networks, WLANs, vouchers, firewall objects, plus a generic escape hatch. The main ambiguity is between unifi_auth_status and unifi_get_console_info, since both report console version and supported-tool gaps, though their troubleshooting angles differ.
The tools overwhelmingly follow a unifi_<verb>_<noun> pattern with list/get prefixes and snake_case throughout. Minor deviations are unifi_auth_status, which is noun-like rather than verb-driven, and unifi_request, a bare catch-all, but the overall convention remains readable and predictable.
Fourteen tools is a reasonable, well-scoped size for a network management API covering sites, devices, clients, networks, WLANs, vouchers, firewall configuration, console diagnostics, and a raw request escape hatch. The count stays within the comfortable range and each tool has a clear role in the overall set.
For a deliberately read-only inventory and status server, the surface covers the primary UniFi Network resources well: sites, devices, clients, networks, WLANs, vouchers, firewall zones/policies, device stats, and console capabilities. Minor gaps remain around site-level health/history and write operations, though writes are intentionally disabled and unifi_request can reach unwrapped read endpoints.