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 |
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": 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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