Zigbee2mqtt MCP server
io.github.alexpfau/zigbee2mqtt-mcp·v0.7.0·31 starsAdminister a Zigbee2MQTT estate: health, mesh diagnostics, OTA, pairing, device management.
31 stars50 downloads/wk
Reviews
Write oneNobody has reviewed Zigbee2mqtt yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Zigbee2mqtt tools
No tool declarations could be read from the package source. They show once the server is installed.
Public scan report
scanner v0.1.9 · 2026-09-23 · same rubric, same numbers if you re-run it
- Code scan9 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenancelast push 5 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How Zigbee2mqtt compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 83/100
- higher than 65% of 48,255 servers
- GitHub stars
- 31
- more than 92% of 28,688 servers
- Downloads a week
- 50
- more than 42% of 12,191 servers with a package
Install Zigbee2mqtt in Claude Code, Cursor or VS Code
Runs npx -y zigbee2mqtt-mcp on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add zigbee2mqtt-mcp -- npx -y zigbee2mqtt-mcp
What the publisher says
From the Zigbee2mqtt repository's README, as published. We do not edit it. Read it on GitHub
zigbee2mqtt-mcp
A Model Context Protocol server for administering a Zigbee2MQTT estate.
Most Zigbee integrations already let an assistant turn a light on. This one is for the layer underneath: mesh health, weak links, devices that keep rejoining, stale batteries, firmware updates, pairing, binding, reporting intervals and device options — the things you normally open the Zigbee2MQTT frontend for.
It talks directly to the Zigbee2MQTT MQTT bridge API, so it works regardless of whether you use Home Assistant, Node-RED, openHAB or nothing at all. Tested against Zigbee2MQTT 2.x; several tools depend on bridge endpoints that only exist there, including bridge/health, device/binds/clear and the OTA scheduling topics.
Why this exists
If you already run Home Assistant, your Zigbee devices are exposed there and an assistant can control them. What Home Assistant does not expose is the bridge itself: link quality, mesh topology, interview state, OTA availability, permit_join, device options, bindings and reporting configuration. This server fills exactly that gap.
Design
- No database. Zigbee2MQTT publishes its bridge topics as retained messages, so a fresh subscription yields a complete picture in a few hundred milliseconds. The server keeps only the latest payload per topic in memory.
- No daemon. Pure stdio. It starts and dies with the MCP session.
- Correlated requests. Every bridge/request/ carries a transaction id and is matched to its bridge/response/, so concurrent calls cannot cross wires.
- Tiered writes. Destructive operations are gated behind a write mode and an explicit confirm argument.
Install
Requires Node.js 22 or newer and network access to the MQTT broker that Zigbee2MQTT uses.
npx zigbee2mqtt-mcpVS Code / GitHub Copilot
Add to your MCP configuration:
{
"servers": {
"zigbee2mqtt": {
"command": "npx",
"args": ["-y", "zigbee2mqtt-mcp"],
"env": {
"Z2M_MQTT_URL": "mqtt://192.168.1.10:1883",
"Z2M_MQTT_USERNAME": "mqtt",
"Z2M_MQTT_PASSWORD": "${input:z2mPassword}"
}
}
}
}Claude Desktop
{
"mcpServers": {
"zigbee2mqtt": {
"command": "npx",
"args": ["-y", "zigbee2mqtt-mcp"],
"env": {
"Z2M_MQTT_URL": "mqtt://192.168.1.10:1883"
}
}
}
}Point Z2MMQTTURL at your MQTT broker, not at the Zigbee2MQTT frontend port. If Zigbee2MQTT's configuration.yaml says mqtt.server: mqtt://192.168.1.10:1883, use that value verbatim.
Behind a corporate npm proxy? If npm config get registry is not https://registry.npmjs.org/, your proxy's upstream feed may not carry this package. Add an explicit override to the args rather than changing your global registry:
"args": ["-y", "--registry", "https://registry.npmjs.org/", "zigbee2mqtt-mcp"]
Configuration
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Zigbee2mqtt: common questions
- Is Zigbee2mqtt MCP server safe?
- Mostly: it is graded B (83/100). Read the Zigbee2mqtt safety report
- How do I install Zigbee2mqtt?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Zigbee2mqtt need an API key?
- Yes. The registry entry asks for
Z2M_MQTT_URL,Z2M_MQTT_PASSWORD. - Is Zigbee2mqtt maintained?
- The last commit was 47 days ago (2026-09-18). The latest release is v0.7.0.
- How does Zigbee2mqtt compare with other MCP servers?
- safety score 83/100 (higher than 65% of 48,255 servers); github stars 31 (more than 92% of 28,688 servers); downloads a week 50 (more than 42% of 12,191 servers with a package). Full comparison.