Skip to main content
Glama
ZenixSolutions

unifi-network-mcp

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
UNIFI_API_KEYYesAPI key from unifi.ui.com. Sent as the X-API-KEY header.
UNIFI_INSECURENoSet to '1' to accept the console's self-signed TLS certificate.
UNIFI_CONSOLE_URLYesConsole base URL, e.g. https://192.168.1.1. The integration path is appended automatically.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
unifi_supportingA

Supporting resources (countries, DPI, device tags, RADIUS, VPN, WANs). Operations:

  • list_countries (Read): List Countries

  • list_dpi_applications (Read): List DPI Applications

  • list_dpi_categories (Read): List DPI Application Categories

  • list_device_tags (Read): List Device Tags

  • list_radius_profiles (Read): List Radius Profiles

  • list_vpn_servers (Read): List VPN Servers

  • list_site_to_site_vpn_tunnels (Read): List Site-To-Site VPN Tunnels

  • list_wans (Read): List WAN Interfaces List results are pages: { offset, limit (max 200), count, totalCount, data[] }. Filtering: pass filter as property.function(args); combine with and(...), or(...), not(...). Functions: eq, ne, gt, ge, lt, le, like, in, notIn, isNull, isNotNull; SET: contains, containsAny, containsAll, containsExactly, isEmpty. Strings use single quotes ('guest'); like patterns: '.'=one char, '*'=any run, ''=escape.

unifi_infoB

UniFi Network application info. Operations:

  • get (Read): Get Application Info

unifi_devicesA

UniFi devices (adoption, details, statistics, restart, PoE port power-cycle). Operations:

  • list_pending (Read): List Devices Pending Adoption

  • list (Read): List Adopted Devices

  • adopt (Create): Adopt Devices

  • remove (Destructive): Remove (Unadopt) Device — requires confirm: true

  • get (Read): Get Adopted Device Details

  • execute_action (Admin): Execute Adopted Device Action — requires confirm: true

  • execute_port_action (Admin): Execute Port Action — requires confirm: true

  • get_statistics (Read): Get Latest Adopted Device Statistics List results are pages: { offset, limit (max 200), count, totalCount, data[] }. Filtering: pass filter as property.function(args); combine with and(...), or(...), not(...). Functions: eq, ne, gt, ge, lt, le, like, in, notIn, isNull, isNotNull; SET: contains, containsAny, containsAll, containsExactly, isEmpty. Strings use single quotes ('guest'); like patterns: '.'=one char, '*'=any run, ''=escape. For request-body shapes call unifi_spec with { operation: "unifi_devices." }.

unifi_sitesA

Sites on this UniFi Network console. Operations:

  • list (Read): List Local Sites List results are pages: { offset, limit (max 200), count, totalCount, data[] }. Filtering: pass filter as property.function(args); combine with and(...), or(...), not(...). Functions: eq, ne, gt, ge, lt, le, like, in, notIn, isNull, isNotNull; SET: contains, containsAny, containsAll, containsExactly, isEmpty. Strings use single quotes ('guest'); like patterns: '.'=one char, '*'=any run, ''=escape.

unifi_acl_rulesA

ACL rules and their ordering. Operations:

  • list (Read): List ACL Rules

  • create (Create): Create ACL Rule

  • get_ordering (Read): Get User-Defined ACL Rule Ordering

  • update_ordering (Update): Reorder User-Defined ACL Rules

  • delete (Destructive): Delete ACL Rule — requires confirm: true

  • get (Read): Get ACL Rule

  • update (Update): Update ACL Rule List results are pages: { offset, limit (max 200), count, totalCount, data[] }. Filtering: pass filter as property.function(args); combine with and(...), or(...), not(...). Functions: eq, ne, gt, ge, lt, le, like, in, notIn, isNull, isNotNull; SET: contains, containsAny, containsAll, containsExactly, isEmpty. Strings use single quotes ('guest'); like patterns: '.'=one char, '*'=any run, ''=escape. For request-body shapes call unifi_spec with { operation: "unifi_acl_rules." }.

unifi_clientsA

