Skip to main content

zont-mcp

README на русском

A local MCP server that gives AI assistants natural-language control over ZONT heating systems (BAXI Connect+ and compatible controllers) — reading state, switching modes, boiler telemetry, diagnostics and configuration writes.

Demo

A conversation once the server is connected to any MCP client (Claude, Cursor, VS Code, …):

You:      Any boiler errors right now? If yes — what should I do?
Assistant: (calls get_boiler_errors)
          No active faults. Fault flags: none.
          Telemetry: flow temp 54.2 °C, setpoint 55 °C, modulation 34%, status: ch, flame.

You:      We're cold. Run a diagnosis.
Assistant: (calls diagnose_heating)
          Status: warning. The "Boiler circuit" has no active mode — it was
          lost after a controller reboot. Fix: enable the mode.
          (calls set_heating_mode, then get_device_state to verify)
          Done — mode "Comfort" is active, target 21.5 °C.

How it works:

┌─────────────┐   MCP (stdio)   ┌──────────┐   HTTPS    ┌─────────────────┐
│ AI assistant │ ◄──────────────► │ zont-mcp │ ─────────► │  ZONT cloud API │
└─────────────┘                  └──────────┘            └────────┬────────┘
                                                                     │
                                                            ┌────────▼────────┐
                                                            │  ZONT controller │
                                                            │  + boiler (bus)  │
                                                            └─────────────────┘

The server runs locally, opens no network ports and talks to exactly two official ZONT endpoints over HTTPS (my.zont.online/api and lk.zont-online.ru/api).

Quick start

Requirements: Python 3.11+, a ZONT account (zont-online.ru) with a registered device, any MCP-compatible client.

pip install zont-mcp        # from PyPI (Python Package Index)
# — or from source —
git clone https://github.com/MAB2908/zont-mcp.git && cd zont-mcp
python -m venv .venv && source .venv/bin/activate   # Windows: .venv\Scripts\activate
pip install -e .

Get your API token: set ZONT_LOGIN + ZONT_PASSWORD, run zont-mcp once — the token is printed to stderr; then keep only the token.

Add to your MCP client (Claude Desktop claude_desktop_config.json shown; Cursor, VS Code and others use the same fields — see docs/setup.md for all snippets):

{
  "mcpServers": {
    "zont": {
      "command": "zont-mcp",
      "env": {
        "ZONT_CLIENT_EMAIL": "your@email.com",
        "ZONT_TOKEN": "your_token"
      }
    }
  }
}

Ask your assistant:

Show the list of my ZONT devices.

Credentials live only in environment variables / a local .env file — never in code. Full installation and configuration guide: docs/setup.md (по-русски).

Features

  • 38 tools in 7 groups: device state, heating control, I/O and guard zones, history, analytics, configuration, commands & archives
  • Boiler OpenTherm telemetry — flow temperature, setpoint, burner modulation, status flags
  • Diagnostics with recommendations — known failure signatures: lost bus connection, mode reset after reboot, low pressure, dead radio sensors
  • Configuration writes at web-cabinet level — circuits, modes, sensors, weather-compensation curve; every write is backed up and verified by re-reading
  • Works with any MCP client — Claude Desktop, Claude Code, Cursor, VS Code, ZCode
  • Safety by design — dangerous firmware commands (restart, deletion, SMS/calls) deliberately excluded; device passwords masked in responses

Comparison

The closest analogue is defanator/zont_api — a Python library for the ZONT API. zont-mcp used it as a knowledge source for the z3k_boiler_adapter data format.

Aspect defanator/zont_api zont-mcp
Purpose Python library for developers MCP server for AI assistants
Interface import zont_api in code Natural language via any MCP client
Boiler control No Yes — modes, temperatures, relays
Configuration writes No Yes — circuits, modes, sensors, weather curve
Radio sensor history No Yes
Diagnostics & analytics No Yes
Event journal No Yes
Prometheus exporter / CSV Yes No
Tests pytest, tox, CI unittest + GitHub Actions

Choose zont-mcp when you want to talk to your heating system; choose zont_api when you build your own Python software against the API.

Documentation & more examples

Document Purpose
docs/setup.md Full installation guide: token, all MCP clients, troubleshooting (по-русски)
AGENTS.md Working rules for AI agents (English + Russian)
CAPABILITIES.md Everything the server can and cannot do; z3k command dictionary
examples/heating-check/ Example: full diagnostic session
examples/vacation-mode/ Example: "leaving for a week" scenario
examples/python-client/ Example: use the API client directly from Python
CHANGELOG.md Release history (English + Russian)
SECURITY.md Credential handling, vulnerability reporting

Badges

Python 3.11+ License: MIT Tests MCP

Contributing

See CONTRIBUTING.md — how to set up the project, run tests and submit changes. Simple starter tasks are marked good first issue.

License

MIT — see LICENSE. This is an independent project, not affiliated with ZONT or Micro Line; it uses only the official public ZONT API.

Metadata

Release files for zont-mcp 1.3.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for zont-mcp 1.3.2
File Size Uploaded Provenance Actions
zont_mcp-1.3.2.tar.gz 42.6 kB With provenance Details for zont_mcp-1.3.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for zont-mcp 1.3.2
File Interpreter ABI Platform Actions
zont_mcp-1.3.2-py3-none-any.whl Python 3 none any Details for zont_mcp-1.3.2-py3-none-any.whl

Total release size: 87.9 kB

Release files / zont_mcp-1.3.2.tar.gz

Download URL zont_mcp-1.3.2.tar.gz
Size 42.6 kB
Tags Source
SHA-256 checksum
How to use checksums
82bcf7818e3cdd07734059e2453c98183f75abe44c26882e7d5fd6343369af22
BLAKE2b-256 checksum
How to use checksums
42a571e86de765e95a16f806376c52f7afbe9566f47380e6b3fba1261d869282
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 5, 2026.

Transparency log

Release files / zont_mcp-1.3.2-py3-none-any.whl

Download URL zont_mcp-1.3.2-py3-none-any.whl
Size 45.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c074bea15b4676480832ef27bbd51df5556be43021e7fe2028d3e7d89d9e805e
BLAKE2b-256 checksum
How to use checksums
70bb94b8fa95890cfc8e88928d870e0f5d48f639a5de41d665bbd2a37d0a7457
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 5, 2026.

Transparency log

Security for zont-mcp 1.3.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for zont_mcp-1.3.2.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 5, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.3.2 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page