Skip to main content
Glama

zont-mcp

MCP-сервер для API ZONT — позволяет любому 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

{
  "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.

Related MCP server: StarLine 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_send_z3k_command

send_z3k_command (недокументирован)

Команды для z3k-устройств (например, целевая температура контура отопления) — см. docs/z3k-api.md

zont_load_data

load_data

История датчиков, термостата, GPS, событий и т.д.

zont_raw_events

raw_events

История событий устройства

zont_generate_archive

generate_archive

Запросить создание архива данных

zont_download_archive

download_generated_archive

Скачать готовый архив на диск

Разработка

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

Available Tools

12 tools
zont_add_deviceA

Добавить новое устройство в аккаунт пользователя ZONT.

devtype: идентификатор типа устройства, например T100, T102, L1000, ZTC-700, SX250 и т.д. name: название устройства для пользователя. serial: серийный номер устройства. timezone: часовой пояс устройства. tel_password: телефонный пароль для GSM-устройств (только цифры). notes: произвольные заметки об устройстве. wifi_credentials: параметры Wi-Fi сетей вида [{"ssid": ..., "password": ...}] (только для устройств с Wi-Fi). boiler_vendor: производитель котла. boiler_model: модель котла.

Inputs: name (required), serial (required), devtype (required), timezone (required), +5 more. Returns: object

zont_delete_deviceA

Удалить устройство из аккаунта пользователя ZONT (или передать другому пользователю).

device_id: ID устройства. transfer: передать устройство другому пользователю вместо удаления. transfer_username: логин пользователя-получателя (только если transfer=true). clear_access: отозвать доступ других пользователей к устройству. clear_data: удалить все накопленные данные устройства.

Inputs: device_id (required), transfer, clear_data, clear_access, +1 more. Returns: object

zont_download_archiveA

Скачать zip-архив, ранее созданный zont_generate_archive, и сохранить на диск.

archive_id: идентификатор архива, полученный от zont_generate_archive. output_path: путь к файлу, куда сохранить скачанный zip-архив.

Inputs: archive_id (required), output_path (required). Returns: object

zont_generate_archiveA

Запросить создание архива со всеми данными устройства за период времени.

Возвращает archive_id, который затем нужно передать в zont_download_archive.

device_id: ID устройства. mintime: начало диапазона (unix time, включительно). maxtime: конец диапазона (unix time, включительно). split_by: разбиение файлов внутри архива — по дням ("days") или по месяцам ("months").

Inputs: maxtime (required), mintime (required), split_by (required), device_id (required). Returns: object

zont_get_authtokenA

Получить долгоживущий аутентификационный токен ZONT по логину/паролю.

Требует, чтобы сервер был запущен с ZONT_LOGIN и ZONT_PASSWORD. Полученный токен можно передать в переменную окружения ZONT_TOKEN для последующих запусков.

client_name: человекопонятное название приложения, запрашивающего токен.

Inputs: client_name (required). Returns: object

zont_list_devicesB

Получить список всех устройств пользователя ZONT и их настроек.

load_io: возвращать ли в поле io текущие состояния каждого устройства.

Inputs: load_io. Returns: object

zont_load_dataA

Загрузить историю данных устройств.

Показания температурных датчиков, работа термостата, GPS-треки, события, состояние контроллера и т.д. Можно запросить несколько устройств и типов данных за один вызов. Временные метки — unix time (секунды с 1970-01-01 UTC).

requests: список запросов вида {"device_id": int, "data_types": [str, ...], "mintime"?: int, "maxtime"?: int}. data_types, например: temperature, thermostat_work, gps, events, custom_controls, z3k_temperature, z3k_boiler_adapter, ztc_state.

Inputs: requests (required). Returns: object

zont_raw_eventsA

Получить историю событий устройства за заданный промежуток времени.

Постановка/снятие с охраны, тревоги, GPS/GSM, автозапуск и т.д.

device_id: ID устройства. mintime: начало диапазона (unix time, включительно). maxtime: конец диапазона (unix time, включительно). only: возвращать только события этих типов. except_: не возвращать события этих типов (соответствует полю "except" в API).

Inputs: maxtime (required), mintime (required), device_id (required), only, +1 more. Returns: object

zont_send_custom_commandB

Отправить устройству (ZTC-7xx, Mega SX) пользовательскую команду.

Команды заданы в настроечной утилите. Идентификатор команды берётся из настройки custom_controls устройства (см. zont_list_devices).

device_id: ID устройства. command_id: ID команды.

Inputs: device_id (required), command_id (required). Returns: object

zont_send_z3k_commandA

Отправить недокументированную z3k-команду устройству (H-2000+/H1V/Climatic и т.п.).

ВНИМАНИЕ: метод send_z3k_command отсутствует в официальной документации ZONT API. Формат восстановлен вручную перехватом сетевых запросов веб-интерфейса ZONT (my.zont.online) — используй осторожно и проверяй результат через zont_list_devices.

Известный пример: изменение целевой температуры контура отопления — command_name="TargetTemperature", object_id=<id контура из z3k_config.heating_circuits или z3k_config.boiler_adapters>, command_args={"value": <новая температура>}.

device_id: ID устройства. object_id: ID объекта z3k (например, id отопительного контура). command_name: имя команды (например "TargetTemperature"). command_args: аргументы команды, например {"value": 19}. firmware_version: версия прошивки устройства (из devices[].firmware_version[0]); если не передать, будет опущена в запросе. is_guaranteed: требовать ли гарантированную доставку команды (по умолчанию true).

Inputs: device_id (required), object_id (required), command_args (required), command_name (required), +2 more. Returns: object

zont_set_io_portA

Отправить устройству команду на изменение состояния.

Управляет охраной (guard-state), сиреной (siren), блокировкой двигателя (engine-block), подогревателем (webasto) или автозапуском (auto-ignition). Команда доставляется, только когда устройство на связи.

portname: имя состояния, которым нужно управлять. type: тип значения — "string" для guard-state, "auto-ignition" для auto-ignition, "bool" для остальных. value: требуемое значение — true/false для bool; "enabled"/"disabled" для guard-state; объект {"state": ..., "time"?: ...} для auto-ignition.

Inputs: type (required), value (required), portname (required), device_id (required). Returns: object

zont_update_deviceA

Изменить настройки устройства ZONT.

Например режим термостата, целевые температуры, доверенные номера и т.д. Передайте только те поля настроек, которые нужно изменить — остальные сохранят прежние значения. Полный список возможных настроек описан в разделе «Параметры устройств» документации ZONT API (общие, беспроводная сеть, автомобиль, отопление).

device_id: ID устройства. settings: объект настроек устройства, которые нужно изменить, например {"thermostat_mode_temps": {"comfort": 21}}.

Inputs: settings (required), device_id (required). Returns: object

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    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

    ActivitySlowing
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      B
      maintenance
      An MCP server that connects AI assistants to the ZONT heating system via the official REST API. It enables users to monitor device states, control heating modes, and perform diagnostics using natural language.
      1
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      Enables control and monitoring of an ADT Control / Alarm.com security system from MCP-compatible hosts, including checking system and device state, reviewing activity, and safely arming, disarming, locking, or adjusting devices through confirmation-gated actions and a local audit trail.
      11
      MIT