MCP.Market

Zigbee2mqtt MCP server

by alexpfau·io.github.alexpfau/zigbee2mqtt-mcp·v0.7.0·31 stars

Administer a Zigbee2MQTT estate: health, mesh diagnostics, OTA, pairing, device management.

B83/100grade B
What users say
No reviews yet
Be the first
Safety scan
B83/100

full report

Adoption
Growing

31 stars50 downloads/wk

Reviews

Write one

Nobody 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

no findings
  • 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
Overall 83/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

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
Add to Cursor

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-mcp

VS 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.