Connected clients (list, details, guest authorization). Operations:

  • list (Read): List Connected Clients

  • get (Read): Get Connected Client Details

  • execute_action (Admin): Execute Client Action — requires confirm: true List results are pages: { offset, limit (max 200), count, totalCount, data[] }. Filtering: pass filter as property.function(args); combine with and(...), or(...), not(...). Functions: eq, ne, gt, ge, lt, le, like, in, notIn, isNull, isNotNull; SET: contains, containsAny, containsAll, containsExactly, isEmpty. Strings use single quotes ('guest'); like patterns: '.'=one char, '*'=any run, ''=escape. For request-body shapes call unifi_spec with { operation: "unifi_clients." }.

unifi_dns_policiesA

DNS policies. Operations:

  • list (Read): List DNS Policies

  • create (Create): Create DNS Policy

  • delete (Destructive): Delete DNS Policy — requires confirm: true

  • get (Read): Get DNS Policy

  • update (Update): Update DNS Policy List results are pages: { offset, limit (max 200), count, totalCount, data[] }. Filtering: pass filter as property.function(args); combine with and(...), or(...), not(...). Functions: eq, ne, gt, ge, lt, le, like, in, notIn, isNull, isNotNull; SET: contains, containsAny, containsAll, containsExactly, isEmpty. Strings use single quotes ('guest'); like patterns: '.'=one char, '*'=any run, ''=escape. For request-body shapes call unifi_spec with { operation: "unifi_dns_policies." }.

unifi_firewall_policiesA

Firewall policies and their ordering. Operations:

  • list (Read): List Firewall Policies

  • create (Create): Create Firewall Policy

  • get_ordering (Read): Get User-Defined Firewall Policy Ordering

  • update_ordering (Update): Reorder User-Defined Firewall Policies

  • delete (Destructive): Delete Firewall Policy — requires confirm: true

  • get (Read): Get Firewall Policy

  • patch (Update): Patch Firewall Policy

  • update (Update): Update Firewall Policy List results are pages: { offset, limit (max 200), count, totalCount, data[] }. Filtering: pass filter as property.function(args); combine with and(...), or(...), not(...). Functions: eq, ne, gt, ge, lt, le, like, in, notIn, isNull, isNotNull; SET: contains, containsAny, containsAll, containsExactly, isEmpty. Strings use single quotes ('guest'); like patterns: '.'=one char, '*'=any run, ''=escape. For request-body shapes call unifi_spec with { operation: "unifi_firewall_policies." }.

unifi_firewall_zonesA

Firewall zones. Operations:

  • list (Read): List Firewall Zones

  • create (Create): Create Custom Firewall Zone

  • delete (Destructive): Delete Custom Firewall Zone — requires confirm: true

  • get (Read): Get Firewall Zone

  • update (Update): Update Firewall Zone List results are pages: { offset, limit (max 200), count, totalCount, data[] }. Filtering: pass filter as property.function(args); combine with and(...), or(...), not(...). Functions: eq, ne, gt, ge, lt, le, like, in, notIn, isNull, isNotNull; SET: contains, containsAny, containsAll, containsExactly, isEmpty. Strings use single quotes ('guest'); like patterns: '.'=one char, '*'=any run, ''=escape. For request-body shapes call unifi_spec with { operation: "unifi_firewall_zones." }.

unifi_vouchersA

Hotspot vouchers. Operations:

  • delete_by_filter (Destructive): Delete Vouchers — requires confirm: true

  • list (Read): List Vouchers

  • generate (Create): Generate Vouchers

  • delete (Destructive): Delete Voucher — requires confirm: true

  • get (Read): Get Voucher Details List results are pages: { offset, limit (max 200), count, totalCount, data[] }. Filtering: pass filter as property.function(args); combine with and(...), or(...), not(...). Functions: eq, ne, gt, ge, lt, le, like, in, notIn, isNull, isNotNull; SET: contains, containsAny, containsAll, containsExactly, isEmpty. Strings use single quotes ('guest'); like patterns: '.'=one char, '*'=any run, ''=escape. For request-body shapes call unifi_spec with { operation: "unifi_vouchers." }.

