# go-unifi-mcp

MCP-сервер на Go, который даёт ИИ-ассистенту доступ к UniFi Network Controller: сайты, устройства, клиенты, сети, проброс портов, DNS и правила файрвола.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 6
- Автор: claytono
- Лицензия: MPL-2.0 · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/claytono/go-unifi-mcp
- Обновлён: 2026-10-24
- HTML: https://affpapa.org/nevibecode/mcp/go-unifi-mcp

## Что делает

Сервер оборачивает библиотеку go-unifi и генерирует инструменты из API самого контроллера. Поэтому покрытие операций обновляется вместе с версией UniFi, которую поддерживает go-unifi. Автор сделал проект, потому что не нашёл готового MCP-сервера с поддержкой правил файрвола v1 и v2 сразу и IPv6.

По умолчанию работает ленивый режим: регистрируются три мета-инструмента — `tool_index` для поиска по каталогу, `execute` для запуска одного инструмента и `batch` для параллельного запуска нескольких. Через них доступны 252 операции контроллера. Режим `eager` регистрирует все 252 инструмента напрямую и съедает около 55K токенов контекста — это для отладки или клиентов без LLM.

Перед запуском нужен доступ к контроллеру: либо API-ключ, либо локальный админ с логином и паролем. Задайте `UNIFI_HOST` и `UNIFI_API_KEY` (ключ создаётся в контроллере в Settings > Control Plane > Integrations), либо `UNIFI_HOST`, `UNIFI_USERNAME` и `UNIFI_PASSWORD`. Обновления идут по схеме read-modify-write: сервер читает текущий объект, подставляет ваши поля и отправляет целиком. Без `UNIFI_HOST` сервер не подключится к контроллеру.

## Требования
- Нужно: Docker

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add go-unifi-mcp -- docker run -i --rm ghcr.io/claytono/go-unifi-mcp:v0.3.1
```

### Codex

**Командой платформы**
```bash
codex mcp add go-unifi-mcp -- docker run -i --rm ghcr.io/claytono/go-unifi-mcp:v0.3.1
```

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "go-unifi-mcp": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "ghcr.io/claytono/go-unifi-mcp:v0.3.1"
            ]
        }
    }
}
```

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "go-unifi-mcp": {
            "type": "stdio",
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "ghcr.io/claytono/go-unifi-mcp:v0.3.1"
            ]
        }
    }
}
```

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add go-unifi-mcp docker run -i --rm ghcr.io/claytono/go-unifi-mcp:v0.3.1
```

## Когда брать
- посмотреть список клиентов и устройств в сети UniFi
- создать правило файрвола v2 или IPv6-правило
- настроить проброс портов через агента
- проверить DNS-записи на контроллере
- выполнить несколько операций UniFi одной пачкой

## Примеры запросов агенту
- Покажи все устройства в сайте `default` и их статус
- Добавь правило файрвола v2, разрешающее трафик из VLAN 20 в VLAN 30
- Настрой проброс порта 8443 на клиента `nas`

## Похожие
- [GitHub](https://affpapa.org/nevibecode/mcp/github.md) — MCP-сервер · ★ 33918
- [Netdata](https://affpapa.org/nevibecode/mcp/netdata.md) — MCP-сервер · ★ 81115
- [Oh My Posh Validator](https://affpapa.org/nevibecode/mcp/oh-my-posh-validator.md) — MCP-сервер · ★ 23643
- [Keploy](https://affpapa.org/nevibecode/mcp/keploy.md) — MCP-сервер · ★ 18727
- [Coder](https://affpapa.org/nevibecode/mcp/coder.md) — MCP-сервер · ★ 17160
- [mcp](https://affpapa.org/nevibecode/mcp/kubeshark-mcp.md) — MCP-сервер · ★ 12109

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
