mqtt deck 0.2.0 Download
Greenhouse edge
North field
Bench broker
Greenhouse edge Connected
mqtts://edge-01.acme.internal:8883 MQTT 5.0 12k · 3.2/s
Disconnect
Topics 15
Pinned
greenhouse/meter/3/reading
greenhouse/climate/zone-a/state
Subscriptions
greenhouse/# q1 ×
edge/+/alarm q2 ×
greenhouse/meter/+/reading nl rap q0 ×
Received
greenhouse 12k
climate 640
zone-a 640
setpoint 0.2/s 320
state 320
gateway 1
irrigation 96
valve-4 96
cmd 24
state 72
meter 12k
1 3.9k
2 3.9k
3 3.9k
reading 3.2/s 3.9k
StreamTopics
Search topic
Search message
AllInOut
18
Time Dir Topic Payload Flags
10:41:02.104← ingreenhouse/meter/3/reading{ } {"soil_pct":31.4,"temp_c":21.8}q1
10:41:02.106← ingreenhouse/meter/2/reading{ } {"soil_pct":28.9,"temp_c":22.1}q1
10:41:02.109← ingreenhouse/meter/1/reading{ } {"soil_pct":34.2,"temp_c":21.5}q1
10:41:03.220out →greenhouse/climate/zone-a/setpoint{ } {"target_c":22.0,"rh_pct":65}q1
10:41:03.228← ingreenhouse/climate/zone-a/state{ } {"target_c":22.0,"rh_pct":65,"mode":"auto"}q1R
10:41:04.771← ingreenhouse/irrigation/valve-4/stateclosed
10:41:06.013← ingreenhouse/meter/3/reading{ } {"soil_pct":31.1,"temp_c":21.9}q1
10:41:07.402out →greenhouse/irrigation/valve-4/cmd{ } {"open":true,"litres":12.5}q2
10:41:07.884← ingreenhouse/irrigation/valve-4/stateopen
10:41:09.101← ingreenhouse/gateway/lwtonlineq1R
10:41:10.550← ingreenhouse/meter/2/reading{ } {"soil_pct":28.7,"temp_c":22.0}q1
10:41:11.902← ingreenhouse/meter/3/reading{ } {"soil_pct":30.9,"temp_c":21.9}q1
10:41:12.336← ingreenhouse/meter/1/reading{ } {"soil_pct":34.2,"temp_c":21.5}q1D
10:41:12.904out →greenhouse/climate/zone-a/setpoint{ } {"target_c":21.5,"rh_pct":62}q1
10:41:13.004← ingreenhouse/climate/zone-a/state{ } {"target_c":21.5,"rh_pct":62,"mode":"auto"}q1R
10:41:14.480← inedge/telemetry/heartbeat{ } {"uptime_s":18422,"rss_kb":41208,"clients":6}
10:41:16.207← ingreenhouse/meter/2/reading{ } {"soil_pct":28.4,"temp_c":22.1}q1
10:41:17.640← ingreenhouse/meter/3/reading{ } {"soil_pct":30.6,"temp_c":21.8,"vpd_kpa":0.94,"probe":"m3","battery_mv":3312}q1
textjsonbase64hex
Q0Q1Q2
Retain Props Repeat 1s CtrlEnter to publish
Publish
MQTT Deck 0.2.0 · free · MIT · 7.3 MB for Linux, Windows and macOS Download MQTT Deck

The window 1440 × 900 · demo data · no socket Click any row — the inspector follows.

MQTT Deck · 0.2.0

A desktop MQTT client shown as itself.

The window above is not a screenshot. It is the interface rebuilt in HTML and CSS, down to the 29px row and the ember accent, carrying invented brokers on .internal and sensor payloads that never left this page. Select a topic, a timestamp, a payload. It behaves like text because it is text.

MQTT Deck is a 7.3 MB client for Linux, Windows and macOS: MQTT 3.1.1 and 5.0 over TCP, TLS and WebSocket, a stream that keeps fifty thousand messages scrollable, and nothing of yours in the cloud.

