# UniFi Protect MCP

Подключает контроллер UniFi Protect к ИИ-ассистентам. Помогает просматривать события камер, искать детекции и управлять подсветкой прямо из чата.

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

## Что делает

Сервер связывает модели вроде Claude Code или Codex с инфраструктурой UniFi Protect: видеокамерами и охранными датчиками. Он читает журнал событий. Ассистент может находить распознанные автомобильные номера или лица людей, а также запрашивать видеозаписи за нужные отрезки времени.

Все операции чтения безопасны. Любые изменения настроек оборудования или включение прожектора требуют обязательного подтверждения после предварительного просмотра параметров. Если контроллер вернёт ошибку при частичной записи, инструмент сообщит, какие именно значения успели примениться.

Для запуска требуется Python 3.13+. Без переменной `UNIFI_PROTECT_API_KEY` команды изменения громкости микрофона или режима HDR завершатся сбоем ещё до отправки. При отсутствии параметров подключения процесс стартует в изолированном режиме настройки и не обращается к контроллеру.

## Требования
- Нужно: Python и uv (команды через uvx)
- Переменные окружения: `UNIFI_HOST`, `UNIFI_USERNAME`, `UNIFI_PASSWORD`, `UNIFI_API_KEY`, `UNIFI_PORT`, `UNIFI_VERIFY_SSL` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

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

**Командой платформы**
```bash
claude mcp add --env UNIFI_HOST=<UNIFI_HOST> --env UNIFI_USERNAME=<UNIFI_USERNAME> --env UNIFI_PASSWORD=<UNIFI_PASSWORD> --env UNIFI_API_KEY=<UNIFI_API_KEY> --env UNIFI_PORT=<UNIFI_PORT> --transport stdio protect -- uvx unifi-protect-mcp
```
Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from unifi-protect-mcp <команда>

### Codex

**Командой платформы**
```bash
codex mcp add protect --env UNIFI_HOST=<UNIFI_HOST> --env UNIFI_USERNAME=<UNIFI_USERNAME> --env UNIFI_PASSWORD=<UNIFI_PASSWORD> --env UNIFI_API_KEY=<UNIFI_API_KEY> --env UNIFI_PORT=<UNIFI_PORT> -- uvx unifi-protect-mcp
```
Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from unifi-protect-mcp <команда>

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "protect": {
            "command": "uvx",
            "args": [
                "unifi-protect-mcp"
            ],
            "env": {
                "UNIFI_HOST": "<UNIFI_HOST>",
                "UNIFI_USERNAME": "<UNIFI_USERNAME>",
                "UNIFI_PASSWORD": "<UNIFI_PASSWORD>",
                "UNIFI_API_KEY": "<UNIFI_API_KEY>",
                "UNIFI_PORT": "<UNIFI_PORT>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from unifi-protect-mcp <команда>

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "protect": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "unifi-protect-mcp"
            ],
            "env": {
                "UNIFI_HOST": "<UNIFI_HOST>",
                "UNIFI_USERNAME": "<UNIFI_USERNAME>",
                "UNIFI_PASSWORD": "<UNIFI_PASSWORD>",
                "UNIFI_API_KEY": "<UNIFI_API_KEY>",
                "UNIFI_PORT": "<UNIFI_PORT>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from unifi-protect-mcp <команда>

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e UNIFI_HOST=<UNIFI_HOST> -e UNIFI_USERNAME=<UNIFI_USERNAME> -e UNIFI_PASSWORD=<UNIFI_PASSWORD> -e UNIFI_API_KEY=<UNIFI_API_KEY> -e UNIFI_PORT=<UNIFI_PORT> protect uvx unifi-protect-mcp
```
Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from unifi-protect-mcp <команда>

## Когда брать
- найти детекции людей или автомобилей на выбранных камерах за период
- проверить список камер с нестабильным сигналом или статусом офлайн
- получить отметки срабатывания охранных датчиков за день
- настроить чувствительность PIR-сенсора и таймер прожектора

## Примеры запросов агенту
- Покажи события умной детекции с камеры у входной двери за сегодня
- Найди записи с камеры на парковке с двух до пяти часов ночи
- Есть ли сейчас камеры со статусом офлайн или плохим качеством связи?

## Похожие
- [REA](https://affpapa.org/nevibecode/mcp/rea.md) — MCP-сервер · ★ 386989
- [World Monitor](https://affpapa.org/nevibecode/mcp/world-monitor.md) — MCP-сервер · ★ 89408
- [mcp](https://affpapa.org/nevibecode/mcp/kubeshark-mcp.md) — MCP-сервер · ★ 12109

_Часть страницы не вошла по размеру — она есть в HTML-версии._

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