High-performance, database-backed MQTT broker built on Vert.X and Hazelcast. Store the live state of every topic, host real-time web applications, scale horizontally, and speak MQTT, Kafka, NATS, and Redis natively on one unified datastore.
Bridge OT and IT seamlessly. Field devices and enterprise clients connect directly to MonsterMQ over standard wire protocols with zero intermediate translation bridges.
WinCC Unified, WinCC OA, S7, Modbus
Direct node IDs, browse paths & decoders
Store-and-forward edge runtimes
Native high-speed line protocol ingestion
High-throughput non-blocking reactive routing with shared in-memory state & clustering.
Direct HTML/JS hosting & WebSocket streams
LangChain4j, Gemini, Claude, Ollama
PostgreSQL, MongoDB, SQLite, CrateDB
Terminal inspection, tracing, and automation
Unlike traditional brokers that discard messages after delivery, MonsterMQ captures and persists the most recent value for every topic. Query current factory state anytime without waiting for the next sensor publish.
AI agents can query topic snapshots instantaneously before executing decisions. Ask "What is the temperature on Line 1?" and get current state without waiting for the next telemetry broadcast.
Access the last known value through GraphQL queries, REST endpoints, the Model Context Protocol (MCP) server, or direct SQL in database backends. All interfaces share the exact same state.
Get a comprehensive picture of your entire manufacturing plant in a single query — temperatures, pressures, active alarms, and motor states across thousands of topics.
Keep last values in memory for lightning speed, in Hazelcast for distributed cluster-wide consistency, or in PostgreSQL/CrateDB across broker restarts.
Serve responsive web applications directly from the broker, and manage your entire messaging infrastructure from the terminal with our dedicated developer tools.
Host and serve responsive web applications, custom SCADA dashboards, and operator HMIs directly from MonsterMQ without separate NGINX or Node.js web servers.
High-productivity terminal tooling for developers and automation engineers. Inspect live topic trees, stream message payloads, manage AI agents, and automate deployments.
A live production example of an embedded web application running directly on a Siemens WinCC Unified Comfort Panel via MonsterMQ Edge as a Siemens Industrial Edge App. It delivers a real-time SCADA dashboard connecting dual PV inverters, grid power meters, environmental sensors, and live camera vision streams — communicating with the local broker over WebSocket and GraphQL at http://panel:4000/graphql with instant Last Value Store hydration.
Deploy intelligent LLM agents inside MonsterMQ. Agents subscribe to MQTT topics, reason with AI models, call broker tools, and publish automated actions — with zero external orchestration.
Choose from Gemini, Claude, OpenAI, or local models via Ollama. Assign different models to individual agents and switch providers without changing agent code.
Agents subscribe to topic filters and react to live telemetry in real-time. When an anomaly or sensor threshold is reached, agents reason and respond instantly.
Schedule agents with cron expressions or fixed intervals for automated shift summaries and predictive analysis. Trigger on demand via GraphQL or REST.
Agents can query the Last Value Store, read message archives, publish control commands, and invoke custom business tools through LangChain4j annotations.
Expose MonsterMQ as an MCP Server and connect agents to external MCP tools. Seamlessly integrate third-party enterprise tools and diagnostic workflows.
Orchestrate multi-agent hierarchies over MQTT. Master supervisor agents delegate sub-tasks to specialized inspection agents and synthesize responses.
Sliding-window conversational memory with live plant snapshots injected from the Last Value Store, giving agents context on recent operations.
Configure, test, and monitor agents from the web dashboard or CLI. Live trace reasoning steps, token usage, and tool invocations without broker restarts.
Explore MonsterMQ's complete capability matrix across protocols, SCADA integration, edge computing, and enterprise data storage.
Deploy and host custom web applications, operator HMIs, and diagnostic dashboards directly from MonsterMQ. Instant WebSocket/SSE data streaming combined with Last Value Store state hydration.
High-productivity command-line tooling for developers and automation engineers. Live trace topic streams with colorized payloads, query factory state snapshots, and automate CI/CD pipelines via vogler/monster-mq-tools.
Natively speaks the Kafka wire protocol on port 9092. Standard Kafka clients publish and subscribe directly, with record keys mapped to MQTT topics for bi-directional routing without bridges.
MonsterMQ natively acts as a Redis Store. Redis clients can read and write keys directly to the broker while MQTT clients interact with the same data through topics. One datastore, two protocols.
Ultra-lightweight Go-based broker for constrained edge devices, Raspberry Pis, and Siemens Industrial Edge panels. Buffers data with store-and-forward routing to central clusters.
Persistently stores the most recent value for every topic. AI agents, web apps, and external systems can query current factory snapshots on demand without waiting for updates.
Built-in LangChain4j AI agent framework with multi-model support (Gemini, Claude, OpenAI, Ollama), broker tool execution, and MQTT event triggers.
Native OPC UA client with browse paths, node ID resolution, and wildcard subscriptions. Unifies industrial machine telemetry into standard MQTT topics.
High-performance continuous bulk transfer from Siemens WinCC Open Architecture via dpQueryConnectSingle. Streams millions of tag values and alerts with minimal overhead.
Modern SCADA streaming via GraphQL/WebSocket for Siemens WinCC Unified. Real-time tag subscriptions, active alarm streaming, and OPC UA quality code preservation.
Accept standard NATS clients on a dedicated port with automatic topic separator translation (/ to .). Supports Core NATS and JetStream.
Bidirectional bridging between MQTT and external NATS servers with durable JetStream consumers and at-least-once delivery guarantees.
Bidirectional message forwarding between remote MQTT brokers with topic filters and transformation rules for hierarchical architectures.
Bidirectional MQTT-to-Redis bridging with PSUBSCRIBE glob matching, outbound publishing, and wildcard SCAN key synchronization.
Direct communication with Siemens S7, Allen-Bradley, and Modbus PLCs without gateways, bridging operational equipment directly into MQTT topics.
Automatically decodes compressed SparkplugB payloads and expands them into granular standard MQTT topics for standard clients and analytics.
Visual drag-and-drop flow-based programming with JavaScript runtime. Transform, filter, and aggregate real-time MQTT message streams.
Exposes MQTT topic structures as industrial object instances with parent-child hierarchies, historical telemetry, and Server-Sent Events.
Full GraphQL API with real-time subscriptions, REST endpoints, and native high-throughput InfluxDB Line Protocol ingestion.
Pluggable storage engines supporting PostgreSQL, MongoDB, CrateDB, and SQLite with full SQL querying across archived messages.
Built-in clustering for seamless horizontal scale, automatic node discovery, distributed session replication, and zero-downtime failover.
Validate MQTT payloads against reusable JSON Schema specifications with strict rejection, warning emission, or audit logging modes.
Exposes broker I/O stats, device metrics, and gauge topics. Includes a Prometheus HTTP API subset allowing Grafana to query historical data directly.
Converts MQTT topic hierarchies into graph nodes and relationships for topology mapping, path-based queries, and device connectivity analysis.
MonsterMQ adapts to your infrastructure. Choose the storage backend that fits your production workload — from lightweight embedded SQLite to distributed CrateDB and PostgreSQL.
| Backend / Protocol | Session Store | Retained Store | Last Value Store | Message Archive | Clustering Support |
|---|---|---|---|---|---|
| PostgreSQL | ✓ | ✓ | ✓ | ✓ | ✓ |
| MongoDB | ✓ | ✓ | ✓ | ✓ | ✓ |
| SQLite | ✓ | ✓ | ✓ | ✓ | ✗ |
| Redis Store Protocol | ✓ | ✓ | ✓ | ✗ | ✓ |
| Hazelcast In-Memory | ✓ | ✓ | ✓ | ✗ | ✓ |
Run MonsterMQ anywhere with Docker, Docker Compose, or deploy the CLI tools locally.
Launch MonsterMQ with the web dashboard, Last Value Store, and SQLite persistence:
docker run -d \
-p 1883:1883 \
-p 8080:8080 \
-p 9092:9092 \
-p 4222:4222 \
-p 6379:6379 \
--name monstermq \
vogler75/monster-mq:latest
Clone, compile with Go, and inspect topic streams or automate pipelines from your terminal:
# Clone and compile MonsterMQ Tools (Go 1.21+)
git clone https://github.com/vogler75/monster-mq-tools.git
cd monster-mq-tools
go build -o mmq .
# Subscribe to live topic streams
./mmq sub -t "factory/#" -b localhost:1883
# Or publish a test telemetry message
./mmq pub -t "factory/line1/temp" -m '{"value": 72.4}' -b localhost:1883