unifi_networksA

Networks (VLANs/subnets) configuration. Operations:

  • list (Read): List Networks

  • create (Create): Create Network

  • delete (Destructive): Delete Network — requires confirm: true

  • get (Read): Get Network Details

  • update (Update): Update Network

  • get_references (Read): Get Network References List results are pages: { offset, limit (max 200), count, totalCount, data[] }. Filtering: pass filter as property.function(args); combine with and(...), or(...), not(...). Functions: eq, ne, gt, ge, lt, le, like, in, notIn, isNull, isNotNull; SET: contains, containsAny, containsAll, containsExactly, isEmpty. Strings use single quotes ('guest'); like patterns: '.'=one char, '*'=any run, ''=escape. For request-body shapes call unifi_spec with { operation: "unifi_networks." }.

unifi_switchingA

Switching read-only views (LAGs, MC-LAG domains, switch stacks). Operations:

  • list_lags (Read): List LAGs

  • get_lag (Read): Get LAG Details

  • list_mc_lag_domains (Read): List MC-LAG Domains

  • get_mc_lag_domain (Read): Get MC-LAG Domain

  • list_switch_stacks (Read): List Switch Stacks

  • get_switch_stack (Read): Get Switch Stack List results are pages: { offset, limit (max 200), count, totalCount, data[] }. Filtering: pass filter as property.function(args); combine with and(...), or(...), not(...). Functions: eq, ne, gt, ge, lt, le, like, in, notIn, isNull, isNotNull; SET: contains, containsAny, containsAll, containsExactly, isEmpty. Strings use single quotes ('guest'); like patterns: '.'=one char, '*'=any run, ''=escape.

unifi_traffic_matching_listsA

Traffic matching lists. Operations:

  • list (Read): List Traffic Matching Lists

  • create (Create): Create Traffic Matching List

  • delete (Destructive): Delete Traffic Matching List — requires confirm: true

  • get (Read): Get Traffic Matching List

  • update (Update): Update Traffic Matching List List results are pages: { offset, limit (max 200), count, totalCount, data[] }. Filtering: pass filter as property.function(args); combine with and(...), or(...), not(...). Functions: eq, ne, gt, ge, lt, le, like, in, notIn, isNull, isNotNull; SET: contains, containsAny, containsAll, containsExactly, isEmpty. Strings use single quotes ('guest'); like patterns: '.'=one char, '*'=any run, ''=escape. For request-body shapes call unifi_spec with { operation: "unifi_traffic_matching_lists." }.

unifi_wifi_broadcastsA

WiFi broadcasts (SSIDs) configuration. Operations:

  • list (Read): List Wifi Broadcasts

  • create (Create): Create Wifi Broadcast

  • delete (Destructive): Delete Wifi Broadcast — requires confirm: true

  • get (Read): Get Wifi Broadcast Details

  • update (Update): Update Wifi Broadcast List results are pages: { offset, limit (max 200), count, totalCount, data[] }. Filtering: pass filter as property.function(args); combine with and(...), or(...), not(...). Functions: eq, ne, gt, ge, lt, le, like, in, notIn, isNull, isNotNull; SET: contains, containsAny, containsAll, containsExactly, isEmpty. Strings use single quotes ('guest'); like patterns: '.'=one char, '*'=any run, ''=escape. For request-body shapes call unifi_spec with { operation: "unifi_wifi_broadcasts." }.

unifi_specA

Read the committed vendor API contract (OpenAPI, UniFi Network Integration API). Returns the exact request-body schema, path/query parameters, and response schema for any operation of the other unifi_* tools. Call this before create/update/action operations. Input: { operation: "." }, e.g. { operation: "unifi_networks.create" }.

unifi_consolesA

List every UniFi console (company/site deployment) visible to the configured API key, via the Site Manager API (discovery only — ADR-002). Operations:

  • list (Read): List consoles; returns id, name, type, ipAddress. Pass a returned id as consoleId to the other unifi_* tools in cloud mode. Set refresh: true to bypass the per-process cache.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ZenixSolutions/unifi-network-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server