Administer a Zigbee2MQTT estate: health, mesh diagnostics, OTA, pairing, device management.
registry version 0.7.0
npm
npx -y zigbee2mqtt-mcpnpm
npx -y zigbee2mqtt-mcp@0.7.0
Pick your client — the config below is generated for this server (local stdio). Copy respects the “Pin version” switch above.
claude_desktop_config.json
{
"mcpServers": {
"zigbee2mqtt-mcp": {
"command": "npx",
"args": [
"-y",
"zigbee2mqtt-mcp"
],
"env": {
"Z2M_MQTT_URL": "<YOUR_Z2M_MQTT_URL>",
"Z2M_MQTT_PASSWORD": "<YOUR_Z2M_MQTT_PASSWORD>"
}
}
}
}{
"mcpServers": {
"zigbee2mqtt-mcp": {
"command": "npx",
"args": [
"-y",
"zigbee2mqtt-mcp@0.7.0"
],
"env": {
"Z2M_MQTT_URL": "<YOUR_Z2M_MQTT_URL>",
"Z2M_MQTT_PASSWORD": "<YOUR_Z2M_MQTT_PASSWORD>"
}
}
}
}Format verified against the official Claude Desktop docs ↗.
terminal
claude mcp add --env Z2M_MQTT_URL=<YOUR_Z2M_MQTT_URL> --env Z2M_MQTT_PASSWORD=<YOUR_Z2M_MQTT_PASSWORD> zigbee2mqtt-mcp -- npx -y zigbee2mqtt-mcp
claude mcp add --env Z2M_MQTT_URL=<YOUR_Z2M_MQTT_URL> --env Z2M_MQTT_PASSWORD=<YOUR_Z2M_MQTT_PASSWORD> zigbee2mqtt-mcp -- npx -y zigbee2mqtt-mcp@0.7.0
Format verified against the official Claude Code docs ↗.
.cursor/mcp.json
{
"mcpServers": {
"zigbee2mqtt-mcp": {
"command": "npx",
"args": [
"-y",
"zigbee2mqtt-mcp"
],
"env": {
"Z2M_MQTT_URL": "<YOUR_Z2M_MQTT_URL>",
"Z2M_MQTT_PASSWORD": "<YOUR_Z2M_MQTT_PASSWORD>"
}
}
}
}{
"mcpServers": {
"zigbee2mqtt-mcp": {
"command": "npx",
"args": [
"-y",
"zigbee2mqtt-mcp@0.7.0"
],
"env": {
"Z2M_MQTT_URL": "<YOUR_Z2M_MQTT_URL>",
"Z2M_MQTT_PASSWORD": "<YOUR_Z2M_MQTT_PASSWORD>"
}
}
}
}Format verified against the official Cursor docs ↗.
.vscode/mcp.json
{
"servers": {
"zigbee2mqtt-mcp": {
"command": "npx",
"args": [
"-y",
"zigbee2mqtt-mcp"
],
"env": {
"Z2M_MQTT_URL": "<YOUR_Z2M_MQTT_URL>",
"Z2M_MQTT_PASSWORD": "<YOUR_Z2M_MQTT_PASSWORD>"
}
}
}
}{
"servers": {
"zigbee2mqtt-mcp": {
"command": "npx",
"args": [
"-y",
"zigbee2mqtt-mcp@0.7.0"
],
"env": {
"Z2M_MQTT_URL": "<YOUR_Z2M_MQTT_URL>",
"Z2M_MQTT_PASSWORD": "<YOUR_Z2M_MQTT_PASSWORD>"
}
}
}
}Format verified against the official VS Code docs ↗.
mcp_config.json
{
"mcpServers": {
"zigbee2mqtt-mcp": {
"command": "npx",
"args": [
"-y",
"zigbee2mqtt-mcp"
],
"env": {
"Z2M_MQTT_URL": "<YOUR_Z2M_MQTT_URL>",
"Z2M_MQTT_PASSWORD": "<YOUR_Z2M_MQTT_PASSWORD>"
}
}
}
}{
"mcpServers": {
"zigbee2mqtt-mcp": {
"command": "npx",
"args": [
"-y",
"zigbee2mqtt-mcp@0.7.0"
],
"env": {
"Z2M_MQTT_URL": "<YOUR_Z2M_MQTT_URL>",
"Z2M_MQTT_PASSWORD": "<YOUR_Z2M_MQTT_PASSWORD>"
}
}
}
}Format verified against the official Windsurf docs ↗.
Defined in the server's official registry manifest. Required secrets are shown as <YOUR_…> placeholders in the configs above.
Z2M_MQTT_URL required secret — MQTT broker URL used by Zigbee2MQTT, e.g. mqtt://192.168.1.10:1883. Supports mqtt://, mqtts://, ws:// and wss://. This is the broker, not the Zigbee2MQTT frontend port.Z2M_MQTT_USERNAME — MQTT broker username, if the broker requires authentication.Z2M_MQTT_PASSWORD secret — MQTT broker password, if the broker requires authentication.Z2M_BASE_TOPIC — Zigbee2MQTT base topic. Must match mqtt.base_topic in configuration.yaml. Defaults to zigbee2mqtt.Z2M_WRITE_MODE — Tool exposure tier: off (read-only), safe (default; adds non-destructive writes such as pairing, options, rename and binding) or full (adds device removal, OTA flashing, Touchlink and bridge restart).⭐ 31 stars · 最近更新于 35 天前 · MIT license
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…
Summary from the project README — github.com/alexpfau/zigbee2mqtt-mcp
Distributed as npm, listed under Health & Medical. Review our MCP security guide before granting access to real data.
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
Run the install command shown above, then paste the config for your client (Claude Desktop, Claude Code, Cursor, VS Code or Windsurf) into its MCP settings and restart the client.
The MCP server itself is free to install. The source is public on https://github.com/alexpfau/zigbee2mqtt-mcp. Any third-party service it calls may require its own API key and account.
Any MCP-compatible client can use it, including Claude Desktop, Claude Code, Cursor, VS Code, Windsurf and custom agents.
Publish this server? Link back with a badge on your README or site — copy either snippet.
Markdown
[](https://mcpnav.net/server/zigbee2mqtt-mcp/)
HTML
<a href="https://mcpnav.net/server/zigbee2mqtt-mcp/"><img src="https://mcpnav.net/badge/zigbee2mqtt-mcp.svg" alt="Listed on MCPNav" height="20"></a>