Skip to main content
Glama
enuno

UniFi MCP Server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
REDIS_DBNoRedis database number
REDIS_HOSTNoRedis host for caching
REDIS_PORTNoRedis port
AGNOST_ORG_IDNoAgnost organization ID
UNIFI_API_KEYNoYour UniFi API key from unifi.ui.com
UNIFI_PROFILENoTool scope profile: network, devices, security, system, or minimal
AGNOST_ENABLEDNoEnable agnost.ai performance tracking (true/false)
REDIS_PASSWORDNoRedis password if required
UNIFI_API_TYPENoAPI mode: local, cloud-v1, or cloud-ea
WEBHOOK_SECRETNoSecret for webhook HMAC verification
AGNOST_ENDPOINTNoAgnost API endpoint
MCP_SERVER_HOSTNoBind address0.0.0.0
MCP_SERVER_PORTNoServer port3000
UNIFI_LOCAL_HOSTNoLocal gateway IP address (required for local mode)
UNIFI_LOCAL_PORTNoLocal gateway port443
UNIFI_DEFAULT_SITENoDefault site IDdefault
UNIFI_CLOUD_API_URLNoCloud API URLhttps://api.ui.com
AGNOST_DISABLE_INPUTNoDisable input tracking
MCP_SERVER_TRANSPORTNoTransport mode: stdio, sse, http, streamable_httpstdio
AGNOST_DISABLE_OUTPUTNoDisable output tracking
UNIFI_LOCAL_VERIFY_SSLNoSSL verification for local gatewayfalse
UNIFI_SITE_MANAGER_ENABLEDNoEnable Site Manager multi-site tools for cloud-eafalse

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_site_detailsC

Get detailed site information.

Args: site_id: Site identifier settings: Application settings

Returns: Site details dictionary

Raises: ResourceNotFoundError: If site not found

list_sitesC

List all accessible sites.

Args: settings: Application settings limit: Maximum number of sites to return offset: Number of sites to skip

Returns: List of site dictionaries

compare_site_performanceC

Compare performance metrics across all sites.

Analyzes uptime, latency, bandwidth, and health status to identify best and worst performing sites.

Args: settings: Application settings

Returns: Performance comparison with rankings and metrics

get_cross_site_statisticsC

Get aggregate statistics across multiple sites.

Args: settings: Application settings

Returns: Cross-site statistics

get_hostC

Get host details by ID.

Args: settings: Application settings host_id: Host identifier

Returns: Host details

get_internet_healthC

Get internet health metrics across sites.

Args: settings: Application settings site_id: Optional site identifier. If None, returns aggregate metrics.

Returns: Internet health metrics

get_isp_metricsB

Get ISP metrics for a specific site.

Args: settings: Application settings site_id: Site identifier

Returns: ISP metrics data including bandwidth, latency, jitter, and packet loss

get_sdwan_configC

Get SD-WAN configuration by ID.

Args: settings: Application settings config_id: Configuration identifier

Returns: SD-WAN configuration details

get_sdwan_config_statusC

Get SD-WAN configuration deployment status.

Args: settings: Application settings config_id: Configuration identifier

Returns: SD-WAN configuration deployment status

get_site_health_summaryA

Get health summary for all sites or a specific site.

Args: settings: Application settings site_id: Optional site identifier. If None, returns summary for all sites.

Returns: Health summary

get_site_inventoryA

Get comprehensive inventory for a site or all sites.

Provides detailed breakdown of resources including devices, clients, networks, SSIDs, VPN tunnels, and firewall rules.

Args: settings: Application settings site_id: Optional site identifier. If None, returns inventory for all sites.

Returns: Site inventory or list of site inventories

get_version_controlB

Get API version control information.

Args: settings: Application settings

Returns: Version control information including current, latest, and deprecated versions

list_all_sites_aggregatedA

List all sites with aggregated stats from Site Manager API.

Args: settings: Application settings

Returns: List of sites with aggregated statistics

list_hostsC

List all managed hosts/consoles.

Args: settings: Application settings limit: Optional maximum number of hosts to return offset: Optional number of hosts to skip (for pagination)

