Skip to main content
Glama
README.md
# zont-mcp

MCP-сервер для [API ZONT](https://zont-online.ru/api/docs/) — позволяет любому MCP-клиенту
(Claude, и т.п.) читать состояние устройств ZONT / Mega SX и управлять ими: охрана, сирена,
блокировка двигателя, автозапуск, термостат, история событий и данных, архивы.

## Настройка

Сервер получает учётные данные ZONT из переменных окружения:

| Переменная | Обязательна | Описание |
|---|---|---|
| `ZONT_CLIENT` | да | Ваш e-mail или контакт — отправляется в заголовке `X-ZONT-Client` |
| `ZONT_TOKEN` | нет* | Аутентификационный токен ZONT (предпочтительный способ) |
| `ZONT_LOGIN` | нет* | Логин ZONT (если токена нет) |
| `ZONT_PASSWORD` | нет* | Пароль ZONT (если токена нет) |

\* нужно задать либо `ZONT_TOKEN`, либо пару `ZONT_LOGIN`/`ZONT_PASSWORD`.

Токен можно получить один раз через инструмент `zont_get_authtoken` (запустив сервер с
логином/паролем), а затем использовать его вместо пароля.

### Пример конфигурации для Claude Code / Claude Desktop

```json
{
  "mcpServers": {
    "zont": {
      "command": "uvx",
      "args": ["zont-mcp"],
      "env": {
        "ZONT_CLIENT": "you@example.com",
        "ZONT_TOKEN": "xxxxxxxxxxxxxxxxxx"
      }
    }
  }
}
```

Пакет пока не опубликован в PyPI — до публикации запускайте из исходников:
`uvx --from /absolute/path/to/zont-mcp zont-mcp`, либо напрямую из git:
`uvx --from git+https://github.com/danilmolkov/zont-mcp zont-mcp`.

## Инструменты

| Инструмент | Метод ZONT API | Описание |
|---|---|---|
| `zont_get_authtoken` | `get_authtoken` | Получить токен по логину/паролю |
| `zont_list_devices` | `devices` | Список устройств и их настроек/состояний |
| `zont_add_device` | `add_device` | Добавить устройство |
| `zont_delete_device` | `delete_device` | Удалить устройство / передать другому пользователю |
| `zont_update_device` | `update_device` | Изменить настройки устройства |
| `zont_set_io_port` | `set_io_port` | Управление охраной/сиреной/блокировкой/автозапуском |
| `zont_send_custom_command` | `send_custom_command` | Отправить пользовательскую команду |
| `zont_load_data` | `load_data` | История датчиков, термостата, GPS, событий и т.д. |
| `zont_raw_events` | `raw_events` | История событий устройства |
| `zont_generate_archive` | `generate_archive` | Запросить создание архива данных |
| `zont_download_archive` | `download_generated_archive` | Скачать готовый архив на диск |

## Разработка

```bash
uv sync            # установить зависимости
uv run zont-mcp     # запустить сервер напрямую
```

TDQS

A3.8/5.0

Scored across 12 tools

Disambiguation3/5

Several tools overlap in purpose: zont_load_data can fetch events while zont_raw_events is dedicated to events, and zont_update_device can change temperatures that zont_send_z3k_command also controls. The command-sending trio (set_io_port, send_custom_command, send_z3k_command) is differentiated by device type and command source, but an agent may still struggle to pick the right one without careful reading.

Naming Consistency4/5

All tools use the zont_ prefix and snake_case, with a mostly consistent verb_noun pattern (get, list, add, delete, update, generate, download, set, send, load). The one deviation is zont_raw_events, which uses an adjective rather than a verb, but this is a minor inconsistency.

Tool Count5/5

12 tools are well-scoped for a device management server covering authentication, CRUD, commands, data retrieval, and archives. Each tool earns its place without excessive granularity or missing functionality.

Completeness5/5

The surface covers the full device lifecycle: authenticate, list/add/update/delete devices, send various commands, retrieve history and events, and generate/download archives. No obvious dead ends for typical ZONT API workflows.

Maintenance

ActivityMaintained
ResponsivenessNo issues