zigbee2mqtt-mcp
An MCP server for administering a Zigbee2MQTT estate, providing health reporting, mesh diagnostics, OTA updates, pairing, binding, and device options over the MQTT bridge API. It works regardless of the home automation platform used, such as Home Assistant or Node-RED, by talking directly to the Zigbee2MQTT MQTT bridge API.
Package and access
Local package with source-attributed installation metadata. Koskamo does not execute packages during review.
What you can do with it
- Monitor mesh health and link quality
- Schedule and apply OTA firmware updates
- Pair new devices to the Zigbee network
- Configure device bindings and reporting intervals
Source and maintenance
- Maintenance checked
Packages and installation
Source-provided package data. Koskamo has not executed or live-probed this package.
zigbee2mqtt-mcp 0.7.0
{
"version": "0.7.0",
"transport": "stdio",
"identifier": "zigbee2mqtt-mcp",
"registryType": "npm",
"environmentVariables": [
{
"name": "Z2M_MQTT_URL",
"format": "string",
"isRequired": true,
"description": "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."
},
{
"name": "Z2M_MQTT_USERNAME",
"format": "string",
"description": "MQTT broker username, if the broker requires authentication."
},
{
"name": "Z2M_MQTT_PASSWORD",
"format": "string",
"description": "MQTT broker password, if the broker requires authentication."
},
{
"name": "Z2M_BASE_TOPIC",
"format": "string",
"description": "Zigbee2MQTT base topic. Must match mqtt.base_topic in configuration.yaml. Defaults to zigbee2mqtt."
},
{
"name": "Z2M_WRITE_MODE",
"format": "string",
"description": "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)."
}
]
}Tools
Reported by the attributed source; not independently observed by Koskamo.
Connect from your client
Each snippet configures the same source-provided package; replace placeholders before use.
Cursor
{
"mcpServers": {
"zigbee2mqtt-mcp": {
"command": "npx",
"args": [
"-y",
"zigbee2mqtt-mcp@0.7.0"
],
"env": {
"Z2M_MQTT_URL": "<YOUR_Z2M_MQTT_URL>",
"Z2M_MQTT_USERNAME": "<YOUR_Z2M_MQTT_USERNAME>",
"Z2M_MQTT_PASSWORD": "<YOUR_Z2M_MQTT_PASSWORD>",
"Z2M_BASE_TOPIC": "<YOUR_Z2M_BASE_TOPIC>",
"Z2M_WRITE_MODE": "<YOUR_Z2M_WRITE_MODE>"
}
}
}
}Cline
{
"mcpServers": {
"zigbee2mqtt-mcp": {
"command": "npx",
"args": [
"-y",
"zigbee2mqtt-mcp@0.7.0"
],
"env": {
"Z2M_MQTT_URL": "<YOUR_Z2M_MQTT_URL>",
"Z2M_MQTT_USERNAME": "<YOUR_Z2M_MQTT_USERNAME>",
"Z2M_MQTT_PASSWORD": "<YOUR_Z2M_MQTT_PASSWORD>",
"Z2M_BASE_TOPIC": "<YOUR_Z2M_BASE_TOPIC>",
"Z2M_WRITE_MODE": "<YOUR_Z2M_WRITE_MODE>"
}
}
}
}VS Code
{
"servers": {
"zigbee2mqtt-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"zigbee2mqtt-mcp@0.7.0"
],
"env": {
"Z2M_MQTT_URL": "<YOUR_Z2M_MQTT_URL>",
"Z2M_MQTT_USERNAME": "<YOUR_Z2M_MQTT_USERNAME>",
"Z2M_MQTT_PASSWORD": "<YOUR_Z2M_MQTT_PASSWORD>",
"Z2M_BASE_TOPIC": "<YOUR_Z2M_BASE_TOPIC>",
"Z2M_WRITE_MODE": "<YOUR_Z2M_WRITE_MODE>"
}
}
}
}Claude Desktop
{
"mcpServers": {
"zigbee2mqtt-mcp": {
"command": "npx",
"args": [
"-y",
"zigbee2mqtt-mcp@0.7.0"
],
"env": {
"Z2M_MQTT_URL": "<YOUR_Z2M_MQTT_URL>",
"Z2M_MQTT_USERNAME": "<YOUR_Z2M_MQTT_USERNAME>",
"Z2M_MQTT_PASSWORD": "<YOUR_Z2M_MQTT_PASSWORD>",
"Z2M_BASE_TOPIC": "<YOUR_Z2M_BASE_TOPIC>",
"Z2M_WRITE_MODE": "<YOUR_Z2M_WRITE_MODE>"
}
}
}
}Let your agent find its tools
Find servers like zigbee2mqtt-mcp from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.