High-performance native Model Context Protocol (MCP) server for Ubiquiti UniFi UDM Pro / UDM SE and UniFi OS Cloud Gateways with 40 tools
36 tools with basic naming and descriptions, but critical gaps in parameter documentation and output schemas. All tools have descriptions (10-150 chars, mostly 50-100), which is good. However, 0% of parameters have descriptions, LLMs cannot infer what 'mac', 'port_idx', 'user_id', 'wlan_id' mean without explicit guidance. No output schemas documented anywhere. Parameter types are present (string, number, boolean, array) but lack constraints (enums, ranges, formats). No error handling guidance. No tool annotations (readOnlyHint, destructiveHint). Naming is verb-first and mostly clear (list_, create_, delete_, update_), but some ambiguities exist (e.g., 'unifi_set_client_usergroup' uses 'user_id' and 'usergroup_id' without explaining the distinction). Risk classifications are assigned (READ_ONLY, WRITE, REVERSIBLE, DESTRUCTIVE) but not exposed in tool definitions, agents cannot see them. Overall: functional baseline, but falls short of production quality due to missing parameter docs and output schemas.
Block a client device on the network by MAC address.
Create a new firewall IP or Port group.
Create a new firewall rule.
Create a new network subnet / VLAN.
Create a new Wi-Fi SSID network.
Delete a firewall rule by ID.
Delete a network subnet / VLAN by ID.
Zero parameter descriptions across all 36 tools. Parameters like 'mac', 'port_idx', 'wlan_id', 'user_id', 'ip_subnet' lack any explanation of format, constraints, or purpose. LLMs cannot infer whether 'mac' expects 'AA:BB:CC:DD:EE:FF' or 'aabbccddeeff' format.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | 2026-07-28+ | v2 |
Delete a Wi-Fi SSID network by WLAN ID.
Forget/remove an offline client record from controller database by MAC address.
Fetch historical record of all client devices that have ever connected to the network.
Get health status of UniFi UDM Pro network subsystems (WAN, LAN, WLAN, VPN, ISP speed & CPU/Memory usage).
Get UniFi UDM Pro console system info, OS version, controller build, timezone, and uptime.
List active network security alarms and system alerts.
List active connected client devices on the UniFi network (IP, MAC, hostname, signal, bandwidth, network).
List all UniFi access points, switches, gateways, uptime, IP addresses, and adoption status.
Fetch recent network events, client connects/disconnects, and security alerts.
List configured firewall IP & port groups.
List configured firewall rules, rule numbers, action (accept/drop/reject), and interface bindings.
List all configured network subnets, VLANs, gateway IPs, DHCP ranges, and DNS settings.
List configured port forwarding rules (forwarded IP, external/internal ports, protocol).
List all sites managed on this UniFi controller.
List all configured Wi-Fi SSIDs, passphrases, security modes, frequency bands, and enabled status.
Flash the LED on a UniFi Access Point or Switch to locate it physically.
Power cycle (restart) a PoE switch port on a UniFi Switch by device MAC and port index.
Restart/Reboot a UniFi device (Access Point, Switch, or Gateway) by MAC address.
Force a client device to reconnect to the nearest access point by MAC address.
Trigger a WAN speedtest directly on the UDM Pro gateway.
Assign a static/fixed IP address to a client device on the network.
Assign an alias or custom display name to a client device by MAC address.
Assign a bandwidth rate-limiting profile (User Group) to a client device.
Quickly update WPA passphrase for a Wi-Fi SSID network.
Enable or disable a Wi-Fi SSID network on demand.
Unblock a previously blocked client device on the network by MAC address.
Update configuration of an existing network subnet / VLAN by ID.
Update configuration of an existing Wi-Fi network by WLAN ID.
Trigger firmware upgrade on a UniFi device by MAC address.
No output schemas documented. Tools return data from UniFi API but LLMs have no visibility into response structure. Cannot plan downstream tool calls or extract required fields (e.g., does list_devices return 'mac' or 'address'? Does it include 'uptime' or 'uptime_seconds'?).
No enum constraints on parameters accepting fixed sets of values. 'action' in unifi_create_firewall_rule, 'group_type' in unifi_create_firewall_group, 'purpose' in unifi_create_network lack enums. LLMs will hallucinate invalid values.
No error handling guidance. Tools fail silently or return raw API errors. No recovery hints (e.g., 'Device not found. Try unifi_list_devices() to find the correct MAC address'). Agents cannot self-correct on failures.
Tool annotations missing. Risk classifications (READ_ONLY, WRITE, REVERSIBLE, DESTRUCTIVE) are assigned in metadata but not exposed via readOnlyHint, destructiveHint, or idempotentHint in tool definitions. Agents cannot see which tools are safe to retry.