MCP Hub
Back to servers

unifi-mcp

MCP server implementation for the UniFi network application

GitHub
Stars
198
Forks
41
Updated
Mar 17, 2026
Validated
Mar 18, 2026

UniFi MCP

MCP servers that expose UniFi controller functionality as structured tools for LLMs, agents, and automation platforms.

PyPI License: MIT Python 3.13+

Servers

ServerStatusToolsPackage
NetworkStable91unifi-network-mcp
ProtectComing Soon
AccessPlanned

What is this?

UniFi MCP is a collection of Model Context Protocol servers that let AI assistants and automation tools interact with Ubiquiti UniFi controllers. Each server targets a specific UniFi application (Network, Protect, Access) and exposes its functionality as MCP tools — queryable, composable, and safe by default.

Quick Start

The fastest way to run the Network server:

# Using uvx (recommended)
uvx unifi-network-mcp

# Using Docker
docker run -i --rm \
  -e UNIFI_HOST=192.168.1.1 \
  -e UNIFI_USERNAME=admin \
  -e UNIFI_PASSWORD=secret \
  ghcr.io/sirkirby/unifi-network-mcp:latest

For Claude Desktop, add to your claude_desktop_config.json:

{
  "mcpServers": {
    "unifi": {
      "command": "uvx",
      "args": ["unifi-network-mcp"],
      "env": {
        "UNIFI_HOST": "192.168.1.1",
        "UNIFI_USERNAME": "admin",
        "UNIFI_PASSWORD": "your-password"
      }
    }
  }
}

Configuration

Set these environment variables (or use a .env file):

VariableRequiredDescription
UNIFI_HOSTYesController IP or hostname
UNIFI_USERNAMEYesLocal admin username
UNIFI_PASSWORDYesAdmin password
UNIFI_API_KEYNoOfficial UniFi API key (dual auth)

For the full configuration reference including permissions, transports, and advanced options, see the Network server docs.

Architecture

This is a monorepo with shared packages:

apps/
  network/          # UniFi Network MCP server (stable, 91 tools)
packages/
  unifi-core/       # Shared UniFi connectivity (auth, detection, retry)
  unifi-mcp-shared/ # Shared MCP patterns (permissions, confirmation, lazy loading)
docs/               # Ecosystem-level documentation

Each server in apps/ is an independent Python package that depends on the shared packages. The shared packages ensure consistent behavior across all servers — same permission model, same confirmation flow, same lazy tool loading.

See docs/ARCHITECTURE.md for details.

Roadmap

Protect and Access servers are planned for future phases. See the ecosystem design spec for the full roadmap.

Contributing

See CONTRIBUTING.md for the development workflow, including how to work with the monorepo, run tests, and submit PRs.

License

MIT

Reviews

No reviews yet

Sign in to write a review