MCP server for UniFi Network management and monitoring
32 tools with consistent naming (verb_noun pattern) and basic descriptions, but critical gaps in schema completeness and parameter documentation. All tools have descriptions (10-50 chars, below the 50-200 char baseline for LLM optimization). Input schemas present but parameters lack type constraints, enums, and detailed descriptions. No output schemas documented. Two write tools (patch_wifi_network, patch_firewall_zone) have vague 'settings' object parameters with no field documentation. Error handling and recovery guidance absent. Composition is sound (single responsibility per tool), but parameter design forces LLMs to guess at valid values and formats.
Check health status of the Unifi Network endpoint
Check health status of the Unifi Protect endpoint
Get detailed information about a specific ACL rule
Get ACL rules from a site
Get detailed information about a specific client
Get client statistics from a site
Parameter descriptions are minimal (10-50 chars vs 50-200 char baseline). Examples: 'Site ID (optional, defaults to first site)' lacks context on what a site ID is, how to obtain it, or when to use it. LLMs cannot infer parameter semantics from names alone.
Write tools (patch_wifi_network, patch_firewall_zone) expose a generic 'settings' object parameter with type 'object' and no field documentation. LLMs cannot determine what fields are valid, required, or what values they accept. This violates constrained-input and parameter-validation-rules patterns.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., device_id from get_network_devices to pass to get_device_detailed). This breaks tool composition and forces discovery detours.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | <=2025-11-25 | v2 |
Get detailed information about a specific device
Get statistics for a specific device
Get device tags from a site
Get DPI applications list
Get DPI applications
Get DPI traffic categories
Get detailed information about a specific firewall zone
Get firewall zones from a site
Get detailed information about a specific hotspot voucher
Get hotspot vouchers from a site
Get network clients from a site
Get all devices from Unifi Network
Get UniFi Network application version and info
Get all sites from Unifi Network
Get devices pending adoption
Get RADIUS server profiles from a site
Get health status of a site
Get detailed information about a specific traffic matching rule
Get traffic rules from a site
Get VPN server configurations from a site
Get WAN configuration from a site
Get WiFi broadcast SSIDs from a site
Get detailed information about a specific WiFi network
Get WiFi networks from a site
Update firewall zone
Update WiFi network settings
Duplicate tool names with unclear distinction: get_dpi_apps and get_dpi_applications both exist with identical descriptions. LLMs will conflate them and waste reasoning cycles deciding which to call.
No error handling or recovery guidance in tool descriptions. If a site_id lookup fails or a device is not found, LLMs have no guidance on what to do next (retry, search, ask user). Descriptions lack 'When to use' and 'Prerequisites' context.