Skip to main content
Generalsirkirby

network-health-check

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.

Stars
383
Source
sirkirby/unifi-mcp
Updated
2026-05-29
Slug
sirkirby--unifi-mcp--network-health-check
View on GitHubRaw SKILL.md

// install — copy + paste into any project

mkdir -p .claude/skills && curl -fsSL https://raw.githubusercontent.com/sirkirby/unifi-mcp/HEAD/plugins/unifi-network/skills/network-health-check/SKILL.md -o .claude/skills/network-health-check.md

Drops the SKILL.md into .claude/skills/network-health-check.md. Works with Claude Code, Cursor, and any agent that loads SKILL.md files from .claude/skills/.

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.