UniFi Internal API MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| UNIFI_HOST | Yes | Controller URL (e.g. https://192.168.1.1) | |
| UNIFI_SITE | No | Site name | default |
| UNIFI_TOKEN | No | Pre-authenticated TOKEN cookie | |
| UNIFI_PASSWORD | No | Controller password | |
| UNIFI_READONLY | No | Block all write operations | true |
| UNIFI_USERNAME | No | Controller username | |
| UNIFI_SSL_VERIFY | No | Verify SSL certificates | false |
| UNIFI_IS_UNIFI_OS | No | UniFi OS controller (UDM/UDR/UCG) | true |
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
| Capability | Details |
|---|---|
| tasks | {
"list": {},
"cancel": {},
"requests": {
"tools": {
"call": {}
},
"prompts": {
"get": {}
},
"resources": {
"read": {}
}
}
} |
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| set_auth_tokenA | Set or update the browser TOKEN cookie for authentication. Use this when authentication fails or no token is configured. To get the token: log into the UniFi controller in a browser, open DevTools (Cmd+Option+I) > Application > Cookies, and copy the TOKEN value. |
| stat_sysinfoB | Fetch system information from the UniFi controller. |
| list_healthA | Fetch health metrics for the current site. |
| list_dashboardA | Fetch dashboard metrics for the current site. |
| stat_full_statusA | Fetch full controller status (system information). |
| list_selfA | Fetch information about the currently logged-in user. |
| list_settingsB | Fetch all site configuration settings. |
| list_country_codesA | Fetch available country codes (ISO 3166-1 numeric). |
| list_current_channelsA | Fetch currently allowed wireless channels. |
| list_port_configsB | Fetch switch port configurations. |
| list_extensionsB | Fetch VoIP extensions. |
| list_device_statesA | Return a mapping of device state codes to human-readable names. |
| custom_api_requestC | Make a custom API request to the controller. Use with care. |
| list_routingB | Fetch static routing settings, optionally filtered by route ID. |
| list_sitesA | List all sites managed by this UniFi controller. Returns basic attributes for each site including _id, desc (description), and name (short name). |
| stat_sitesA | Fetch statistics for all sites on this controller. Returns detailed statistics including number of devices, clients, guests, and health information for each site. |
| list_clientsA | List currently online (connected) clients, or fetch a single client by MAC address. |
| list_active_clientsA | List active clients using the v2 API with optional traffic and device filters. |
| list_clients_historyB | List offline client history using the v2 API. |
| stat_clientA | Fetch detailed statistics for a single client by MAC address. |
| list_guestsA | List guest devices seen within the specified time window. |
| list_usersA | List all known client devices, including those currently offline. |
| stat_allusersA | Fetch all users (wired and wireless) seen within the specified time window. |
| list_fingerprint_devicesC | Fetch client device fingerprint information. |
| list_devices_basicA | List all devices with basic properties only. Returns a lightweight device list with minimal attributes such as MAC address, model, type, and name. Faster than list_devices(). |
| list_devicesA | List devices with full detail, optionally filtered by MAC address(es). Returns comprehensive device information including model, firmware, uptime, configuration, port tables, radio tables, and statistics. |
| spectrum_scan_stateA | Check the state of an RF spectrum scan for an access point. Returns the current scan progress and results if the scan has completed. |
| list_rogue_apsA | List rogue (neighboring) access points detected by managed APs. Returns APs seen by your network that are not part of your UniFi deployment, within the specified time window. |
| list_known_rogue_apsA | List known rogue access points. Returns rogue APs that have been previously identified and marked as known in the controller. |
| list_hotspot_operatorsA | List all hotspot operators. |
| stat_voucherA | List hotspot vouchers, optionally filtered by creation time. |
| stat_paymentB | Fetch hotspot payment records. |
| list_wlan_confA | List WLAN configurations (wireless networks), or get a specific WLAN by ID. |
| list_wlan_groupsB | List WLAN groups. |
| list_networksA | List network configurations, or get a specific network by ID. |
| list_firewall_groupsA | List firewall groups, or get a specific group by ID. |
| list_firewall_rulesB | List all firewall rules. |
| stat_reportA | Fetch periodic statistics for site, AP, user, or gateway. Combines all stat report endpoints into one tool. Default time ranges: 5minutes=12h, hourly=7d, daily=52w, monthly=52w. |
| stat_speedtest_resultsA | Fetch speed test results. Defaults to past 24 hours. |
| stat_ips_eventsB | Fetch IPS/IDS events. Defaults to past 24 hours. |
| stat_sessionsB | Fetch login sessions. Defaults to past 7 days. |
| stat_sta_sessions_latestB | Fetch latest login sessions for a single client. |
| stat_authorizationsB | Fetch authorization records. Defaults to past 7 days. |
| list_eventsB | Fetch site events, sorted by most recent first. |
| list_alarmsB | Fetch alarms, optionally filtered. |
| count_alarmsA | Count alarms. Optionally count only non-archived (active) alarms. |
| list_adminsA | List admins for the current site. |
| list_all_adminsA | List all admins across all sites. |
| check_controller_updateB | Check for controller firmware updates. Returns latest known version info. |
| list_firmwareB | List firmware versions available or cached on the controller. |
| list_device_name_mappingsA | Fetch device name mappings (firmware bundles). Does not require site context. |
| list_backupsA | List available auto-backups. |
| list_dns_recordsA | List all static DNS records. |
| list_radius_profilesA | List all RADIUS profiles for the current site. |
| list_radius_accountsA | List all RADIUS user accounts for the current site. |
| list_tagsA | List all device tags. |
| get_tagA | Get a specific device tag by ID. |
| list_dpi_statsB | Fetch Deep Packet Inspection (DPI) statistics. |
| list_dpi_stats_filteredB | Fetch filtered DPI statistics by category or application. |
| list_port_forward_statsB | Fetch port forwarding statistics. |
| list_port_forwardingB | List port forwarding rules/settings. |
| get_system_logB | Fetch system log entries (v2 API). Defaults to past 7 days. |
| list_user_groupsB | List all user groups (bandwidth profiles). |
| list_ap_groupsA | List all AP groups. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/sevaepsteyn/unifi_internal_api_mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server