Unifi AP MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_PORT | No | Port when using HTTP transport | 8000 |
| UNIFI_HOST | No | UniFi controller IP or hostname | 127.0.0.1 |
| UNIFI_PORT | No | HTTPS port (11443 for self-hosted, 443 for cloud) | 11443 |
| MCP_TRANSPORT | No | Transport: stdio | sse | streamable-http | stdio |
| UNIFI_API_KEY | Yes | API key from Settings → Integrations |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| unifi_list_sitesA | List all UniFi sites on this controller. Returns site UUIDs, names, and internal references. |
| unifi_list_devicesA | List adopted devices (APs, switches, gateways) for a site via Integration API. Returns name, MAC, model, state (ONLINE/OFFLINE), IP, firmware version. Filters: only_online=True, model string (e.g. 'U7Pro'). site_id accepts 'default', UUID, or display name. |
| unifi_get_deviceB | Get full details for a single device by its ID (Integration API). |
| unifi_list_clientsA | List connected clients for a site (Integration API). Returns name, MAC, IP, type, connected-at, uplink device. Filters: type='WIRELESS'|'WIRED', uplink_device_id. Pagination: offset, limit (default 25). |
| unifi_get_clientB | Get details for a single client by client ID (Integration API). |
| unifi_client_actionB | Perform a guest-access action on a client. action: 'AUTHORIZE_GUEST_ACCESS' or 'UNAUTHORIZE_GUEST_ACCESS'. |
| unifi_list_networksB | List all networks (VLANs) for a site. Returns id, name, VLAN ID, management type, enabled state. |
| unifi_get_networkA | Get full details for a single network. Returns VLAN ID, isolation, internet access, mDNS, IPv4 config (subnet, DHCP range, lease time). |
| unifi_create_networkB | Create a new network (VLAN). management must be 'GATEWAY' or 'VLAN_ONLY'. Example ipv4_configuration: {'hostIpAddress':'10.10.20.1','prefixLength':24,'dhcpConfiguration':{'mode':'SERVER','ipAddressRange':{'start':'10.10.20.100','stop':'10.10.20.200'},'leaseTimeSeconds':86400}}. |
| unifi_update_networkB | Update an existing network. Fetches current state, merges your changes, and PUTs back. management is required ('GATEWAY' or 'VLAN_ONLY'). System-defined networks can be updated but not deleted. |
| unifi_delete_networkB | Delete a network by ID. System-defined networks cannot be deleted. |
| unifi_list_radius_profilesB | List RADIUS profiles for a site (read-only via Integration API). |
| unifi_get_sysinfoB | Get system information for the site: controller version, build, timezone, data retention settings, update status. |
| unifi_get_healthB | Get health status for all subsystems: wlan, wan, www, lan, vpn. Returns client counts, AP counts, and per-subsystem status (ok/warning/error). |
| unifi_get_device_statsA | Get detailed device statistics from the legacy API. Richer than unifi_list_devices — includes uptime, load, memory, radio channel/power, tx/rx bytes, client counts per radio band. mac: optional filter to a specific device MAC address. |
| unifi_get_client_statsA | Get detailed stats for currently connected clients (legacy API). Richer than unifi_list_clients — includes signal strength, tx/rx rate, channel, SSID, noise, satisfaction score, data usage. |
| unifi_get_all_usersB | Get all known clients (connected + historical) for a site. Includes first-seen/last-seen timestamps, total data usage, hostname, OUI. within: limit to clients seen in the last N hours (optional). |
| unifi_get_rogue_apsA | List rogue / neighboring access points detected by your APs. Returns SSID, BSSID, channel, signal strength, security type, and detecting AP. |
| unifi_get_dpi_statsB | Get Deep Packet Inspection statistics per client. Returns tx/rx bytes and packet counts broken down by application category. |
| unifi_get_site_dpi_statsC | Get site-level DPI statistics aggregated across all clients. |
| unifi_get_traffic_reportA | Get historical traffic statistics. report_type: 'daily.site' | 'hourly.site' | 'daily.ap' | 'hourly.ap' | 'daily.user' | 'hourly.user'. Returns bytes sent/received and number of clients per interval. |
| unifi_list_wlansB | List all WLANs (SSIDs) configured on the site. Returns name, security, enabled state, VLAN, band, guest mode, user-group. |
| unifi_get_wlanA | Get details for a single WLAN by its _id. |
| unifi_create_wlanB | Create a new WLAN (SSID). security: 'open' | 'wpapsk' | 'wpa2' | 'wpa3'. passphrase required unless security='open'. wlan_band: '2g' | '5g' | 'both'. vlan_id: tag clients into a specific VLAN. is_guest: True marks this as a guest network. |
| unifi_update_wlanA | Update a WLAN by its _id. Fetches current config and merges your fields. Common uses: change password, enable/disable SSID, change band, toggle guest mode. |
| unifi_delete_wlanB | Delete a WLAN by its _id. This removes the SSID from all APs. |
| unifi_list_firewall_rulesC | List all firewall rules on the site. |
| unifi_create_firewall_ruleC | Create a firewall rule. ruleset: 'WAN_IN'|'WAN_OUT'|'WAN_LOCAL'|'LAN_IN'|'LAN_OUT'|'LAN_LOCAL'|'GUEST_IN'|'GUEST_OUT'|'GUEST_LOCAL'. action: 'accept'|'drop'|'reject'. protocol: 'all'|'tcp'|'udp'|'tcp_udp'|'icmp'. src/dst: optional IP or network address. src_port/dst_port: optional port or range (e.g. '80' or '8080:8090'). |
| unifi_update_firewall_ruleA | Update a firewall rule by its _id. Fetches current state and merges your changes. |
| unifi_delete_firewall_ruleB | Delete a firewall rule by its _id. |
| unifi_list_firewall_groupsC | List firewall groups (address/port sets used in firewall rules). |
| unifi_create_firewall_groupC | Create a firewall group. group_type: 'address-group' | 'port-group' | 'ipv6-address-group'. group_members: list of IPs/CIDRs (address-group) or ports/ranges (port-group). |
| unifi_update_firewall_groupA | Update a firewall group by its _id (add/remove members). |
| unifi_delete_firewall_groupC | Delete a firewall group by its _id. |
| unifi_list_port_forwardsC | List all port forwarding rules on the site. |
| unifi_create_port_forwardB | Create a port forwarding rule. protocol: 'tcp'|'udp'|'tcp_udp'. src_port / fwd_port: port numbers or ranges (e.g. '80', '8080:8090'). fwd: destination LAN IP address. |
| unifi_update_port_forwardC | Update a port forwarding rule by its _id. |
| unifi_delete_port_forwardC | Delete a port forwarding rule by its _id. |
| unifi_list_port_profilesB | List switch port profiles (port configs) for the site. |
| unifi_list_known_clientsA | List all known client records (persistent user database). Returns hostname, MAC, IP, notes, is_blocked, is_guest, first_seen, last_seen, data usage. This is different from unifi_get_client_stats which shows only currently connected clients. |
| unifi_update_known_clientC | Update a known client record by its _id. Common uses: set a friendly name (note), block/unblock, assign fixed IP. blocked: True to block the client at the network level. |
| unifi_list_routesC | List static routes configured on the site. |
| unifi_list_settingsA | List all site settings grouped by key (super_identity, country, locale, mgmt, connectivity, guest_access, ntp, radius, rsyslog, snmp, etc.). |
| unifi_list_vouchersC | List hotspot vouchers on the site. |
| unifi_kick_clientA | Force-disconnect (kick) a wireless client by MAC address. The client will attempt to reconnect immediately. mac: client MAC address (e.g. 'aa:bb:cc:dd:ee:ff'). |
| unifi_block_clientA | Block a client by MAC address — prevents it from connecting to any SSID on the site. Use unifi_unblock_client to reverse. |
| unifi_unblock_clientC | Unblock a previously blocked client by MAC address. |
| unifi_authorize_guestA | Authorize a client for guest portal access by MAC address. minutes: duration in minutes (default 60). up_kbps / down_kbps: optional bandwidth limits. mb_limit: optional data cap in MB. |
| unifi_unauthorize_guestB | Revoke guest portal authorization for a client by MAC address. |
| unifi_restart_deviceA | Restart (reboot) an AP or switch by its MAC address. The device will be offline for ~60 seconds while rebooting. |
| unifi_upgrade_deviceA | Trigger a firmware upgrade on an AP or switch by its MAC address. Only upgrades if a newer firmware is available. Device will reboot after upgrade. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/haiduongacm/unifi-ap-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server