Runifi MCP server
{
"mcpServers": {
"dinglebear-runifi": {
"command": "npx",
"args": [
"-y",
"@dinglebear/runifi@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-runifi": {
"command": "npx",
"args": [
"-y",
"@dinglebear/runifi@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-runifi": {
"command": "npx",
"args": [
"-y",
"@dinglebear/runifi@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-runifi": {
"command": "npx",
"args": [
"-y",
"@dinglebear/runifi@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-runifi": {
"command": "npx",
"args": [
"-y",
"@dinglebear/runifi@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 @dinglebear/runifiversion 0.2.5
What it does
MCP server for querying and managing UniFi Network controllers. Exposes read operations on clients, devices, WiFi networks, health, and alarms, plus mutating actions for authorized users. Intended for developers integrating UniFi data into agents and CLI workflows.
- Query connected wireless and wired clients, network devices, and WLAN configurations from a UniFi controller.
- Check site health status, active alarms, and recent events to monitor network state.
- Execute network mutations like creating rules or modifying networks when MCP auth scope includes admin permissions.
Tools this server exposes
| Tool | Does |
|---|---|
| unifi | Dispatch read and write actions against UniFi Network API, including list_clients, list_devices, list_networks, list_wifi, get_system_info, and generated offici |
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.