7.3MB
Binary
3.5MB
.deb package
50,000
Messages held
7
Days of local history

01 / Stream

Fifty thousand messages, one 29px row at a time.

The stream is virtualised: only the rows on screen exist, so a broker that never stops does not slow the window down. Time, direction, topic, payload, QoS and retain on every row. Two searches that do not get in each other's way — by topic name, by payload, hex for binary — direction filters, pause per connection, and a live rate on each topic so a device going quiet is a number falling.

QoS 0/1/2 retain dup rate/s pause buffer limit

Grid
virtualised
Row
29 px
Held
50,000 messages
Search
topic, payload

02 / Inspector

Read the payload where it landed.

The inspector opens beside the list, never on top of it. A collapsible JSON tree, syntax-coloured text, raw and hex, and the MQTT 5 properties that came with the message. Binary payloads are decoded in Rust. A diff compares the payload with the previous message on the same topic, line by line, so a drifting sensor is a line with a colour rather than a number you have to remember.

JSON tree diff hex properties copy · reuse · pin

Tree
collapsible JSON
Views
pretty, raw, hex, props
Diff
previous on topic
Binary
decoded in Rust

03 / Session

Seven days you can replay.

Every message is appended to a local daily log, kept for seven days. Any of those days opens read-only — same stream, same inspector, no socket — so the thing that happened at 03:12 is still there after lunch. Existing connections come across from MQTTX, or as JSON, YAML, XML, CSV and XLSX, one row each, subscriptions and last will included.

session replay MQTTX import JSON YAML XML CSV XLSX

History
7 days, on disk
Replay
read-only
Import
MQTTX, CSV, XLSX

04 / Agent access

The window an agent can operate.

mqttdeck-mcp exposes the same engine over MCP: list connections, connect, subscribe with MQTT 5 options, publish, read the buffer, wait for a message. It is a bridge, not a second client — what the agent does is what you watch happen in the window. Loopback only, token in a 0600 file, and one switch in Settings closes the listener.

MCP Claude Code Cursor Codex loopback

Bridge
mqttdeck-mcp
Bind
loopback only
Token
0600 file
Switch
off in Settings

05 / Local

No account, and nothing about your broker leaves.

Passwords go to the OS keyring — Secret Service on Linux, Keychain on macOS, Credential Manager on Windows — and to a 0600 file only when there is no keyring to ask. The app sends anonymous usage analytics and crash reports, on by default; one switch in Settings turns them off, and they never carry a broker address, a topic, a payload or a credential.

This page is quieter still. No analytics, no cookies, no third-party request. The only network call it ever makes is the form at the bottom, when you ask it for the download.

What this page stores App privacy, in full

Account
none
Passwords
OS keyring
Analytics
one switch
Payloads
never sent

06 / Install

Linux first, because that is where it is built.

Linux is where MQTT Deck is developed, tested and released. Windows and macOS build from the same source — Tauri 2, React 19, Rust with rumqttc — and are supported best-effort. One window, one engine, three systems.

MQTT 3.1.1 MQTT 5.0 TCP TLS WebSocket MIT

Binary
7.3 MB
.deb
3.5 MB
AppImage
~81 MB
Engine
Rust · rumqttc
Shell
Tauri 2 · React 19
Linux Developed and released here .deb 3.5 MB
macOS Best effort, same source .dmg
Windows Best effort, same source .msi

The release binary is 7.3 MB. The AppImage is about 81 MB because it bundles its own runtime — it is the outlier, and the .deb is what most machines want.

Keyboard Command paletteCtrlK PublishCtrlEnter Walk the stream↑↓ Open the inspectorEnter SettingsCtrl,

07 / Download

Take the window with you.

One email, one link, and release notes when a version ships. The installers come from GitHub Releases, so this page never sees what you do with them.

Binary
7.3 MB
.deb
3.5 MB
AppImage
~81 MB
Licence
MIT

MQTT Deck 0.2.0

Linux, Windows, macOS

One email with the download link, plus release notes when a version ships. No spam, no sharing, unsubscribe in one click. Privacy

No account. No tracking on this page. Downloads come from GitHub Releases.