NestDaddy

Zigbee2Mqtt Mcp

io.github.alexpfau/zigbee2mqtt-mcp · v0.7.0

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

Connect Runs on your machine

Terminal
claude mcp add zigbee2mqtt-mcp -e Z2M_MQTT_URL=<Z2M_MQTT_URL> -e Z2M_MQTT_USERNAME=<Z2M_MQTT_USERNAME> -e Z2M_MQTT_PASSWORD=<Z2M_MQTT_PASSWORD> -e Z2M_BASE_TOPIC=<Z2M_BASE_TOPIC> -e Z2M_WRITE_MODE=<Z2M_WRITE_MODE> -- npx -y [email protected]
claude_desktop_config.json
{
  "mcpServers": {
    "zigbee2mqtt-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "Z2M_MQTT_URL": "<Z2M_MQTT_URL>",
        "Z2M_MQTT_USERNAME": "<Z2M_MQTT_USERNAME>",
        "Z2M_MQTT_PASSWORD": "<Z2M_MQTT_PASSWORD>",
        "Z2M_BASE_TOPIC": "<Z2M_BASE_TOPIC>",
        "Z2M_WRITE_MODE": "<Z2M_WRITE_MODE>"
      }
    }
  }
}
~/.cursor/mcp.json
{
  "mcpServers": {
    "zigbee2mqtt-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "Z2M_MQTT_URL": "<Z2M_MQTT_URL>",
        "Z2M_MQTT_USERNAME": "<Z2M_MQTT_USERNAME>",
        "Z2M_MQTT_PASSWORD": "<Z2M_MQTT_PASSWORD>",
        "Z2M_BASE_TOPIC": "<Z2M_BASE_TOPIC>",
        "Z2M_WRITE_MODE": "<Z2M_WRITE_MODE>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "zigbee2mqtt-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "Z2M_MQTT_URL": "<Z2M_MQTT_URL>",
        "Z2M_MQTT_USERNAME": "<Z2M_MQTT_USERNAME>",
        "Z2M_MQTT_PASSWORD": "<Z2M_MQTT_PASSWORD>",
        "Z2M_BASE_TOPIC": "<Z2M_BASE_TOPIC>",
        "Z2M_WRITE_MODE": "<Z2M_WRITE_MODE>"
      }
    }
  }
}

Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.

Tools

This server runs locally, so its tools are listed by your MCP client once it starts.

Environment variables

NameDescription
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
Optional
MQTT broker username, if the broker requires authentication.
Z2M_MQTT_PASSWORD
Optional, secret
MQTT broker password, if the broker requires authentication.
Z2M_BASE_TOPIC
Optional
Zigbee2MQTT base topic. Must match mqtt.base_topic in configuration.yaml. Defaults to zigbee2mqtt.
Z2M_WRITE_MODE
Optional
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).

Details

Package[email protected] (NPM, stdio)
First published7 Aug 2026
Last updated7 Aug 2026
Registry nameio.github.alexpfau/zigbee2mqtt-mcp

More other servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.