UniFi Skills Reference¶
Skills are groups of MCP tools that provide direct access to the UniFi API. Each tool makes a single API call and returns normalized data. Tools are called by commands through agent orchestrators, but can also be called individually.
All tools follow the naming convention: unifi__{skill}__{operation}
topology¶
Discovers and models the network graph. Four tools for listing devices, inspecting individual devices, enumerating VLANs, and deriving the uplink topology.
unifi__topology__list_devices¶
List all devices (switches, APs, gateways) for a UniFi site.
| Parameter | Type | Default | Description |
|---|---|---|---|
site_id |
string | "default" |
The UniFi site ID |
Returns: list[dict] -- device inventory
Each device includes:
| Field | Type | Description |
|---|---|---|
device_id |
string | Internal device ID |
name |
string | Device name |
model |
string | Hardware model (e.g., U6-Pro, USLITE16P) |
mac |
string | MAC address |
ip |
string | IP address |
status |
string | Connection state: connected, disconnected, pending_adoption, upgrading, etc. |
uptime |
int | Uptime in seconds |
firmware |
string | Current firmware version |
product_line |
string | Product line identifier |
is_console |
bool | Whether this device is the console/gateway |
API: GET {local}/api/s/{site}/stat/device
unifi__topology__get_device¶
Get detailed information for a single device, including port table, uplink info, VLAN assignments, radio table (for APs), and configuration.
| Parameter | Type | Default | Description |
|---|---|---|---|
device_id |
string | required | The device MAC address or ID |
site_id |
string | "default" |
The UniFi site ID |
Returns: dict -- full device details (fields vary by device type)
Additional fields beyond list_devices:
| Field | Type | Description |
|---|---|---|
port_table |
list | Switch port details (switches only) |
uplink |
dict | Uplink connection details |
radio_table |
list | Radio configuration (APs only) |
config_network |
dict | Network configuration |
API: GET {local}/api/s/{site}/stat/device/{mac}
unifi__topology__get_vlans¶
List all VLANs/networks configured for a UniFi site. Filters out WAN-purpose networks and returns only LAN/VLAN entries.
| Parameter | Type | Default | Description |
|---|---|---|---|
site_id |
string | "default" |
The UniFi site ID |
Returns: list[dict] -- VLAN inventory
Each VLAN includes:
| Field | Type | Description |
|---|---|---|
vlan_id |
int or None | VLAN tag (None for default/untagged LAN) |
name |
string | Network name |
subnet |
string | IP subnet in CIDR notation |
purpose |
string | Network purpose (corporate, guest, etc.) |
dhcp_enabled |
bool | Whether DHCP is enabled |
domain_name |
string | DNS domain name |
API: GET {local}/api/s/{site}/rest/networkconf
unifi__topology__get_uplinks¶
Derive the uplink graph showing device-to-device connections. Built from the uplink and port_table fields of all devices. Devices without an uplink (root gateways) or with self-referencing uplinks are excluded.
| Parameter | Type | Default | Description |
|---|---|---|---|
site_id |
string | "default" |
The UniFi site ID |
Returns: list[dict] -- uplink relationships
Each uplink includes:
| Field | Type | Description |
|---|---|---|
device_id |
string | Child device ID |
device_name |
string | Child device name |
device_mac |
string | Child device MAC |
uplink_device_id |
string | Parent device ID |
uplink_device_name |
string | Parent device name |
uplink_device_mac |
string | Parent device MAC |
uplink_port |
int | Port number on the parent device |
uplink_type |
string | Connection type (e.g., wire) |
speed |
int | Link speed in Mbps |
API: Derived from GET {local}/api/s/{site}/stat/device (uplink fields)
health¶
Device and site health monitoring. Five tools covering subsystem health, device-level metrics, ISP connectivity, event retrieval, and firmware status.
unifi__health__get_site_health¶
Get aggregate health status for all subsystems (WAN, LAN, WLAN, WWW) at a site.
| Parameter | Type | Default | Description |
|---|---|---|---|
site_id |
string | "default" |
The UniFi site ID |
Returns: dict -- aggregated site health
| Field | Type | Description |
|---|---|---|
wan_status |
string | WAN subsystem status (ok, degraded, etc.) |
lan_status |
string | LAN subsystem status |
wlan_status |
string | WLAN subsystem status |
www_status |
string | Internet/WWW subsystem status |
device_count |
int | Total device count |
adopted_count |
int | Number of adopted devices |
offline_count |
int | Number of offline/disconnected devices |
client_count |
int | Connected client count |
API: GET {local}/api/s/{site}/stat/health
unifi__health__get_device_health¶
Get health metrics for a single device: uptime, CPU, memory, temperature, satisfaction, and firmware status.
| Parameter | Type | Default | Description |
|---|---|---|---|
device_id |
string | required | The device MAC address or ID |
site_id |
string | "default" |
The UniFi site ID |
Returns: dict -- device health metrics
| Field | Type | Description |
|---|---|---|
device_id |
string | Device ID |
name |
string | Device name |
mac |
string | MAC address |
model |
string | Hardware model |
status |
string | Connection state |
uptime |
int | Uptime in seconds |
cpu_usage_pct |
float or None | CPU usage percentage |
mem_usage_pct |
float or None | Memory usage percentage |
temperature_c |
float or None | Temperature in Celsius |
satisfaction |
int or None | Client satisfaction score (0-100) |
upgrade_available |
bool | Whether a firmware upgrade is available |
current_firmware |
string | Current firmware version |
upgrade_firmware |
string | Available upgrade version (empty if none) |
API: GET {local}/api/s/{site}/stat/device/{mac}
unifi__health__get_isp_metrics¶
Get ISP connectivity metrics from the WAN subsystem health data.
| Parameter | Type | Default | Description |
|---|---|---|---|
site_id |
string | "default" |
The UniFi site ID |
Returns: dict -- ISP metrics
| Field | Type | Description |
|---|---|---|
wan_ip |
string | Public WAN IP address |
isp_name |
string | ISP name |
isp_organization |
string | ISP organization |
latency_ms |
int or None | Latency in milliseconds |
speedtest_ping_ms |
int or None | Speed test ping |
download_mbps |
float or None | Download speed in Mbps |
upload_mbps |
float or None | Upload speed in Mbps |
speedtest_lastrun |
int or None | Last speed test timestamp (epoch) |
uptime_seconds |
int or None | WAN uptime in seconds |
drops |
int or None | Number of WAN drops |
tx_bytes_rate |
int or None | Current transmit rate (bytes/sec) |
rx_bytes_rate |
int or None | Current receive rate (bytes/sec) |
wan_status |
string | WAN status |
API: GET {local}/api/s/{site}/stat/health (WAN subsystem)
unifi__health__get_events¶
Get recent network events, optionally filtered by time window and severity. Returns alarms, state changes, and notifications from the site event log.
| Parameter | Type | Default | Description |
|---|---|---|---|
site_id |
string | "default" |
The UniFi site ID |
hours |
int | 24 |
Number of hours to look back |
severity |
string | "all" |
Filter: "critical", "warning", "info", or "all" |
Returns: list[dict] -- events
Each event includes:
| Field | Type | Description |
|---|---|---|
timestamp |
string | Event timestamp |
type |
string | Event type (e.g., EVT_WU_Connected, EVT_SW_PoeOverload) |
severity |
string | Event severity |
device_id |
string or None | Related device MAC |
client_mac |
string or None | Related client MAC |
message |
string | Human-readable event message |
subsystem |
string | Subsystem (wan, lan, wlan, ips) |
API: GET {local}/api/s/{site}/stat/event
unifi__health__get_firmware_status¶
Get firmware upgrade status for all devices at a site. Returns each device's current firmware version, latest available version, and whether an upgrade is available.
| Parameter | Type | Default | Description |
|---|---|---|---|
site_id |
string | "default" |
The UniFi site ID |
Returns: list[dict] -- firmware status per device
Each entry includes:
| Field | Type | Description |
|---|---|---|
device_id |
string | Device ID |
name |
string | Device name |
mac |
string | MAC address |
model |
string | Hardware model |
current_version |
string | Currently installed firmware |
latest_version |
string | Latest available firmware (empty if up to date) |
upgrade_available |
bool | Whether an upgrade is available |
product_line |
string | Product line |
API: GET {local}/api/s/{site}/stat/device
clients¶
Connected client inventory and profiling. Four tools for listing, inspecting, searching, and analyzing traffic for connected clients.
unifi__clients__list_clients¶
List all connected clients (wired and wireless) for a UniFi site. Optionally filter by VLAN/network ID.
| Parameter | Type | Default | Description |
|---|---|---|---|
site_id |
string | "default" |
The UniFi site ID |
vlan_id |
string or None | null |
Optional VLAN/network ID to filter by |
Returns: list[dict] -- client inventory
Each client includes:
| Field | Type | Description |
|---|---|---|
client_mac |
string | Client MAC address |
hostname |
string or None | Client hostname |
ip |
string | IP address |
vlan_id |
string | VLAN/network ID |
ap_id |
string or None | Associated AP MAC (wireless only) |
port_id |
int or None | Switch port (wired only) |
connection_type |
string | Connection type |
is_wired |
bool | Whether the client is wired |
is_guest |
bool | Whether the client is on a guest network |
uptime |
int | Connection uptime in seconds |
rssi |
int or None | Signal strength (wireless only) |
ssid |
string or None | Connected SSID (wireless only) |
tx_bytes |
int | Transmitted bytes |
rx_bytes |
int | Received bytes |
API: GET {local}/api/s/{site}/stat/sta
unifi__clients__get_client¶
Get detailed information for a single client by MAC address. Returns full client details including AP association, SSID, signal strength, traffic counters, OS detection, and vendor information.
| Parameter | Type | Default | Description |
|---|---|---|---|
client_mac |
string | required | The client's MAC address |
site_id |
string | "default" |
The UniFi site ID |
Returns: dict -- full client details
Additional fields beyond list_clients:
| Field | Type | Description |
|---|---|---|
first_seen |
int | First seen timestamp (epoch) |
last_seen |
int | Last seen timestamp (epoch) |
os_name |
string or None | Detected operating system |
device_vendor |
string or None | Device vendor (OUI lookup) |
is_blocked |
bool | Whether the client is blocked |
API: GET {local}/api/s/{site}/stat/sta/{mac}
unifi__clients__get_client_traffic¶
Get traffic statistics for a single client by MAC address. Returns transmit/receive byte and packet counters, and DPI (Deep Packet Inspection) data if available.
| Parameter | Type | Default | Description |
|---|---|---|---|
client_mac |
string | required | The client's MAC address |
site_id |
string | "default" |
The UniFi site ID |
Returns: dict -- traffic statistics
| Field | Type | Description |
|---|---|---|
client_mac |
string | Client MAC address |
hostname |
string or None | Client hostname |
ip |
string or None | IP address |
tx_bytes |
int | Total transmitted bytes |
rx_bytes |
int | Total received bytes |
tx_packets |
int | Total transmitted packets |
rx_packets |
int | Total received packets |
dpi_stats |
list or None | Deep packet inspection data (if available) |
API: GET {local}/api/s/{site}/stat/user/{mac}
unifi__clients__search_clients¶
Search connected clients by partial match on MAC, hostname, IP, or name (alias). Performs case-insensitive substring matching across multiple fields. Fetches all clients for the site and filters client-side.
| Parameter | Type | Default | Description |
|---|---|---|---|
query |
string | required | Search string to match |
site_id |
string | "default" |
The UniFi site ID |
Returns: list[dict] -- matching clients (same shape as list_clients)
Matching behavior: Case-insensitive partial match against:
- mac
- hostname
- ip
- name (alias)
API: GET {local}/api/s/{site}/stat/sta (client-side filter)
wifi¶
Wireless RF environment analysis. Six tools covering SSIDs, AP radio configuration, channel utilization, RF scanning, roaming events, and per-client RF metrics.
unifi__wifi__get_wlans¶
List all wireless networks (SSIDs) configured for a site.
| Parameter | Type | Default | Description |
|---|---|---|---|
site_id |
string | "default" |
The UniFi site ID |
Returns: list[dict] -- SSID inventory
Each SSID includes:
| Field | Type | Description |
|---|---|---|
ssid_id |
string | Internal SSID ID |
name |
string | SSID name (broadcast name) |
enabled |
bool | Whether the SSID is enabled |
security |
string | Security mode (e.g., wpa2, wpa3, open) |
vlan_id |
int or None | VLAN assignment for this SSID |
band_steering |
string | Band steering mode (prefer_5g, balanced, off) |
hide_ssid |
bool | Whether the SSID is hidden |
guest_policy |
bool | Whether guest portal is enabled |
API: GET {local}/api/s/{site}/rest/wlanconf
unifi__wifi__get_aps¶
List all access points with radio configuration for each band.
| Parameter | Type | Default | Description |
|---|---|---|---|
site_id |
string | "default" |
The UniFi site ID |
Returns: list[dict] -- AP inventory with radio details
Each AP includes:
| Field | Type | Description |
|---|---|---|
ap_id |
string | AP device ID |
name |
string | AP name |
mac |
string | MAC address |
model |
string | Hardware model |
status |
string | Connection state |
radios |
list | Radio configuration per band |
Each radio entry:
| Field | Type | Description |
|---|---|---|
band |
string | Radio band (2.4GHz, 5GHz, 6GHz) |
channel |
int | Current channel |
channel_width |
string | Channel width (e.g., HT20, VHT80) |
tx_power |
int | Transmit power in dBm |
min_rssi |
int or None | Minimum RSSI threshold (if set) |
API: GET {local}/api/s/{site}/stat/device (AP devices only)
unifi__wifi__get_channel_utilization¶
Get channel utilization percentages for all APs.
| Parameter | Type | Default | Description |
|---|---|---|---|
site_id |
string | "default" |
The UniFi site ID |
Returns: list[dict] -- per-AP per-band utilization
Each entry includes:
| Field | Type | Description |
|---|---|---|
ap_name |
string | AP name |
ap_mac |
string | AP MAC address |
band |
string | Radio band |
channel |
int | Current channel |
utilization_pct |
float | Total channel utilization percentage |
self_tx_pct |
float | Self-transmit utilization |
self_rx_pct |
float | Self-receive utilization |
interference_pct |
float | External interference percentage |
client_count |
int | Number of clients on this radio |
satisfaction |
int or None | Client satisfaction score (0-100) |
API: GET {local}/api/s/{site}/stat/device (radio_table_stats)
unifi__wifi__get_rf_scan¶
Get cached RF scan results showing neighboring SSIDs detected by each AP.
| Parameter | Type | Default | Description |
|---|---|---|---|
site_id |
string | "default" |
The UniFi site ID |
ap_mac |
string | null |
Filter to a specific AP (default: all APs) |
Returns: list[dict] -- neighboring SSIDs
Each entry includes:
| Field | Type | Description |
|---|---|---|
ap_name |
string | Detecting AP name |
ssid |
string | Neighboring SSID name |
bssid |
string | Neighboring BSSID |
channel |
int | Neighboring channel |
band |
string | Radio band |
rssi |
int | Signal strength of neighbor (dBm) |
security |
string | Security mode |
last_seen |
string | Timestamp of last detection |
API: GET {local}/api/s/{site}/stat/device (scan_table)
unifi__wifi__get_roaming_events¶
Get client roaming events over a time window.
| Parameter | Type | Default | Description |
|---|---|---|---|
site_id |
string | "default" |
The UniFi site ID |
hours |
int | 24 |
Number of hours to look back |
Returns: dict -- roaming analysis summary
| Field | Type | Description |
|---|---|---|
total_roams |
int | Total roaming attempts |
successful |
int | Successful roams |
failed |
int | Failed roams (client fell back to original AP) |
avg_roam_time_ms |
float | Average time to complete a roam |
sticky_clients |
int | Clients that never roamed despite low signal |
events |
list | Individual roaming events |
Each event:
| Field | Type | Description |
|---|---|---|
client_mac |
string | Roaming client MAC |
from_ap |
string | Source AP name |
to_ap |
string | Destination AP name |
success |
bool | Whether the roam completed |
roam_time_ms |
int | Time to complete the roam |
timestamp |
string | Event timestamp |
API: GET {local}/api/s/{site}/stat/event (EVT_WU_Roam events)
unifi__wifi__get_client_rf¶
Get detailed RF metrics for a specific wireless client.
| Parameter | Type | Default | Description |
|---|---|---|---|
client_mac |
string | required | Client MAC address |
site_id |
string | "default" |
The UniFi site ID |
Returns: dict -- client RF details
| Field | Type | Description |
|---|---|---|
client_mac |
string | Client MAC address |
rssi |
int | Current RSSI |
noise_floor |
int | Noise floor (dBm) |
snr |
int | Signal-to-noise ratio |
tx_rate |
int | Current transmit rate (Mbps) |
rx_rate |
int | Current receive rate (Mbps) |
channel |
int | Channel the client is on |
band |
string | Connected band |
tx_retries_pct |
float | Transmit retry percentage |
satisfaction |
int or None | Client satisfaction score |
API: GET {local}/api/s/{site}/stat/sta/{mac} (RF fields)
traffic¶
Network traffic analysis. Four tools covering bandwidth, deep packet inspection, per-port statistics, and WAN usage.
unifi__traffic__get_bandwidth¶
Get aggregate bandwidth statistics for a site over a time window.
| Parameter | Type | Default | Description |
|---|---|---|---|
site_id |
string | "default" |
The UniFi site ID |
hours |
int | 24 |
Number of hours to look back |
resolution |
string | "hourly" |
Data resolution: "5min", "hourly", "daily" |
Returns: dict -- bandwidth time series
| Field | Type | Description |
|---|---|---|
total_tx_bytes |
int | Total transmitted bytes |
total_rx_bytes |
int | Total received bytes |
peak_tx_bps |
int | Peak transmit rate (bits/sec) |
peak_rx_bps |
int | Peak receive rate (bits/sec) |
time_series |
list | Data points at the specified resolution |
API: GET {local}/api/s/{site}/stat/report/hourly.site
unifi__traffic__get_dpi_stats¶
Get Deep Packet Inspection (DPI) statistics showing traffic by application category.
| Parameter | Type | Default | Description |
|---|---|---|---|
site_id |
string | "default" |
The UniFi site ID |
Returns: list[dict] -- traffic by application category
Each entry includes:
| Field | Type | Description |
|---|---|---|
category |
string | Application category (e.g., "Streaming", "Social Media") |
app_name |
string | Application name (e.g., "YouTube", "Netflix") |
tx_bytes |
int | Transmitted bytes for this category |
rx_bytes |
int | Received bytes for this category |
client_count |
int | Number of clients using this category |
API: GET {local}/api/s/{site}/stat/sitedpi
unifi__traffic__get_port_stats¶
Get per-port traffic statistics for a specific switch.
| Parameter | Type | Default | Description |
|---|---|---|---|
device_id |
string | required | Switch device MAC or ID |
site_id |
string | "default" |
The UniFi site ID |
Returns: list[dict] -- per-port statistics
Each entry includes:
| Field | Type | Description |
|---|---|---|
port_idx |
int | Port number |
name |
string | Port name/label |
speed |
int | Negotiated link speed (Mbps) |
tx_bytes |
int | Transmitted bytes |
rx_bytes |
int | Received bytes |
tx_packets |
int | Transmitted packets |
rx_packets |
int | Received packets |
poe_power_w |
float or None | PoE power draw (watts) |
profile |
string | Assigned port profile name |
API: GET {local}/api/s/{site}/stat/device/{mac} (port_table)
unifi__traffic__get_wan_usage¶
Get WAN interface traffic statistics and ISP usage.
| Parameter | Type | Default | Description |
|---|---|---|---|
site_id |
string | "default" |
The UniFi site ID |
hours |
int | 24 |
Number of hours to look back |
Returns: dict -- WAN usage summary
| Field | Type | Description |
|---|---|---|
total_tx_bytes |
int | Total WAN transmitted bytes |
total_rx_bytes |
int | Total WAN received bytes |
current_tx_bps |
int | Current transmit rate (bits/sec) |
current_rx_bps |
int | Current receive rate (bits/sec) |
wan_ip |
string | Current WAN IP address |
isp_name |
string | ISP name |
API: GET {local}/api/s/{site}/stat/health (WAN subsystem)
security¶
Security posture analysis. Five tools covering firewall rules, zone-based firewall policies, access control lists, port forwarding, and IDS/IPS alerts.
unifi__security__get_firewall_rules¶
List all firewall filter rules for a site.
| Parameter | Type | Default | Description |
|---|---|---|---|
site_id |
string | "default" |
The UniFi site ID |
Returns: list[dict] -- firewall rules
Each rule includes:
| Field | Type | Description |
|---|---|---|
rule_id |
string | Rule identifier |
name |
string | Rule name/description |
action |
string | pass, block, or reject |
enabled |
bool | Whether the rule is enabled |
source |
string | Source address or group |
destination |
string | Destination address or group |
protocol |
string | Protocol (TCP, UDP, ICMP, any) |
port |
string or None | Port number or range |
direction |
string | in or out |
interface |
string | Applied interface |
API: GET {local}/api/s/{site}/rest/firewallrule
unifi__security__get_zbf_policies¶
List all zone-based firewall policies.
| Parameter | Type | Default | Description |
|---|---|---|---|
site_id |
string | "default" |
The UniFi site ID |
Returns: list[dict] -- ZBF policies
Each policy includes:
| Field | Type | Description |
|---|---|---|
policy_id |
string | Policy identifier |
source_zone |
string | Source zone name |
destination_zone |
string | Destination zone name |
action |
string | allow or block |
description |
string | Policy description |
enabled |
bool | Whether the policy is enabled |
API: GET {local}/api/s/{site}/rest/firewallgroup + zone configuration
unifi__security__get_acls¶
List all access control list rules.
| Parameter | Type | Default | Description |
|---|---|---|---|
site_id |
string | "default" |
The UniFi site ID |
Returns: list[dict] -- ACL rules
Each ACL entry includes:
| Field | Type | Description |
|---|---|---|
acl_id |
string | ACL identifier |
action |
string | pass or block |
source |
string | Source network or address |
destination |
string | Destination network or address |
protocol |
string | Protocol |
port |
string or None | Port or range |
enabled |
bool | Whether the ACL is enabled |
log |
bool | Whether matches are logged |
position |
int | ACL evaluation order |
API: GET {local}/api/s/{site}/rest/firewallrule (ACL-type rules)
unifi__security__get_port_forwards¶
List all port forwarding (DNAT) rules.
| Parameter | Type | Default | Description |
|---|---|---|---|
site_id |
string | "default" |
The UniFi site ID |
Returns: list[dict] -- port forwarding rules
Each rule includes:
| Field | Type | Description |
|---|---|---|
forward_id |
string | Forward rule identifier |
name |
string | Rule description |
enabled |
bool | Whether the forward is enabled |
external_port |
int | External (WAN-facing) port |
internal_ip |
string | Internal destination IP |
internal_port |
int | Internal destination port |
protocol |
string | Protocol (TCP, UDP, TCP/UDP) |
source |
string | Source restriction (default: any) |
API: GET {local}/api/s/{site}/rest/portforward
unifi__security__get_ids_alerts¶
Get IDS/IPS alerts from the UniFi Intrusion Detection System.
| Parameter | Type | Default | Description |
|---|---|---|---|
site_id |
string | "default" |
The UniFi site ID |
hours |
int | 24 |
Number of hours to look back |
severity |
string | "all" |
Filter: "high", "medium", "low", or "all" |
Returns: list[dict] -- IDS alerts
Each alert includes:
| Field | Type | Description |
|---|---|---|
alert_id |
string | Alert identifier |
timestamp |
string | Alert timestamp |
signature |
string | IDS rule signature |
category |
string | Alert category |
severity |
string | Severity level |
src_ip |
string | Source IP |
dst_ip |
string | Destination IP |
protocol |
string | Network protocol |
action |
string | Action taken (alert, drop) |
API: GET {local}/api/s/{site}/stat/ips/event
config¶
Configuration management. Three read tools and two write tools covering snapshots, drift detection, backup state, baseline saving, and port profile creation.
unifi__config__get_config_snapshot¶
Capture a read-only snapshot of the current site configuration.
| Parameter | Type | Default | Description |
|---|---|---|---|
site_id |
string | "default" |
The UniFi site ID |
Returns: dict -- configuration snapshot
| Field | Type | Description |
|---|---|---|
timestamp |
string | Snapshot timestamp |
devices |
list | Device configurations |
vlans |
list | VLAN/network configurations |
firewall_rules |
list | Firewall rule set |
port_profiles |
list | Port profile definitions |
wireless |
list | SSID configurations |
settings |
dict | Site-level settings |
API: Multiple endpoints aggregated
unifi__config__diff_baseline¶
Compare current configuration against a stored baseline.
| Parameter | Type | Default | Description |
|---|---|---|---|
site_id |
string | "default" |
The UniFi site ID |
baseline_id |
string | null |
Baseline to compare against (default: most recent) |
Returns: dict -- drift report
| Field | Type | Description |
|---|---|---|
baseline_id |
string | The baseline compared against |
baseline_timestamp |
string | When the baseline was saved |
total_changes |
int | Total number of drift items |
changes |
list | Individual change entries |
Each change entry:
| Field | Type | Description |
|---|---|---|
category |
string | Config category (e.g., "devices", "vlans") |
change_type |
string | "added", "removed", or "modified" |
item_name |
string | Name of the changed item |
field |
string or None | Specific field that changed (for modifications) |
old_value |
any | Previous value (modifications and removals) |
new_value |
any | Current value (modifications and additions) |
API: Computed from snapshot comparison
unifi__config__get_backup_state¶
Get the current backup/restore state for the site.
| Parameter | Type | Default | Description |
|---|---|---|---|
site_id |
string | "default" |
The UniFi site ID |
Returns: dict -- backup state
| Field | Type | Description |
|---|---|---|
auto_backup_enabled |
bool | Whether automatic backups are enabled |
last_backup_time |
string or None | Timestamp of the last backup |
backup_count |
int | Number of stored backups |
cloud_backup |
bool | Whether cloud backup is enabled |
API: GET {local}/api/s/{site}/stat/backup
unifi__config__save_baseline (write)¶
Save the current configuration as a named baseline snapshot.
| Parameter | Type | Default | Description |
|---|---|---|---|
site_id |
string | "default" |
The UniFi site ID |
apply |
bool | false |
Must be true to execute (write gate) |
Write safety: Requires UNIFI_WRITE_ENABLED=true and apply=True. This stores a snapshot locally -- it does not modify the network.
Returns: dict -- saved baseline metadata
| Field | Type | Description |
|---|---|---|
baseline_id |
string | Generated baseline identifier |
timestamp |
string | Save timestamp |
item_count |
int | Number of config objects captured |
unifi__config__create_port_profile (write)¶
Create a named switch port profile.
| Parameter | Type | Default | Description |
|---|---|---|---|
name |
string | required | Profile name |
native_vlan |
int | null |
Native VLAN ID |
tagged_vlans |
list[int] | [] |
Tagged VLAN IDs |
poe |
bool | true |
Enable PoE |
site_id |
string | "default" |
The UniFi site ID |
apply |
bool | false |
Must be true to execute (write gate) |
Write safety: Requires UNIFI_WRITE_ENABLED=true and apply=True.
Returns: dict -- created profile details
| Field | Type | Description |
|---|---|---|
profile_id |
string | Created profile identifier |
name |
string | Profile name |
native_vlan |
int or None | Native VLAN |
tagged_vlans |
list[int] | Tagged VLANs |
API: POST {local}/api/s/{site}/rest/portconf
Phase 3+ Skills (Not Yet Implemented)¶
The following skill group is defined in the plugin manifest but not yet implemented:
| Skill Group | Tools | Phase |
|---|---|---|
| multisite | list_all_sites, get_site_health, compare_sites, search_across_sites, get_vantage_points |
Phase 3 |