// the find
emqx/MQTTX
A Powerful and All-in-One MQTT 5.0 client toolbox for Desktop, CLI and WebSocket.
MQTTX is a desktop/CLI/web client for testing and debugging MQTT brokers, built by EMQ (the company behind EMQX). It covers the full MQTT 5.0 spec — TLS, WebSockets, user properties, topic aliases, the works — and ships three distinct interfaces: an Electron GUI, a Node CLI, and a browser-based version. The target is IoT developers who need to poke at broker behavior without writing throwaway code.
Full MQTT 5.0 support including user properties, response topics, and subscription identifiers, not just the 3.1.1 subset most tools stop at. The CLI has real scripting hooks — you can pipe in JS functions to transform payloads before publishing, useful for simulating sensor data streams. It stores connection history, certificates, and message logs locally in SQLite via TypeORM, so nothing leaks to the cloud. The built-in payload formatters handle JSON, Hex, Base64, Avro, and Protobuf natively, which saves a lot of manual decoding when debugging binary IoT protocols.
Electron means the desktop app ships at 200MB+ for what is fundamentally a network debugging tool — mosquitto_clients and MQTT Explorer both get the job done in a fraction of the footprint. The AI Copilot feature (see the /src/components/ai/ directory) is a strange fit here; it adds OpenAI/MCP dependencies to a protocol testing tool, and the use case is unconvincing. The desktop version uses TypeORM with SQLite and has 20+ migration files going back to 2021, which works but is fragile for an Electron app — schema migrations in a desktop app are a support headache. Web version is read-only useful since it can only reach brokers that allow WebSocket connections, which rules out most real broker setups.