zont-mcp
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
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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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 logRelease 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 logSecurity 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.
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 logA 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.