MQTT Broker for Node-RED based on Aedes.
You can use the MQTT protocol in Node-RED without an external MQTT broker like Mosquitto.
This node was created because the original MQTT broker node-red-contrib-mqtt-broker uses mosca which is no longer maintained.
You can install the node directly within the editor by using the Palette Manager.
To install the node from the command-line, you can use the following command from within your user data directory (by default, $HOME/.node-red):
npm install node-red-contrib-aedesJust put this node on Node-RED and hit the deploy button. The MQTT Broker will run on your Node-RED instance.

- Standard TCP Support
- WebSocket Support via port or path
- SSL / TLS
- Message Persistence (In-memory or MongoDB)
- File-based snapshot persistence
For more information see Aedes.
If your server is behind a firewall or you cannot open any ports other than the standard http/https ports, the MQTT broker node can be accessible by public clients through a WebSocket path.
When your Node-RED server address is https://yourserver/, you can set the WebSocket to bind to, e.g., "/ws/mqtt" path, to have wss://yourserver/ws/mqtt WebSocket at port 443.
You can also bind the WebSocket to the root "/" path and having wss://yourserver/ WebSocket listening at port 443 (or ws://yourserver/ at port 80).
The current version is based on Aedes version 1.0, which introduces several breaking changes. If your environment requires Aedes version 0.51, you can switch to version 0.15.x of this package.
To install the compatible version using the version-15 dist-tag:
npm install node-red-contrib-aedes@version-15The current version and version 0.15.x require Node.js >= 20 and Node-RED >= 3.0.
If you are running an older Node.js version (e.g. on locked-down or legacy hardware), please use version 0.11.x of this package.
To install the compatible version using the version-11 dist-tag:
npm install node-red-contrib-aedes@version-11For more details, see issue #85.
Licensed under MIT.