MQTT370 is an MQTT client, broker, and CLI for IBM MVS 3.8j, originally created by Michael Dean Rayborn. It provides MQTT 5.0 messaging capabilities for applications running on Hercules-emulated MVS systems.
This project is maintained as part of the mvslovers community.
- client/ — MQTT client library (connect, publish, subscribe)
- broker/ — MQTT message broker with Lua-based configuration
- cli/ — Command-line interface for MQTT operations
- utility/ — Shared utility functions (encoding, networking, etc.)
- Cross-compilation environment for MVS 3.8j
c2asm370compiler (GCC-based, targeting S/370)mvsasmassembler script- CRENT370 libraries by Mike Rayborn
git clone --recursive https://github.com/mvslovers/mqtt370.git
cd mqtt370Copy .env.example to .env and set your MVS host credentials and dataset names:
cp .env.example .env
# edit .env with your valuesmake # build all components
make clean # clean all componentsTo build a single component:
make -C client
make -C broker
make -C cli
make -C utilityThe build pipeline is: C source → c2asm370 → S/370 Assembly (.s) → mvsasm → Object decks (.o) → MVS datasets.
client/src/ MQTT client library source files
broker/src/ MQTT broker source files
cli/src/ CLI tool source files
utility/src/ Shared utility source files
include/ Header files (shared across all components)
contrib/ Git submodules (SDK headers for dependencies)
scripts/ Build helper scripts
doc/ Documentation
This project was created by Michael Dean Rayborn, whose extensive work on MVS 3.8j tooling forms the foundation of the entire MVS open-source ecosystem.
This project is licensed under the MIT License.