UniFi Network MCP
Manage UniFi Network devices, clients, firewall, VLANs, VPNs, and more.
Connector by sirkirby · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/sirkirby-unifi-network-mcp
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: cloud-management
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.
- Tools
- 98 read · 79 write · 27 delete
- Secrets
- 3 (API keys, tokens or passwords)
- Install scripts
- None found
- Runs as
- Python package
Tools by what they do 204
Read from the source code; the running server may list different tools.
Read 98 · Look things up without changing anything.
unifi_get_acl_rule_detailsunifi_get_alertsunifi_get_anomaliesunifi_get_ap_group_detailsunifi_get_autobackup_settingsunifi_get_client_detailsunifi_get_client_dpi_trafficunifi_get_client_group_detailsunifi_get_client_sessionsunifi_get_client_statsunifi_get_client_wifi_detailsunifi_get_content_filter_details
Show 86 more tools
unifi_get_dashboardunifi_get_device_detailsunifi_get_device_radiounifi_get_device_statsunifi_get_dns_record_detailsunifi_get_dpi_statsunifi_get_dynamic_dns_entry_detailsunifi_get_event_typesunifi_get_firewall_group_detailsunifi_get_firewall_policy_detailsunifi_get_firewall_policy_orderingunifi_get_gateway_settingsunifi_get_gateway_statsunifi_get_incident_evidenceunifi_get_ips_eventsunifi_get_lldp_neighborsunifi_get_mdns_settingsunifi_get_mgmt_settingsunifi_get_nat_ruleunifi_get_network_detailsunifi_get_network_healthunifi_get_network_statsunifi_get_oon_policy_detailsunifi_get_pdu_outletsunifi_get_port_forwardunifi_get_port_profile_detailsunifi_get_port_statsunifi_get_qos_rule_detailsunifi_get_rf_scan_resultsunifi_get_route_detailsunifi_get_site_dpi_trafficunifi_get_site_settingsunifi_get_snmp_settingsunifi_get_speedtest_resultsunifi_get_speedtest_statusunifi_get_switch_capabilitiesunifi_get_switch_portsunifi_get_system_infounifi_get_threat_management_settingsunifi_get_threat_postureunifi_get_top_clientsunifi_get_traffic_flow_statisticsunifi_get_traffic_flowsunifi_get_traffic_route_detailsunifi_get_usergroup_detailsunifi_get_voucher_detailsunifi_get_vpn_client_detailsunifi_get_vpn_server_detailsunifi_get_wlan_detailsunifi_list_acl_rulesunifi_list_active_routesunifi_list_alarmsunifi_list_ap_groupsunifi_list_available_channelsunifi_list_backupsunifi_list_blocked_clientsunifi_list_client_groupsunifi_list_clientsunifi_list_content_filtersunifi_list_devicesunifi_list_dns_recordsunifi_list_dpi_applicationsunifi_list_dpi_categoriesunifi_list_dynamic_dnsunifi_list_eventsunifi_list_firewall_groupsunifi_list_firewall_policiesunifi_list_firewall_zonesunifi_list_legacy_firewall_rulesunifi_list_nat_rulesunifi_list_networksunifi_list_oon_policiesunifi_list_port_forwardsunifi_list_port_profilesunifi_list_qos_rulesunifi_list_rogue_apsunifi_list_routesunifi_list_traffic_routesunifi_list_usergroupsunifi_list_vouchersunifi_list_vpn_clientsunifi_list_vpn_serversunifi_list_wlansunifi_lookup_by_ipunifi_recent_eventsunifi_subscribe_events
Write 79 · Create, change, send or run things.
unifi_adopt_deviceunifi_archive_alarmunifi_archive_all_alarmsunifi_authorize_guestunifi_configure_port_aggregationunifi_configure_port_mirrorunifi_create_acl_ruleunifi_create_ap_groupunifi_create_backupunifi_create_client_groupunifi_create_content_filterunifi_create_dns_record
Show 67 more tools
unifi_create_dynamic_dnsunifi_create_firewall_groupunifi_create_firewall_policyunifi_create_firewall_zoneunifi_create_nat_ruleunifi_create_networkunifi_create_oon_policyunifi_create_port_forwardunifi_create_port_profileunifi_create_qos_ruleunifi_create_routeunifi_create_simple_port_forwardunifi_create_simple_qos_ruleunifi_create_traffic_routeunifi_create_usergroupunifi_create_voucherunifi_create_wlanunifi_force_provision_deviceunifi_locate_deviceunifi_rename_clientunifi_rename_deviceunifi_reorder_firewall_policiesunifi_set_client_fixed_apunifi_set_client_ip_settingsunifi_set_device_ledunifi_set_jumbo_framesunifi_set_site_ledsunifi_set_switch_port_profileunifi_toggle_firewall_policyunifi_toggle_nat_ruleunifi_toggle_oon_policyunifi_toggle_port_forwardunifi_toggle_qos_rule_enabledunifi_toggle_traffic_routeunifi_toggle_wlanunifi_trigger_rf_scanunifi_trigger_speedtestunifi_unblock_clientunifi_update_acl_ruleunifi_update_ap_groupunifi_update_autobackup_settingsunifi_update_client_groupunifi_update_content_filterunifi_update_device_radiounifi_update_dns_recordunifi_update_dynamic_dnsunifi_update_firewall_groupunifi_update_firewall_policyunifi_update_firewall_zoneunifi_update_gateway_settingsunifi_update_mdns_settingsunifi_update_nat_ruleunifi_update_networkunifi_update_oon_policyunifi_update_port_forwardunifi_update_port_profileunifi_update_qos_ruleunifi_update_routeunifi_update_snmp_settingsunifi_update_switch_stpunifi_update_threat_management_settingsunifi_update_traffic_routeunifi_update_usergroupunifi_update_vpn_client_stateunifi_update_vpn_server_alternate_addressunifi_update_vpn_server_stateunifi_update_wlan
Delete 27 · Delete, drop, revoke or wipe things.
unifi_block_clientunifi_delete_acl_ruleunifi_delete_ap_groupunifi_delete_backupunifi_delete_client_groupunifi_delete_content_filterunifi_delete_dns_recordunifi_delete_dynamic_dnsunifi_delete_firewall_groupunifi_delete_firewall_policyunifi_delete_firewall_zoneunifi_delete_nat_rule
Show 15 more tools
unifi_delete_networkunifi_delete_oon_policyunifi_delete_port_forwardunifi_delete_port_profileunifi_delete_vpn_clientunifi_delete_wlanunifi_force_reconnect_clientunifi_forget_clientunifi_power_cycle_portunifi_reboot_deviceunifi_revoke_voucherunifi_set_outlet_stateunifi_toggle_deviceunifi_unauthorize_guestunifi_upgrade_device
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
UNIFI_API_KEYUNIFI_PASSWORDUNIFI_USERNAME
Other settings (environment variables or headers).
UNIFI_HOSTUNIFI_PORTUNIFI_SITEUNIFI_VERIFY_SSL
Files it touches
- Any path the agent passes to its tools
Tools (204)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
unifi_adopt_deviceAdopt a pending device into the Unifi Network by MAC address
unifi_archive_alarmArchive (resolve/dismiss) a specific alarm by its ID
unifi_archive_all_alarmsArchive (resolve/dismiss) all active alarms
unifi_authorize_guestAuthorize a guest client to access the guest network by MAC address
unifi_block_clientcan change or delete dataBlock a client/device from the network by MAC address
unifi_configure_port_aggregationConfigure link aggregation (LACP/LAG) on a switch. Bonds consecutive ports for increased bandwidth. Most switches support up to 8 aggregate sessions. Ports must be sequential and same speed. The master port override must include: op_mode='aggregate', aggregate_members=[list of port indices], and lag_idx=<group number starting at 1>. Member ports (all except the master) must be REMOVED from the overrides array — the controller auto-manages them. Requires confirmation.
unifi_configure_port_mirrorConfigure port mirroring on a switch. Mirrors traffic from one port to a destination port for packet capture/analysis. Most switches support only 1 mirror session. Fetch current overrides with unifi_get_switch_ports, set op_mode='mirror' and mirror_port_idx on the source port, then send all overrides. Requires confirmation.
unifi_create_acl_ruleCreate a new MAC ACL rule for Layer 2 access control within a VLAN. Uses the same field names as unifi_list_acl_rules output — source_macs, destination_macs, network_id, action, etc. Empty MAC list = match any device. Optionally apply a netmask (source_netmask/destination_netmask) to match a leading-bit prefix instead of exact MACs. Requires confirmation.
unifi_create_ap_groupCreate a new AP group to control which APs broadcast which SSIDs. Requires confirmation.
unifi_create_backupCreate a new backup of the controller configuration. Returns the backup metadata on success. Requires confirmation.
unifi_create_client_groupCreate a new client group (network member group). Groups organize devices by MAC address for use in OON policies and firewall rules. Requires confirmation.
unifi_create_content_filterCreate a content filtering profile with a non-empty blocked_categories list and exactly one non-empty client_macs or network_ids scope. Profiles start disabled with an ALWAYS all-day schedule unless those fields are explicitly set. Requires confirmation.
unifi_create_dns_recordCreate a new static DNS record. Required: key (hostname, e.g. 'myhost.example.com'), value (IP or target hostname), record_type ('A'/'AAAA'/'CNAME'/'MX'/'TXT'/'SRV'). Optional: enabled (bool, default true), ttl (int, 0=default 300s), port (int, for SRV), priority (int, for MX/SRV), weight (int, for SRV). Requires confirmation.
unifi_create_dynamic_dnsCreate a new Dynamic DNS provider entry. Required: host_name (hostname to keep updated, e.g. 'home.example.com'), service (provider: 'dyndns'/'noip'/'namecheap'/'cloudflare'/'custom'/...). Optional: interface ('wan' [default] or 'wan2'), login (username), x_password (password/token), server + custom_service (for the 'custom' service), options (list of strings). Requires confirmation.
unifi_create_firewall_groupCreate a new firewall group (address or port group). group_type must be 'address-group' (for IPs/CIDRs), 'ipv6-address-group', or 'port-group' (for port numbers/ranges). IMPORTANT: group_type cannot be changed after creation. members format: addresses use ['10.0.0.1', '10.0.0.0/24'], ports use ['80', '443', '8080-8090']. Requires confirmation.
Show 189 more tools
unifi_create_firewall_policyCreate a V2 zone-based firewall policy with schema validation. Required: name, action (ALLOW/BLOCK/REJECT), source (zone_id + matching_target), destination (same structure). For specific IP targeting: matching_target='IP', matching_target_type='SPECIFIC', ips=[...]. For network targeting: matching_target='NETWORK', matching_target_type='OBJECT', network_ids=[...]. For any in zone: matching_target='ANY'. For client targeting: matching_target='CLIENT', client_macs=[...]. For port targeting (same source/destination dict): port_matching_type='SPECIFIC', port='53,853' (a single string, not a 'ports…
unifi_create_firewall_zoneCreate a new firewall zone. Zones group networks for zone-based firewall policy targeting. Network assignment happens separately via firewall_zone_id on unifi_update_network. Requires a UniFi API key (UNIFI_API_KEY) and session authentication. Returns a V2 controller ObjectID, not an Integration API UUID. Requires confirmation.
unifi_create_nat_ruleCreate an IPv4 V2 NAT rule (DNAT, SNAT or MASQUERADE) with verified readback; disabled by default. Requires Network session credentials. The assigned rule_index is chosen again at confirmation. These IDs are scoped to the V2 NAT tool family — do not pass them to port-forward or Integration API tools.
unifi_create_networkCreate a new network (LAN/VLAN) with schema validation. Guest creation requires an explicit, verified built-in Hotspot firewall_zone_id and network isolation disabled. Guest previews validate the live zone; confirmed creates verify both guest purpose and zone. Updating purpose to guest remains unsupported. VPN entries may only specify the system-defined Vpn firewall zone; custom zones are persisted without enforcement and therefore rejected. Confirmed creates are read back and report exact persisted, dropped, and coerced fields; a failed result may still identify a created resource for cleanup…
unifi_create_oon_policyCreate a new OON (Object-Oriented Network) policy for internet access scheduling, app blocking, bandwidth limiting, or VPN routing. IMPORTANT: qos and route must be full nested dicts (not the flattened qos_enabled/route_enabled booleans from list output). Use unifi_get_oon_policy_details on an existing policy as a template for the nested structure. Requires confirmation.
unifi_create_port_forwardCreate a new port forwarding rule on your Unifi Network controller using schema validation. Requires confirmation.
unifi_create_port_profileCreate a new port profile. forward values: 'native' (access port), 'all' (trunk), or 'customize' (selective trunk). Port State (Active/Disabled) is a separate controller setting that these port-profile tools do not currently expose. tagged_vlan_mgmt is the access-vs-trunk control ('auto'/'block_all'/'custom'): the controller rewrites forward to agree with it, so an access port needs forward='native' with tagged_vlan_mgmt='block_all'. Port Mode in the UI maps to stp_edge_state + stp_bpdu_guard_enabled + stp_uplink (Edge = 'enabled'/true/false). Requires confirmation.
unifi_create_qos_ruleCreate a new QoS rule on the Unifi Network controller. Requires confirmation.
unifi_create_routeCreate a new static route for advanced routing configuration. Specify destination network in CIDR format (e.g., "10.0.0.0/24") and next-hop IP address (e.g., "192.168.1.1").
unifi_create_simple_port_forwardCreate a port forward using a simplified schema. Returns a preview unless confirm=true.
unifi_create_simple_qos_ruleCreate a QoS rule using a simplified high-level schema. Returns a preview unless confirm=true.
unifi_create_traffic_routeCreate a narrowly scoped Traffic Route (policy-based route). Requires confirmation. An explicit matching_target and target network/VPN are required. DOMAIN routes require at least one domain. INTERNET routes are allowed only for one explicit CLIENT with a valid unicast MAC address when the target is a verified WAN network.
unifi_create_usergroupCreate a new user group (bandwidth profile) with optional speed limits. Bandwidth limits are specified in Kbps. Use -1 for unlimited. User groups can be assigned to clients to enforce bandwidth policies.
unifi_create_voucherCreate hotspot voucher(s) for guest network access. Vouchers can have: - Time limits: How long the voucher is valid after activation - Usage quota: Single-use (1), multi-use (0), or n-times usable - Bandwidth limits: Upload/download speed caps in Kbps - Data caps: Total data transfer limit in MB
unifi_create_wlanCreate a new Wireless LAN (WLAN/SSID) with schema validation. Confirmed creates are read back and report exact persisted, dropped, and controller-coerced fields; a failed result may still identify a created WLAN for cleanup. Requires confirmation.
unifi_delete_acl_rulecan change or delete dataDelete a MAC ACL rule. Requires confirmation. WARNING: Removing an ALLOW rule may block device communication. Removing a BLOCK rule may open access.
unifi_delete_ap_groupcan change or delete dataDelete an AP group by ID. Requires confirmation. WARNING: APs in this group may lose their SSID assignments.
unifi_delete_backupcan change or delete dataDelete a backup file from the controller. Use unifi_list_backups to find filenames. Requires confirmation.
unifi_delete_client_groupcan change or delete dataDelete a client group. Requires confirmation. WARNING: Deleting a group may affect OON policies and firewall rules that reference it.
unifi_delete_content_filtercan change or delete dataDelete a content filtering profile. Requires confirmation. WARNING: Deleting a profile removes DNS-based blocking for all targeted clients/networks.
unifi_delete_dns_recordcan change or delete dataDelete a static DNS record. Use unifi_list_dns_records to find record IDs. Requires confirmation.
unifi_delete_dynamic_dnscan change or delete dataDelete a Dynamic DNS entry. Use unifi_list_dynamic_dns to find entry IDs. Requires confirmation.
unifi_delete_firewall_groupcan change or delete dataDelete a firewall group. Requires confirmation. WARNING: Firewall policies referencing this group via ip_group_id or port_group_id may break.
unifi_delete_firewall_policycan change or delete dataDelete a firewall policy by ID. Requires confirmation. WARNING: Removing an ALLOW rule may block traffic. Removing a BLOCK rule may open access.
unifi_delete_firewall_zonecan change or delete dataDelete a firewall zone by ID. System-defined zones cannot be deleted. Requires a UniFi API key (UNIFI_API_KEY) and session authentication. The ID must come from unifi_list_firewall_zones; it is a V2 controller ObjectID, not an Integration API UUID. Requires confirmation.
unifi_delete_nat_rulecan change or delete dataDelete a manual V2 NAT rule and verify its absence. Requires Network session credentials. These IDs are scoped to the V2 NAT tool family — do not pass them to port-forward or Integration API tools.
unifi_delete_networkcan change or delete dataDelete a LAN/VLAN network by ID. Requires confirmation. Only LAN-class networks (purpose corporate/guest/vlan-only) are deletable; WAN uplinks and VPN networkconf entries are refused. WARNING: dependent WLANs, clients, routes, and firewall policies may lose connectivity or become invalid.
unifi_delete_oon_policycan change or delete dataDelete an OON policy. Requires confirmation. WARNING: This will remove the policy and all associated firewall rules that were auto-generated from it.
unifi_delete_port_forwardcan change or delete dataDelete a port forwarding rule by ID. Requires confirmation. WARNING: This permanently removes the rule; external access to the forwarded service will stop. It cannot be undone - you must recreate the rule to restore it.
unifi_delete_port_profilecan change or delete dataDelete a port profile. System profiles with attr_no_delete=true cannot be deleted. WARNING: Switch ports using this profile will revert to defaults. Requires confirmation.
unifi_delete_vpn_clientcan change or delete dataDelete a VPN client configuration by ID. Requires confirmation.
unifi_delete_wlancan change or delete dataDelete a WLAN/SSID by ID. Requires confirmation. WARNING: All devices using this SSID will be disconnected.
unifi_force_provision_deviceForce re-provision a device, pushing the current configuration from the controller to the device. Works on any UniFi device (switches, APs, gateways). Useful after manual changes or to resolve config drift. Requires confirmation.
unifi_force_reconnect_clientcan change or delete dataForce a client to reconnect to the network (kick) by MAC address
unifi_forget_clientcan change or delete dataRemove/forget a client from the controller's known client history by MAC address. This permanently deletes the client record including its name, notes, fixed IP settings, and historical stats. The client will reappear as a new unknown device if it reconnects.
unifi_get_acl_rule_detailsread-onlyGet detailed configuration for a specific MAC ACL rule by ID. Returns the same field names as unifi_list_acl_rules.
unifi_get_alertsread-onlyGet recent alerts from the Unifi Network controller
unifi_get_anomaliesread-onlyGet network anomaly detection events.
unifi_get_ap_group_detailsread-onlyGet details of a specific AP group by ID, including member APs and WLANs.
unifi_get_autobackup_settingsread-onlyGet auto-backup settings (enabled state, schedule, retention count, cloud backup).
unifi_get_client_detailsread-onlyReturns client data for one client by MAC address. By default (summary=false) returns the full raw client object — all controller-reported fields, with the typed/normalized shape (ISO timestamps, derived status, null-safe name/hostname) layered on top of the merged live /stat/sta + /rest/user data. Set summary=true to trim to selected sections via include (basic, network, wireless, traffic, fingerprint, all). For a summary of all clients, use unifi_list_clients.
unifi_get_client_dpi_trafficread-onlyGet per-client DPI traffic data by application or category. On Network 9.x+ this reads the v2 traffic aggregate for the window (default: last 24h); older controllers fall back to the legacy per-site/per-client DPI endpoint, which has no window. upload_bytes is what the client sent. application/category are numeric DPI IDs — resolve names with unifi_list_dpi_applications / unifi_list_dpi_categories; 65535/255 means unidentified (typically encrypted QUIC/TLS). The controller aggregates DPI in coarse buckets, so totals for windows that cut through a bucket are approximate: use DPI for what kind o…
unifi_get_client_group_detailsread-onlyGet detailed configuration for a specific client group by ID.
unifi_get_client_sessionsread-onlyGet client session history. Note: this endpoint tracks hotspot/captive portal authorization sessions, not general WiFi connect/disconnect events. Returns empty without a guest portal configured. For WiFi roaming events, use the event log instead.
unifi_get_client_statsread-onlyGet a client's traffic time-series from the controller's per-client report. summary.upload_bytes is what the client sent and summary.download_bytes what it received (the report's rx_bytes/tx_bytes, counted from the network side). Pass start/end to inspect a past incident window. Wired clients are not metered per client in this report on current gateways, so an empty series for a wired client means 'not reported', not 'no traffic'.
unifi_get_client_wifi_detailsread-onlyGet detailed WiFi statistics for a single wireless client including signal, noise, satisfaction, tx/rx rates, retries, roam count, channel, radio, ESSID, and more.
unifi_get_content_filter_detailsread-onlyGet detailed configuration for a specific content filtering profile by ID. Returns the full profile including categories, client MACs, network IDs, safe search settings, and allow/block lists.
unifi_get_dashboardread-onlyGet the pre-aggregated site dashboard. Defaults to a compact summary that omits high-volume activity/history series; pass summary=false to preserve raw dashboard entries.
unifi_get_device_detailsread-onlyReturns device data for one device by MAC address. By default (summary=false) returns the full raw device object — all controller-reported fields including radio tables, port tables, system stats, WAN info, firmware details. Set summary=true to trim to selected sections via include (basic, ports, radios, stats, uplink, lldp, all). Port fields (summary mode): - last_seen_mac: last MAC that sent traffic on port (may be wireless client traffic, not reliable) - lldp_neighbor: actual connected infrastructure device (from LLDP, reliable for switches/APs) Examples: <no args> (full raw); summary=tru…
unifi_get_device_radioread-onlyGet radio configuration and live statistics for a device with radios (AP, or UDM/gateway with built-in WiFi). Returns per-band config (channel, tx_power, channel width, min_rssi) and live stats (actual tx_power, channel utilization, client count, retries).
unifi_get_device_statsread-onlyReturns historical traffic time-series (rx/tx bytes, client counts) for one device by MAC or _id. Duration: hourly/daily/weekly/monthly. For APs, includes avg/max client counts and WiFi quality metrics. For current device status instead of stats, use unifi_get_device_details.
unifi_get_dns_record_detailsread-onlyGet details for a specific DNS record by ID.
unifi_get_dpi_statsread-onlyGet Deep Packet Inspection (DPI) statistics (applications and categories)
unifi_get_dynamic_dns_entry_detailsread-onlyGet details for a specific Dynamic DNS entry by ID. The provider password/token is redacted.
unifi_get_event_typesread-onlyGet recently observed exact event keys for filtering events. Use a returned key with the unifi_list_events event_type parameter. Keys are sampled from the 1,000 most recent events within the last 7 days, so event types absent from that sample are not included.
unifi_get_firewall_group_detailsread-onlyGet detailed configuration for a specific firewall group by ID.
unifi_get_firewall_policy_detailsread-onlyGet detailed configuration for a specific firewall policy by ID.
unifi_get_firewall_policy_orderingread-onlyGet user-defined firewall policy ordering for a source/destination firewall zone pair. Returns policy IDs from the UniFi public integration API (UUIDs); these IDs are scoped to the ordering tool family — pass them ONLY to unifi_reorder_firewall_policies. They do NOT correspond to the policy IDs returned by unifi_list_firewall_policies or any other controller-API firewall tool. Requires a UniFi API key (UNIFI_API_KEY) and session credentials. The current ordering path requires a legacy connection even when Integration zone UUIDs are supplied.
unifi_get_gateway_settingsread-onlyGet the gateway (USG) settings: security (GeoIP filtering, SYN cookies, ICMP redirects, DNS verification), NAT/UPnP (UPnP, NAT-PMP, MSS clamp), connection-tracking ALG modules (FTP/GRE/H.323/PPTP/SIP/TFTP), hardware offloading, and conntrack timeouts. Read-only; use unifi_update_gateway_settings to change values.
unifi_get_gateway_statsread-onlyGet gateway WAN/LAN performance history including bandwidth, CPU, and memory utilization.
unifi_get_incident_evidenceread-onlyCollects bounded, read-only Network event evidence for one incident window. Returns a unifi-incident-evidence-view by default: every source's coverage, failures and budget usage plus a bounded list of record citations, with omitted records counted; detail='full' returns the whole unifi-incident-evidence document. Stops at the first spent budget and says so; check coverage_complete before treating an empty result as an all-clear.
unifi_get_ips_eventsread-onlyGet IPS/IDS security events (intrusion detection/prevention alerts). Reads the legacy IPS endpoint and, when it is empty or gone (Network 10.x), the SECURITY category of the v2 system log, where threat blocks are recorded. For other security event types use unifi_list_events with categories=['SECURITY'].
unifi_get_lldp_neighborsread-onlyGet LLDP neighbor discovery table for a switch. Shows what devices are connected to each port by their LLDP-advertised chassis ID and descriptions. Use unifi_list_devices to find switch MAC addresses.
unifi_get_mdns_settingsread-onlyGet site-wide mDNS service settings and read-only network scope.
unifi_get_mgmt_settingsread-onlyGet the site's device management (mgmt) settings, read-only: device SSH state and user name, password-auth flag, authorised-key count, whether an SSH password, password hash, management key and API token are stored (presence only; values never returned), debug tools, auto-upgrade and its hour.
unifi_get_nat_ruleread-onlyGet a NAT rule from the V2 controller API. Requires Network session credentials. These IDs are scoped to the V2 NAT tool family — do not pass them to port-forward or Integration API tools.
unifi_get_network_detailsread-onlyDescription is built at runtime.
unifi_get_network_healthread-onlyReturns per-subsystem health status for WAN, LAN, WLAN, and VPN — each with status, number of gateways/switches/APs, and active user counts. Use to check WAN connectivity, see how many devices are online per subsystem, or detect degraded network segments. For controller-level info (version, uptime), use unifi_get_system_info.
unifi_get_network_statsread-onlyGet network statistics from the Unifi Network controller
unifi_get_oon_policy_detailsread-onlyGet detailed configuration for a specific OON policy by ID. Returns the full policy object including secure, qos, route sections and targets.
unifi_get_pdu_outletsread-onlyReturn per-outlet state for a UniFi Smart Power PDU (UP6 / USP-Strip). Combines the device's sensed outlet_table (live relay_state, cycle_enabled, has_relay, has_metering) with the controller's desired outlet_overrides so callers see both reported and intended state per outlet. Returns an error if the device is not a PDU.
unifi_get_port_forwardread-onlyGet a specific port forwarding rule by ID from your Unifi Network controller.
unifi_get_port_profile_detailsread-onlyGet detailed configuration for a specific port profile by ID. Returns full profile including VLAN, isolation, PoE, STP, 802.1X, storm control, and QoS settings.
unifi_get_port_statsread-onlyGet live port statistics for a switch. Returns per-port data including link speed, duplex, PoE draw (voltage/current/power), error counters, MAC table count, bytes per second, and enabled state. Use unifi_list_devices to find switch MAC addresses.
unifi_get_qos_rule_detailsread-onlyGet details for a specific QoS rule by ID.
unifi_get_rf_scan_resultsread-onlyGet RF spectrum scan results for an access point. Returns per-channel interference levels (dBm), utilization (%), and BSS counts for each radio band. Trigger a scan first with unifi_trigger_rf_scan if no results are available. Scans take 5-10 minutes — if spectrum_scanning is true, the scan is still in progress.
unifi_get_route_detailsread-onlyGet detailed information about a specific static route by its ID
unifi_get_site_dpi_trafficread-onlyGet actual DPI traffic data by application or category for the entire site. Shows real bandwidth usage per app/category, NOT restriction configuration. Use unifi_get_dpi_stats for restriction config instead. On Network 9.x+ this reads the v2 traffic aggregate for the window (default: last 24h); older controllers fall back to the legacy per-site/per-client DPI endpoint, which has no window. upload_bytes is what the client sent. application/category are numeric DPI IDs — resolve names with unifi_list_dpi_applications / unifi_list_dpi_categories; 65535/255 means unidentified (typically encrypted …
unifi_get_site_settingsread-onlyGet current site settings: site identity, regulatory country code, timezone, connectivity monitor (enabled, uplink type) and NTP servers.
unifi_get_snmp_settingsread-onlyGet current SNMP settings for the site: v1/v2c enabled state and community string, SNMPv3 enabled state and user name. The two services are independent flags on one record. The community string and the v3 password are returned by the controller and always shown redacted by this tool.
unifi_get_speedtest_resultsread-onlyGet historical speedtest results including download, upload (Mbps), and latency (ms).
unifi_get_speedtest_statusread-onlyCheck the status of a running speedtest on the gateway.
unifi_get_switch_capabilitiesread-onlyGet switch hardware capabilities including max ACL rules, max VLANs, max aggregation sessions, max mirror sessions, STP config, and jumbo frame status. Use unifi_list_devices to find switch MAC addresses.
unifi_get_switch_portsread-onlyGet port assignments for a specific switch. Shows which port profile is assigned to each port, port names, and PoE mode. Use unifi_list_devices to find switch MAC addresses.
unifi_get_system_inforead-onlyReturns controller version, uptime, hostname, memory/CPU usage, and update availability. Use for basic 'is the controller healthy?' checks. For network subsystem status (WAN/LAN/WLAN), use unifi_get_network_health instead. For network subsystem details, use unifi_get_network_health.
unifi_get_threat_management_settingsread-onlyGet site-wide threat management (IDS/IPS) and traffic identification settings. Requires Network session credentials.
unifi_get_threat_postureread-onlyGet CyberSecure threat posture for HOUR, DAY, WEEK, or MONTH, including allowlisted gateway signature status. Requires Network session credentials. Counts and timestamps may be unknown (null); timestamps are milliseconds. Gateway device IDs are scoped to the legacy Network device family, not public Integration API device UUIDs.
unifi_get_top_clientsread-onlyRank clients by traffic inside a time window — the first call when working an upload or egress spike ('who sent data between 02:00 and 05:00?'). Sums the controller's per-client report over the window; upload_bytes is what each client sent, download_bytes what it received. Use sort_by='upload' for exfiltration questions. Covers clients the controller meters individually (wireless on current gateways); wired clients, cluster nodes included, are absent. Entries with source='live_counters' are a fallback for controllers without the report and are cumulative since association, not scoped to the wi…
unifi_get_traffic_flow_statisticsread-onlyAggregated UniFi Traffic Flows summary (Insights > Flows 'Flow Summary'). Returns risk and region count breakdowns plus Top-Talker rankings for a preset period: top clients, top destinations, top applications (by bytes), top blocked clients, and top blocking policies. Risk bands are low/medium/high (the UI labels these Low/Suspicious/Concerning). Application entries include best-effort DPI application/category names resolved from the controller catalogue; names remain null when the catalogue is unavailable or has no matching entry. The returned application_id is the low V2 traffic-flow applica…
unifi_get_traffic_flowsread-onlyQuery historical UniFi Traffic Flows (Insights > Flows). Returns completed flow records — source/destination (incl. resolved destination domains), service, risk, action, bytes, and timestamps — for a time window, with server-side filtering and pagination. Supply both time_from and time_to (epoch ms) for an explicit window, or use within_hours. Read-only; one page per call (use page/total_page_count to paginate).
unifi_get_traffic_route_detailsread-onlyGet detailed information for a specific traffic route by ID.
unifi_get_usergroup_detailsread-onlyGet detailed information about a specific user group by its ID
unifi_get_voucher_detailsread-onlyGet detailed information about a specific voucher by its ID
unifi_get_vpn_client_detailsread-onlyGet details for a specific VPN client by ID.
unifi_get_vpn_server_detailsread-onlyGet details for a specific VPN server by ID.
unifi_get_wlan_detailsread-onlyGet details for a specific WLAN by ID.
unifi_list_acl_rulesread-onlyList MAC ACL rules (Policy Engine) for Layer 2 access control. These rules control which devices can communicate at Layer 2 within a VLAN.
unifi_list_active_routesread-onlyList all active routes from the device routing table. Includes both user-defined and system routes currently in effect. This shows the actual routing table state on the gateway device. Note: This endpoint may not be available on all controller versions. Returns empty list if unavailable.
unifi_list_alarmsread-onlyReturns active alarms (security alerts, connectivity issues, firmware warnings). Each alarm includes type, message, timestamp, and related device/client MAC. By default shows only unresolved alarms; set include_archived=true for history. For general event logs (non-critical), use unifi_list_events.
unifi_list_ap_groupsread-onlyList all AP groups configured on the controller. AP groups control which access points broadcast which SSIDs. Returns group names, IDs, and associated AP/WLAN memberships.
unifi_list_available_channelsread-onlyList allowed RF channels for the site's regulatory domain. Returns per-band channel lists with DFS status and max power. Useful for planning channel assignments.
unifi_list_backupsread-onlyList available backups on the controller. Returns filename, datetime, size, and version for each backup.
unifi_list_blocked_clientsread-onlyLists clients/devices currently blocked from the network. Each entry includes mac, hostname, name, last_seen, blocked. Pass an entry's mac to unifi_unblock_client as mac_address.
unifi_list_client_groupsread-onlyList client groups (network member groups). Groups organize devices by MAC address for use in OON policies and firewall rules.
unifi_list_clientsread-onlyReturns connected clients with mac, name, hostname, ip, status (online/offline), connection type (wired/wireless), and for wireless clients: ssid, signal_dbm, channel, radio. Filter by filter_type (all/wired/wireless), set include_offline=true for historical clients. Use search to filter by name/hostname/IP/MAC (case-insensitive). For a single client's full raw object, use unifi_get_client_details. For IP-to-client lookup, use unifi_lookup_by_ip. Pass an entry's mac to the client tools as mac_address (unifi_get_client_details, unifi_block_client, unifi_rename_client, unifi_get_client_sessions,…
unifi_list_content_filtersread-onlyList content filtering profiles. Profiles control DNS-based category blocking, safe search enforcement (GOOGLE, YOUTUBE, BING), and domain allow/block lists. Profiles can target specific clients by MAC or entire networks by ID. Common categories: FAMILY, ADVERTISEMENT, MALWARE, PHISHING, BOTNETS, SPAM, SPYWARE, HACKING, ANONYMIZERS, DNS_TUNNELING, ADULT, ALCOHOL, DRUGS, GAMBLING, VIOLENCE, PORNOGRAPHY, NUDITY, WEAPONS, DATING, HATE_SPEECH_AND_EXTREMISM, CHILD_ABUSE, CIPA, EMPTY_DOMAINS, NEWLY_DISCOVERED_DOMAINS, PARKED_DOMAINS, UNREACHABLE_DOMAINS.
unifi_list_devicesread-onlyReturns adopted device inventory with MAC, name, model, IP, firmware version, uptime, status (online/offline/upgrading/etc), device_category (ap/switch/gateway/pdu), upgradable flag, connection_network, uplink topology, load_avg, mem_pct, and model_eol. Filter by device_type (ap/switch/gateway/pdu) and status (online/offline/pending/upgrading). Note: device_type=ap correctly excludes USP Smart Power strips. Use search to filter by name, IP, or MAC (case-insensitive). Set include_details=true for additional per-device fields: by default (summary=true) compressed radio/port summaries; set summar…
unifi_list_dns_recordsread-onlyList all static DNS records configured on the controller. Returns hostname, value, record type, enabled state, and TTL for each record.
unifi_list_dpi_applicationsread-onlyList DPI applications available for use in firewall rules and OON policies. Returns application names and their compound IDs. Supports name-based search. NOTE: The official API currently only returns categories 0-1 (IM, P2P). Streaming, social media, and other categories are not yet populated by Ubiquiti. For apps not found here, add via the UniFi UI and read back the IDs from the policy. Requires UNIFI_API_KEY or UNIFI_NETWORK_API_KEY.
unifi_list_dpi_categoriesread-onlyList DPI application categories (e.g., 'Instant messengers', 'Peer-to-peer networks', 'Media streaming services'). Categories group applications for DPI classification. Requires UNIFI_API_KEY or UNIFI_NETWORK_API_KEY.
unifi_list_dynamic_dnsread-onlyList all Dynamic DNS provider entries configured on the controller. Returns hostname, service/provider, WAN interface, login, and options for each entry. The provider password/token is redacted.
unifi_list_eventsread-onlyReturns timestamped event log entries (client connects/disconnects, device state changes, firmware updates, config changes) sorted newest-first. Filter by within_hours (default 24), an exact event_type key (use unifi_get_event_types for recently observed keys), categories (for example ['SECURITY']) and severities (for example ['HIGH', 'VERY_HIGH']) on v2 controllers, and paginate with start/limit. For critical alerts specifically, use unifi_list_alarms instead.
unifi_list_firewall_groupsread-onlyList firewall groups (address and port groups) used as reusable objects in firewall policies. Address groups contain IP addresses/CIDRs, port groups contain port numbers/ranges. These are referenced by firewall policies via ip_group_id and port_group_id fields.
unifi_list_firewall_policiesread-onlyList firewall policies configured on the Unifi Network controller. Returns V2 zone-based targeting (zone_id, matching_target, matching_target_type, IPs, network IDs, client MACs, IP/port groups, port matching). Filters: search (name substring), action (ALLOW/BLOCK/REJECT), enabled_only, limit (default 50), include_predefined. By default (summary=true) returns a curated entry per policy (id, name, enabled, action, rule_index, description, protocol + source/destination targeting incl. port_matching_type/port/port_group_id when set). Set summary=false for the full fw_from_controller().model_dump…
unifi_list_firewall_zonesread-onlyList controller firewall zones (V2 API). Returned IDs are V2 controller ObjectIDs, not Integration API UUIDs; use them with the firewall-zone CRUD tools and network firewall_zone_id.
unifi_list_legacy_firewall_rulesread-onlyList legacy pre-zone-based firewall rules from the UniFi controller. Use this on sites that still use the legacy firewall engine and return no V2 zone-based firewall policies. Returns ruleset, rule_index, action (lowercase accept/drop/reject), source and destination addresses, ports, networks and firewall groups, protocol, connection-state matching, logging, and enabled state.
unifi_list_nat_rulesread-onlyList NAT rules from the V2 controller API. Requires Network session credentials. These IDs are scoped to the V2 NAT tool family — do not pass them to port-forward or Integration API tools.
unifi_list_networksread-onlyReturns configured networks (LAN, WAN, VLAN-only) with name, purpose, IP subnet, VLAN ID, DHCP settings, and enabled state. Use to understand network topology and VLAN layout. Filters: search (name/VLAN substring), purpose (corporate/guest/wan/vlan-only), limit (default 25), fields (comma-separated subset). For a single network's full config, use unifi_get_network_details. For wireless SSIDs, use unifi_list_wlans. API-key inventory uses legacy reads when supported, otherwise limited public inventory. Public results include source_api=integration and integration_id; missing legacy fields are un…
unifi_list_oon_policiesread-onlyList OON (Object-Oriented Network) policies. These policies control internet access schedules (bedtime blackouts), application blocking (social media, streaming), QoS, and policy-based routing.
unifi_list_port_forwardsread-onlyList all port forwarding rules on your Unifi Network controller.
unifi_list_port_profilesread-onlyList all port profiles (port configurations) on the controller. Port profiles define VLAN assignment, port isolation, PoE mode, STP, 802.1X, and storm control settings. Profiles are assigned to switch ports via port overrides.
unifi_list_qos_rulesread-onlyList all QoS rules on the Unifi Network controller for the current site.
unifi_list_rogue_apsread-onlyList neighboring/rogue APs detected by your access points. Defaults to a compact 100-record page; pass summary=false for raw records in the selected page. Filters apply before pagination, limit is at most 500, and pagination metadata includes total_count, returned_count/count, limit, offset, next_offset, and has_more.
unifi_list_routesread-onlyList all user-defined static routes for the current site. Returns route names, destination networks, next-hop addresses, and status. These are manually configured routes, not dynamic or system routes.
unifi_list_traffic_routesread-onlyList all traffic routes (policy-based routing rules) for the current site. Traffic routes define how specific traffic is routed based on domains, IP addresses, regions, or target devices. Often used for VPN routing.
unifi_list_usergroupsread-onlyList all user groups (bandwidth profiles) for the current site. User groups define bandwidth limits that can be applied to clients. Each group specifies upload/download speed caps in Kbps.
unifi_list_vouchersread-onlyList hotspot vouchers for the current site. Returns voucher codes, expiration times, usage quotas, and bandwidth limits. Vouchers are used for guest network access in captive portal setups. Supports optional limit, offset, case-insensitive search by code or note (including UI hyphenated codes), and strict fields projection. Deterministic pagination sorts by created_at descending with id descending tie-break for shaped calls; unshaped calls preserve controller return order for backward compatibility.
unifi_list_vpn_clientsread-onlyList all configured VPN clients (Wireguard, OpenVPN, etc).
unifi_list_vpn_serversread-onlyList all configured VPN servers (Wireguard, OpenVPN, L2TP, etc).
unifi_list_wlansread-onlyList configured Wireless LANs (WLANs) on the Unifi Network controller. Filters: search (SSID name substring), enabled_only, limit (default 25). API-key inventory uses legacy reads when supported, otherwise limited public inventory. Public results include source_api=integration and integration_id; missing legacy fields are unknown. These IDs are scoped to the Integration inventory tool family — do not pass them to other resource tools. Full details and mutations can require session credentials.
unifi_locate_deviceToggle device locate mode (LED blinking) to physically identify a device. Works on any UniFi device (switches, APs, gateways). Requires confirmation.
unifi_lookup_by_ipread-onlyQuick IP-to-client lookup. Returns essential fields (hostname, name, mac, is_online, last_seen) to minimize token usage.
unifi_power_cycle_portcan change or delete dataPower cycle PoE on a specific switch port. This briefly cuts power to the connected PoE device, causing it to reboot. Requires confirmation.
unifi_reboot_devicecan change or delete dataReboot a specific device by MAC address
unifi_recent_eventsread-onlyGet recent events from the in-memory websocket buffer. This is fast (no API call) and returns events received via the real-time websocket stream. Supports filtering by exact event_type key, client/device mac, and limit. Use this for real-time monitoring; use unifi_list_events for historical queries. The response reports whether the listener is running (listening) and attached to the controller (attached, with last_error when not), the buffer occupancy (buffer_size) and its capacity (buffer_capacity); an empty buffer with attached=false is not 'no events'.
unifi_rename_clientRename a client/device in the Unifi Network controller by MAC address
unifi_rename_deviceRename a device in the Unifi Network controller by MAC address
unifi_reorder_firewall_policiesReorder user-defined firewall policies for a source/destination firewall zone pair. Pass the complete orderedFirewallPolicyIds object obtained from unifi_get_firewall_policy_ordering (beforeSystemDefined + afterSystemDefined arrays). These IDs are integration-API UUIDs scoped to the ordering tool family — they are NOT the policy IDs returned by unifi_list_firewall_policies. Requires confirmation and a UniFi API key (UNIFI_API_KEY) and session credentials. The current ordering path requires a legacy connection even when Integration zone UUIDs are supplied.
unifi_revoke_vouchercan change or delete dataRevoke/delete a hotspot voucher by its ID, preventing further use
unifi_set_client_fixed_apEnable or disable a wireless client's fixed access-point association. Enabling requires the MAC address of an adopted access point. Disabling preserves the controller's inactive AP MAC. This legacy write requires Network session authentication.
unifi_set_client_ip_settingsSet fixed IP address and/or local DNS record for a client device. Allows configuring: - Fixed IP: Assign a static IP address to a client (DHCP reservation) - Local DNS: Create a local DNS hostname for the client (UniFi Network 7.2+) Either setting can be enabled/disabled independently.
unifi_set_device_ledSet the LED override state on a specific device. Use 'on' to force LEDs on, 'off' to force them off, or 'default' to use site-wide setting. Requires confirmation.
unifi_set_jumbo_framesEnable or disable jumbo frames on a switch. Note: the UniFi controller requires jumbo frames to be enabled via the UI at least once before the API can toggle it. If you get JumboFrameChangeNotAllowed, enable it in the UI first. Requires confirmation.
unifi_set_outlet_statecan change or delete dataSet per-outlet relay state (on/off) and optionally cycle_enabled on a UniFi Smart Power PDU (UP6 / USP-Strip). The controller stores per-outlet desired state in the outlet_overrides array on the device document; this tool reads the existing array, replaces only the entry whose index matches outlet_index, and PUTs the full array back -- preserving all sibling outlets' overrides (name, relay_state, cycle_enabled) verbatim. If no override exists for the target outlet yet, one is created from the outlet's current sensed state. Use unifi_get_pdu_outlets first to inspect current state.
unifi_set_site_ledsToggle all device LEDs site-wide on or off. This sets the global LED policy for the site — individual device overrides take precedence. Requires confirmation.
unifi_set_switch_port_profileAssign a port profile to a specific switch port. IMPORTANT: This sends ALL port overrides as a full replacement. Fetch current overrides with unifi_get_switch_ports first, modify the target port, and send the complete array. Missing ports revert to defaults. Requires confirmation.
unifi_subscribe_eventsread-onlyReturns a handle describing how to subscribe to live network events. Provides the MCP resource URI for the event stream and pointers to the buffered-event tool, plus whether the websocket listener is running (listening) and attached (attached, last_error) and the buffer occupancy and capacity. Use this to set up continuous event monitoring.
unifi_toggle_devicecan change or delete dataEnable or disable a device without unadopting it. A disabled device remains adopted but stops passing traffic. Requires confirmation.
unifi_toggle_firewall_policyEnable or disable a specific firewall policy by ID.
unifi_toggle_nat_ruleSet a manual V2 NAT rule's enabled state explicitly; setting its current state is a no-op. Pass only the fields you want to change — current values are automatically preserved. A full fetch-merge-put can overwrite a concurrent edit between fetch and PUT. Requires Network session credentials. These IDs are scoped to the V2 NAT tool family — do not pass them to port-forward or Integration API tools.
unifi_toggle_oon_policyToggle an OON policy on or off. Fetches the current state, flips the enabled flag, and sends the update. Requires confirmation.
unifi_toggle_port_forwardToggle a port forwarding rule on or off on your Unifi Network controller.
unifi_toggle_qos_rule_enabledEnable or disable a specific QoS rule by ID. Requires confirmation.
unifi_toggle_traffic_routeToggle a traffic route on/off by ID. Enabling an INTERNET route requires one explicit CLIENT target with a valid unicast MAC address and a verified WAN network.
unifi_toggle_wlanToggle a WLAN/SSID on or off. Requires confirmation.
unifi_trigger_rf_scanTrigger an RF spectrum scan on an access point. Requires confirmation. The scan takes 5-10 minutes to complete. Some APs have a dedicated scanning radio and scan without going offline; others briefly go off-channel which may cause momentary client disconnections. Poll unifi_get_rf_scan_results periodically — results appear only after the scan finishes. Returns per-channel interference levels and utilization across all bands.
unifi_trigger_speedtestTrigger a speedtest on the gateway device. Returns immediately; use unifi_get_speedtest_status to poll for results.
unifi_unauthorize_guestcan change or delete dataRevoke authorization for a guest client by MAC address
unifi_unblock_clientUnblock a previously blocked client/device by MAC address
unifi_update_acl_ruleUpdate an existing MAC ACL rule. Pass only the fields you want to change — current values are automatically preserved. Uses the same field names as unifi_list_acl_rules output: name, acl_index, action, enabled, network_id, source_macs, destination_macs, source_netmask, destination_netmask. To remove a netmask (widen a prefix rule back to an exact match), set clear_source_netmask / clear_destination_netmask = true (passing source_netmask=null is a no-op, not a clear). Requires confirmation.
unifi_update_ap_groupUpdate an existing AP group's configuration. Pass only the fields you want to change — current values are automatically preserved. Requires confirmation.
unifi_update_autobackup_settingsUpdate auto-backup settings. Pass only the fields you want to change — current values are automatically preserved. Fields: autobackup_enabled (bool), autobackup_cron_expr (str, cron format), autobackup_days (int, retention days), autobackup_max_files (int, max backup files to keep), autobackup_timezone (str), autobackup_cloud_enabled (bool). Requires confirmation.
unifi_update_client_groupUpdate an existing client group. Pass only the fields you want to change — current values are automatically preserved. Requires confirmation.
unifi_update_content_filterUpdate an existing content filtering profile. Pass only the fields you want to change — current values are automatically preserved. client_macs and network_ids are additive — both can be set and the filter applies to all. Safe search valid values: GOOGLE, YOUTUBE, BING (only these three are supported). Requires confirmation.
unifi_update_device_radioUpdate radio settings for a specific band on a device with radios (AP, or UDM/gateway with built-in WiFi). Supports tx_power_mode, tx_power (custom dBm), channel, ht (channel width), min_rssi_enabled, min_rssi, assisted_roaming_enabled (802.11k/v), antenna_gain (dBi), vwire_enabled, sens_level_enabled, sens_level. Use unifi_get_device_radio first to see current settings.
unifi_update_dns_recordUpdate an existing DNS record. Pass only the fields you want to change — current values are automatically preserved. Fields: key (str), value (str), record_type ('A'/'AAAA'/'CNAME'/'MX'/'TXT'/'SRV'), enabled (bool), ttl (int), port (int), priority (int), weight (int). Requires confirmation.
unifi_update_dynamic_dnsUpdate an existing Dynamic DNS entry. Pass only the fields you want to change — current values are automatically preserved. Fields: host_name (str), service (str), server (str), login (str), x_password (str), interface ('wan'/'wan2'), custom_service (str), options (list of strings). Requires confirmation.
unifi_update_firewall_groupUpdate an existing firewall group. Pass only the fields you want to change — current values are automatically preserved. Accepted fields are name and members; group_type cannot be changed. Requires confirmation.
unifi_update_firewall_policyUpdate specific fields of an existing V2 zone-based firewall policy by ID. Accepts: name, action (ALLOW/BLOCK/REJECT), enabled, source, destination, protocol, ip_version, logging, connection_state_type, connection_states, schedule. source/destination are deep-merged with the current policy and accept the same targeting and port fields as create (matching_target, port_matching_type, port, port_group_id, client_macs); the merged result is checked for port shape and selector activation, while the zone/IP/NETWORK completeness rules are checked on create only. To change policy order use unifi_reord…
unifi_update_firewall_zoneRename an existing firewall zone by ID. Only the name is mutable; network membership is managed via firewall_zone_id on the network. Requires a UniFi API key (UNIFI_API_KEY) and session authentication. The ID must come from unifi_list_firewall_zones; it is a V2 controller ObjectID, not an Integration API UUID. Requires confirmation.
unifi_update_gateway_settingsUpdate gateway (USG) settings. Pass only the fields you want to change; current values (including nested sub-objects) are automatically preserved via deep-merge. Security: geo_ip_filtering_enabled (bool), geo_ip_filtering_block ('block'/'allow'), geo_ip_filtering_countries (CSV ISO codes), geo_ip_filtering_traffic_direction ('both'/'ingress'/'egress'), syn_cookies (bool), broadcast_ping (bool), receive_redirects (bool), send_redirects (bool), dns_verification (object). NAT/UPnP: upnp_enabled (bool), upnp_nat_pmp_enabled (bool), upnp_secure_mode (bool), upnp_wan_interface (str), mss_clamp ('aut…
unifi_update_mdns_settingsUpdate site-wide mDNS service mode, predefined services, or custom services. Pass only the fields you want to change — current values are automatically preserved. Each provided service list replaces the entire list. Mode 'all' requires both service lists empty; mode 'custom' requires at least one service. Network scope (enabled_for and enabled_for_network_ids) is read-only and preserved. Changes may affect service discovery. Requires confirmation.
unifi_update_nat_ruleUpdate a manual V2 NAT rule with verified fresh readback. Pass only the fields you want to change — current values are automatically preserved. A full fetch-merge-put can overwrite a concurrent edit between fetch and PUT. Requires Network session credentials. These IDs are scoped to the V2 NAT tool family — do not pass them to port-forward or Integration API tools.
unifi_update_networkUpdate specific fields of an existing network (LAN/VLAN). Pass only the fields you want to change — current values are automatically preserved. Every network field below is a key inside the update_data dict, not a top-level argument, e.g. update_data={'dhcpd_enabled': false}. Unknown keys are rejected. Basic: name, purpose ('corporate'/'vlan-only'), vlan_enabled (bool), vlan (str), ip_subnet (CIDR), enabled (bool), network_isolation_enabled (bool, corporate only), internet_access_enabled (bool), upnp_lan_enabled (bool), firewall_zone_id (str, V2 firewall-zone ID — assigns the network to a zone…
unifi_update_oon_policyUpdate an existing OON policy. Pass only the fields you want to change — current values are automatically preserved. Requires confirmation.
unifi_update_port_forwardUpdate specific fields of an existing port forwarding rule using schema validation. Pass only the fields you want to change — current values are automatically preserved. Requires confirmation.
unifi_update_port_profileUpdate an existing port profile. Pass only the fields you want to change — current values are automatically preserved. Note: system profiles with attr_no_edit=true cannot be modified. Requires confirmation.
unifi_update_qos_ruleUpdate specific fields of an existing QoS rule. Requires confirmation.
unifi_update_routeUpdate an existing static route's properties. Can modify name, destination network, next-hop, distance, or enabled status.
unifi_update_snmp_settingsUpdate SNMP settings for the site: v1/v2c (enabled, community) and SNMPv3 (enabled_v3, username, x_password). The two services are independent; disabling one leaves the other listening. Pass only the fields you want to change — current values are automatically preserved. Requires confirm=true to apply changes.
unifi_update_switch_stpUpdate STP (Spanning Tree Protocol) configuration for a switch. stp_priority valid values: 4096, 8192, 12288, ..., 61440 (default: 32768). stp_version: 'stp' or 'rstp' (default). Requires confirmation.
unifi_update_threat_management_settingsUpdate site-wide IPS mode/category selection or traffic identification settings and verify persistence. Pass only the fields you want to change — current values are automatically preserved. Use separate calls for IPS and traffic identification fields. Category lists replace the full list and select manual filtering; codes are validated against the gateway catalog. Disabling IPS also disables filtering and clears categories; enabling requires protected networks and nonempty manual categories. Network scope is read-only. ipsInline can only be preserved if already in use. Changes may reduce inspe…
unifi_update_traffic_routeUpdate a traffic route's settings. Pass only the fields you want to change — current values are automatically preserved. Toggle fields: - enabled: Enable or disable the traffic route - kill_switch_enabled: Enable/disable the kill switch (blocks traffic if VPN is down) Routing-match fields (each REPLACES the whole existing list/value — read the route first with unifi_get_traffic_route_details, then send the full desired value): - target_devices: Which clients/networks the route applies to. For INTERNET routes, this must remain one explicit CLIENT target. [{"type": "CLIENT", "client_mac": "…
unifi_update_usergroupUpdate an existing user group's name or bandwidth limits. Use -1 for unlimited bandwidth. Changes affect all clients assigned to this group.
unifi_update_vpn_client_stateEnable or disable a specific VPN client by ID. Requires confirmation.
unifi_update_vpn_server_alternate_addressUpdate the advertised alternate hostname or IPv4 address for a WireGuard VPN server. Pass only the fields you want to change — current values are automatically preserved. Requires Network session authentication and confirmation; verifies persistence after applying. MCP previews read live state; API action previews show submitted arguments only.
unifi_update_vpn_server_stateEnable or disable a specific VPN server by ID. Requires confirmation.
unifi_update_wlanUpdate specific fields of an existing WLAN (SSID). Pass only the fields you want to change — current values are automatically preserved. Every WLAN field below is a key inside the update_data dict, not a top-level argument, e.g. update_data={'enabled': false, 'hide_ssid': true}. Unknown keys are rejected. Basic: name (str), security ('open'/'wpapsk'/'wpa2-psk'), x_passphrase (str), enabled (bool), hide_ssid (bool), guest_policy (controller-dependent bool; may be reported as dropped), usergroup_id (str), networkconf_id (str). Security: wpa3_support (bool), wpa3_transition (bool), pmf_mode ('dis…
unifi_upgrade_devicecan change or delete dataInitiate a firmware upgrade for a device by MAC address (uses cached firmware by default)
Compare and alternatives
Featured in
Signals
- Stars
- 945
- Forks
- 132
- Open issues
- 12
- Contributors
- 47
- Weekly downloads
- 16,826
- Last commit (this folder)
- Oct 24, 2026 (4 days ago)
- Last release
- Oct 22, 2026 (6 days ago)
- Last package publish
- Oct 22, 2026 (6 days ago)
From GitHub (fetched Oct 24, 2026) and the package registry.
Details
- Registry name
io.github.sirkirby/unifi-network-mcp- Version
- 0.7.8
- Auth
- API key
- Packages
- pypi unifi-network-mcp
- License
- MIT
- Repository
- github.com/sirkirby/unifi-mcp
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
More from sirkirby
- 0.812score
UniFi Protect MCP
sirkirby
Manage UniFi Protect cameras, events, recordings, and smart detections.
ConnectorAFreshness: ALocal★ 945↓ 2.5K/wkClaude Code +5 - 0.807score
UniFi Access MCP
sirkirby
Manage UniFi Access doors, credentials, policies, visitors, and events.
ConnectorAFreshness: ALocal★ 945↓ 1K/wkClaude Code +5 - 0.583score
AGENTS.md · sirkirby/unifi-mcp
sirkirby
AGENTS.md from sirkirby/unifi-mcp: 354 lines covering Documentation scope, Non-Goals, Architecture Rules, Permission System and more.
TemplateAFreshness: A★ 945Codex +5
Cite this page
UniFi Network MCP. Agent Mart. https://agentmart.dev/connectors/sirkirby-unifi-network-mcp (last updated 2026-10-24)