Returns: List of managed hosts

list_sdwan_configsC

List all SD-WAN configurations.

Args: settings: Application settings

Returns: List of SD-WAN configurations

list_vantage_pointsC

List all Vantage Points.

Args: settings: Application settings

Returns: List of Vantage Points

query_isp_metricsC

Query ISP metrics with optional filters.

Args: settings: Application settings site_id: Optional site identifier (None for all sites) start_time: Optional start time in ISO format (e.g., "2026-02-01T00:00:00Z") end_time: Optional end time in ISO format

Returns: List of ISP metrics matching the query

search_across_sitesA

Search for resources across all sites.

Search for devices, clients, or networks across all managed sites. Useful for locating resources in multi-site deployments.

Args: settings: Application settings query: Search query (device name, MAC address, client name, network name) search_type: Type of search - "device", "client", "network", or "all"

Returns: Search results with site context

connector_network_deleteB

Proxy a DELETE request to the Network Application via Cloud Connector.

Args: console_id: UniFi console/host identifier path: Network API sub-path settings: Application settings confirm: Must be True to execute dry_run: Preview without sending

Returns: Raw response or dry-run preview

connector_network_getB

Proxy a GET request to the Network Application via Cloud Connector.

Forwards the request to https://api.ui.com/v1/connector/{console_id}/proxy/network/{path} and returns the raw response.

Args: console_id: UniFi console/host identifier (from list_hosts) path: Network API sub-path, e.g. api/s/default/stat/device settings: Application settings (UNIFI_SITE_MANAGER_ENABLED required) params: Optional query parameters

Returns: Raw response from the proxied Network API endpoint

Raises: ValidationError: If console_id or path is empty ValueError: If Site Manager API is not enabled

connector_network_patchC

Proxy a PATCH request to the Network Application via Cloud Connector.

Args: console_id: UniFi console/host identifier path: Network API sub-path settings: Application settings body: Optional request body confirm: Must be True to execute dry_run: Preview without sending

Returns: Raw response or dry-run preview

connector_network_postA

Proxy a POST request to the Network Application via Cloud Connector.

Args: console_id: UniFi console/host identifier (from list_hosts) path: Network API sub-path, e.g. api/s/default/rest/wlanconf settings: Application settings body: Optional request body to forward confirm: Must be True to execute (mutating operation) dry_run: If True, preview the request without sending it

Returns: Raw response or dry-run preview

Raises: ValidationError: If console_id/path is empty or confirm not provided ValueError: If Site Manager API is not enabled

connector_network_putB

Proxy a PUT request to the Network Application via Cloud Connector.

Args: console_id: UniFi console/host identifier path: Network API sub-path settings: Application settings body: Optional request body confirm: Must be True to execute dry_run: Preview without sending

Returns: Raw response or dry-run preview

connector_protect_deleteC

Proxy a DELETE request to the Protect Application via Cloud Connector.

Args: console_id: UniFi console/host identifier path: Protect API sub-path settings: Application settings confirm: Must be True to execute dry_run: Preview without sending

Returns: Raw response or dry-run preview

connector_protect_getA

Proxy a GET request to the Protect Application via Cloud Connector.

Forwards the request to https://api.ui.com/v1/connector/{console_id}/proxy/protect/{path} and returns the raw response.

Args: console_id: UniFi console/host identifier (from list_hosts) path: Protect API sub-path, e.g. v1/cameras settings: Application settings (UNIFI_SITE_MANAGER_ENABLED required) params: Optional query parameters

Returns: Raw response from the proxied Protect API endpoint

Raises: ValidationError: If console_id or path is empty ValueError: If Site Manager API is not enabled

connector_protect_patchB

Proxy a PATCH request to the Protect Application via Cloud Connector.

Args: console_id: UniFi console/host identifier path: Protect API sub-path settings: Application settings body: Optional request body confirm: Must be True to execute dry_run: Preview without sending

Returns: Raw response or dry-run preview

connector_protect_postA

Proxy a POST request to the Protect Application via Cloud Connector.

