Unifi R MCP server
{
"mcpServers": {
"dinglebear-unifi-r": {
"command": "npx",
"args": [
"-y",
"unifi-rmcp@latest"
],
"env": {
"UNIFI_RMCP_RELEASE_BASE_URL": "https://...",
"UNIFI_API_KEY": "<unifi_api_key>",
"UNIFI_URL": "https://...",
"UNIFI_SITE_ID": "<unifi_site_id>",
"UNIFI_MCP_TOKEN": "<unifi_mcp_token>",
"UNIFI_MCP_PUBLIC_URL": "https://..."
}
}
}
}{
"mcpServers": {
"dinglebear-unifi-r": {
"command": "npx",
"args": [
"-y",
"unifi-rmcp@latest"
],
"env": {
"UNIFI_RMCP_RELEASE_BASE_URL": "https://...",
"UNIFI_API_KEY": "<unifi_api_key>",
"UNIFI_URL": "https://...",
"UNIFI_SITE_ID": "<unifi_site_id>",
"UNIFI_MCP_TOKEN": "<unifi_mcp_token>",
"UNIFI_MCP_PUBLIC_URL": "https://..."
}
}
}
}{
"mcpServers": {
"dinglebear-unifi-r": {
"command": "npx",
"args": [
"-y",
"unifi-rmcp@latest"
],
"env": {
"UNIFI_RMCP_RELEASE_BASE_URL": "https://...",
"UNIFI_API_KEY": "<unifi_api_key>",
"UNIFI_URL": "https://...",
"UNIFI_SITE_ID": "<unifi_site_id>",
"UNIFI_MCP_TOKEN": "<unifi_mcp_token>",
"UNIFI_MCP_PUBLIC_URL": "https://..."
}
}
}
}{
"servers": {
"dinglebear-unifi-r": {
"command": "npx",
"args": [
"-y",
"unifi-rmcp@latest"
],
"env": {
"UNIFI_RMCP_RELEASE_BASE_URL": "${input:unifi_rmcp_release_base_url}",
"UNIFI_API_KEY": "${input:unifi_api_key}",
"UNIFI_URL": "${input:unifi_url}",
"UNIFI_SITE_ID": "${input:unifi_site_id}",
"UNIFI_MCP_TOKEN": "${input:unifi_mcp_token}",
"UNIFI_MCP_PUBLIC_URL": "${input:unifi_mcp_public_url}"
}
}
},
"inputs": [
{
"id": "unifi_rmcp_release_base_url",
"type": "promptString",
"description": "Unifi rmcp release base url",
"password": true
},
{
"id": "unifi_api_key",
"type": "promptString",
"description": "Unifi api key",
"password": true
},
{
"id": "unifi_url",
"type": "promptString",
"description": "Unifi url",
"password": true
},
{
"id": "unifi_site_id",
"type": "promptString",
"description": "Unifi site id",
"password": true
},
{
"id": "unifi_mcp_token",
"type": "promptString",
"description": "Unifi mcp token",
"password": true
},
{
"id": "unifi_mcp_public_url",
"type": "promptString",
"description": "Unifi mcp public url",
"password": true
}
]
}{
"mcpServers": {
"dinglebear-unifi-r": {
"command": "npx",
"args": [
"-y",
"unifi-rmcp@latest"
],
"env": {
"UNIFI_RMCP_RELEASE_BASE_URL": "https://...",
"UNIFI_API_KEY": "<unifi_api_key>",
"UNIFI_URL": "https://...",
"UNIFI_SITE_ID": "<unifi_site_id>",
"UNIFI_MCP_TOKEN": "<unifi_mcp_token>",
"UNIFI_MCP_PUBLIC_URL": "https://..."
}
}
}
}file .mcp.json (in your project root)file claude_desktop_config.jsonfile ~/.cursor/mcp.jsonfile .vscode/mcp.jsonfile ~/.codeium/windsurf/mcp_config.jsoninstall npx -y unifi-rmcpversion 0.2.4
What it does
Exposes a UniFi Network controller through MCP tools and a CLI. Agents can inspect clients, devices, WiFi networks, health status, alarms, and events; network mutations require appropriate authorization. Intended for developers building on UniFi infrastructure.
- Query connected wireless and wired clients, network devices, WLAN configurations, and controller health status.
- Retrieve active alarms, recent events, and controller system information from a UniFi deployment.
- Execute authorized network mutations through generated actions when MCP auth scope permits unifi:admin access.
Tools this server exposes
| Tool | Does |
|---|---|
| unifi | Dispatch UniFi Network controller operations including read actions (list_clients, list_devices, list_networks, get_system_info, list_alarms, list_events), offi |
Before you enable it
An MCP server runs with whatever access you give it. Start with a development account rather than production, and check which tools the server exposes before you let an agent call them unattended.