--- name: network-health-check description: Run a UniFi network health check — diagnose device status, connectivity issues, firmware updates, and system health. Use when asked to check network health, find what's down, diagnose connectivity issues, or get a network status summary. --- # Network Health Check ## Setup Check Before running a health check, verify the MCP server is configured: - Check that `UNIFI_NETWORK_HOST` is set in the environment. - If it is not set or the connection fails, stop and direct the user to the `unifi-network-setup` skill to configure the UniFi Network MCP server. - Use `unifi_tool_index` to confirm available tools. If no UniFi tools are listed, the server is not connected. ## Health Check Procedure Use `unifi_batch` to gather all required data in a single parallel operation: ``` unifi_batch([ { "tool": "unifi_get_system_info" }, { "tool": "unifi_get_network_health" }, { "tool": "unifi_list_devices" }, { "tool": "unifi_list_alarms" } ]) ``` This single batch call replaces sequential tool calls and returns all data needed for the report. Do not call these tools one at a time. If device or alarm issues are found and more detail is needed, a follow-up batch can add: ``` unifi_batch([ { "tool": "unifi_list_clients" }, { "tool": "unifi_get_top_clients" } ]) ``` ## Analyzing Results Use these reference documents to interpret the data returned by the batch call: - `references/device-states.md` — maps device `state` integer codes to human-readable status (online, offline, isolated, etc.) and explains what each state means operationally. Do not guess at state codes — consult this reference before classifying device status. - `references/alarm-types.md` — describes known alarm types, their severity levels, and recommended remediation steps. Consult before classifying alarm severity or suggesting actions. - `references/health-subsystems.md` — explains the per-subsystem health fields returned by `unifi_get_network_health` (WAN, LAN, WLAN, VPN), how to interpret `status` values, and the recommended diagnostic priority order: **WAN → LAN → WLAN → VPN**. From the device list, identify: - **Offline devices** — any device with `state` != 1. Check `references/device-states.md` for the full state code table. - **Devices needing updates** — check the `upgradeable` field. Report current vs available firmware version. - **High-load devices** — check CPU/memory utilization if present in device stats. - **Devices with poor uptime** — recently rebooted devices may indicate instability. For each active alarm, classify severity using `references/alarm-types.md` and provide a plain-language explanation with remediation steps from that reference. ## Report Format Present findings using this structure: ``` ## Network Health Report **Overall Status:** [Healthy / Warning / Critical] **Controller:** [version] — uptime [X days] ### Devices ([online]/[total]) - [List any offline or problematic devices with their state code and meaning] - [List devices needing firmware updates with current and available versions] ### Active Alarms ([count]) - [Summarize each alarm with severity and recommendation] ### Recommendations 1. [Actionable item] 2. [Actionable item] ``` A healthy network gets a brief "all clear" summary. Do not manufacture concerns for quiet periods. ## Tips - Always use `unifi_batch` for initial data gathering — sequential tool calls are significantly slower. - If `unifi_get_network_health` shows WAN health issues, that likely explains many downstream problems — lead with that finding and follow the WAN → LAN → WLAN → VPN diagnostic priority from `references/health-subsystems.md`. - Don't overwhelm the user with raw data. Focus on what is broken or needs attention. - Consult the reference docs before classifying device state codes or alarm meanings — misclassification leads to bad recommendations.