Args: console_id: UniFi console/host identifier path: Protect API sub-path, e.g. v1/cameras/{id}/snapshot settings: Application settings body: Optional request body confirm: Must be True to execute dry_run: Preview without sending

Returns: Raw response or dry-run preview

connector_protect_putA

Proxy a PUT request to the Protect Application via Cloud Connector.

Args: console_id: UniFi console/host identifier path: Protect API sub-path settings: Application settings body: Optional request body confirm: Must be True to execute dry_run: Preview without sending

Returns: Raw response or dry-run preview

get_integration_clientC

Get a single connected client via the integration API.

Args: site_id: Site identifier client_id: Client UUID settings: Application settings

Returns: Client details

get_integration_deviceC

Get a single adopted device via the integration API.

Args: site_id: Site identifier device_id: Device UUID settings: Application settings

Returns: Device details

get_integration_dns_policyB

Get a single DNS policy via the integration API.

Args: site_id: Site identifier policy_id: DNS policy UUID settings: Application settings

Returns: DNS policy details

get_integration_wifi_broadcastC

Get a single WiFi broadcast via the integration API.

Args: site_id: Site identifier broadcast_id: WiFi broadcast UUID settings: Application settings

Returns: WiFi broadcast details

list_dpi_application_categoriesA

List DPI application categories via the integration API.

This endpoint is global (not site-scoped) and returns the canonical list of application categories used by DPI and traffic-routing features.

Args: settings: Application settings limit: Maximum number of categories to return (1-1000) offset: Number of categories to skip

Returns: Paginated list of DPI categories

list_integration_clientsC

List connected clients via the integration API.

Args: site_id: Site identifier settings: Application settings limit: Maximum number of clients to return (1-1000) offset: Number of clients to skip

Returns: Paginated list of integration API clients

list_integration_device_tagsB

List device tags via the integration API.

Args: site_id: Site identifier settings: Application settings limit: Maximum number of tags to return (1-1000) offset: Number of tags to skip

Returns: Paginated list of device tags

list_integration_devicesC

List adopted devices via the integration API.

Args: site_id: Site identifier (UUID or internal reference) settings: Application settings limit: Maximum number of devices to return (1-1000) offset: Number of devices to skip

Returns: Paginated list of integration API devices

list_integration_dns_policiesB

List DNS policies via the integration API.

Args: site_id: Site identifier settings: Application settings limit: Maximum number of policies to return (1-1000) offset: Number of policies to skip

Returns: Paginated list of DNS policies

list_integration_networksC

List networks via the integration API.

Args: site_id: Site identifier settings: Application settings limit: Maximum number of networks to return (1-1000) offset: Number of networks to skip

Returns: Paginated list of integration API networks

list_integration_sitesB

List sites via the integration API.

Returns UUID-based site identifiers suitable for use with other integration API tools in this module.

Args: settings: Application settings limit: Maximum number of sites to return (1-1000) offset: Number of sites to skip

Returns: Paginated list of integration API sites

list_integration_vpn_serversC

List VPN servers via the integration API.

Args: site_id: Site identifier settings: Application settings limit: Maximum number of servers to return (1-1000) offset: Number of servers to skip

Returns: Paginated list of VPN servers

list_integration_wansC

List WAN connections via the integration API.

Args: site_id: Site identifier settings: Application settings limit: Maximum number of WANs to return (1-1000) offset: Number of WANs to skip

Returns: Paginated list of WAN connections

list_integration_wifi_broadcastsC

List WiFi broadcasts (SSIDs) via the integration API.

Args: site_id: Site identifier settings: Application settings limit: Maximum number of broadcasts to return (1-1000) offset: Number of broadcasts to skip

Returns: Paginated list of WiFi broadcasts

health_checkA

Health check endpoint to verify server is running.

Returns: Status information

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
get_sites_resourceGet all UniFi sites. Returns: JSON string of sites list
get_site_manager_sites_resourceGet all sites from Site Manager API. Returns: JSON string of sites list
get_site_manager_health_resourceGet cross-site health metrics. Returns: JSON string of health metrics
get_site_manager_internet_health_resourceGet internet connectivity status. Returns: JSON string of internet health

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/enuno/unifi-mcp-server'

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