Architecture Digital Twin Web Apps & CLI AI Agents Features Databases Quick Start MonsterMQ CLI & Tools (GitHub) MonsterMQ Broker (GitHub)
Factory Automation • Multi-Protocol • Digital Twin

The Industrial Data & MQTT Backbone for
Connected Factories

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.

★ Web Apps Runtime ★ MonsterMQ CLI ✓ Kafka Protocol (9092) ✓ Redis Store Protocol ✓ NATS Server Protocol ✓ MQTT 5.0 & 3.1.1 ✓ Last Value Store ✓ Siemens WinCC Unified ✓ WinCC OA SCADA ✓ OPC UA Client ✓ PLC4X Industrial ✓ AI Agents (LangChain4j) ✓ MCP Server ✓ InfluxDB Line Protocol ✓ GraphQL Subscriptions ✓ Multi-Database SQL
Unified Industrial Backbone

One Datastore. Multiple Protocols. Real-Time State.

Bridge OT and IT seamlessly. Field devices and enterprise clients connect directly to MonsterMQ over standard wire protocols with zero intermediate translation bridges.

🏭

Siemens SCADA & PLCs

WinCC Unified, WinCC OA, S7, Modbus

📡

OPC UA & SparkplugB

Direct node IDs, browse paths & decoders

📦

MonsterMQ Edge Nodes

Store-and-forward edge runtimes

📈

Telegraf & InfluxDB

Native high-speed line protocol ingestion

Vert.X + Hazelcast Engine

MonsterMQ Core Broker

High-throughput non-blocking reactive routing with shared in-memory state & clustering.

MQTT 5.0 / 3.1.1 Kafka Wire (9092) NATS Core & JetStream Redis Store Protocol Embedded Web Apps Last Value Digital Twin
💻

Embedded Web Apps

Direct HTML/JS hosting & WebSocket streams

🤖

AI Agents & MCP

LangChain4j, Gemini, Claude, Ollama

🗄️

Database Persistence

PostgreSQL, MongoDB, SQLite, CrateDB

⌨️

CLI & Developer Tools

Terminal inspection, tracing, and automation

Live Digital Twin

Always Know Your Factory State

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.

Field Telemetry
🌡️ Temp Sensor 1 72.4 °C
⏱️ Pressure Line A 3.2 bar
⚙️ Motor Drive RPM 1480 RPM
📦 Conveyor State RUNNING
LAST VALUE STORE (PERSISTENT STATE) SNAPSHOT READY
factory/line1/temperature 72.4
factory/line1/pressure 3.2
factory/line1/motor/rpm 1480
factory/line1/conveyor Running
Instant Query APIs
🤖 AI Agents & Tool Calls
💻 Embedded Web Apps
📊 GraphQL & REST APIs
⌨️ mmq CLI State Commands
🤖

Agent-Ready Context

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.

🔍

Multi-Protocol Queries

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.

Instant Digital Twin

Get a comprehensive picture of your entire manufacturing plant in a single query — temperatures, pressures, active alarms, and motor states across thousands of topics.

🗄️

Pluggable Persistence

Keep last values in memory for lightning speed, in Hazelcast for distributed cluster-wide consistency, or in PostgreSQL/CrateDB across broker restarts.

Developer Experience & Edge Applications

Embedded Web Apps & MonsterMQ CLI

Serve responsive web applications directly from the broker, and manage your entire messaging infrastructure from the terminal with our dedicated developer tools.

💻

Embedded Web Apps

Broker Native

Host and serve responsive web applications, custom SCADA dashboards, and operator HMIs directly from MonsterMQ without separate NGINX or Node.js web servers.

  • Zero Extra Web Servers: Package HTML, CSS, and JS directly in MonsterMQ for instant local serving.
  • Instant State Hydration: Web apps immediately load current topic states from the Last Value Store upon connection.
  • Real-Time Data Streaming: Sub-millisecond updates over native WebSockets, SSE, and GraphQL subscriptions.
  • Integrated Security: Inherit broker-level authentication, role-based ACLs, and TLS protection.
🌐 Browser / Operator HMI HTTP / WebSocket
⚡ MonsterMQ Web App Engine Direct Hosting & SSE
📌 Last Value Store & Topics Unified Real-Time State
⌨️

MonsterMQ CLI

Developer Toolset

High-productivity terminal tooling for developers and automation engineers. Inspect live topic trees, stream message payloads, manage AI agents, and automate deployments.

  • Live Topic Tree & Inspection: Interactive terminal browser with syntax-highlighted JSON decoding.
  • Snapshot & Archive Queries: Fast terminal reads against the Last Value Store and database archives.
  • AI Agent Diagnostics: Trigger agents, inspect execution traces, and view tool calls in real time.
  • CI/CD & Scripting: Easily automate topic provisioning, schema enforcement, and health monitoring.
monster-mq-tools — terminal
$ go build -o mmq .
✔ Compiled mmq CLI binary for local architecture $ ./mmq sub -t "factory/+/alarms" -b localhost:1883
{"level":"WARN","source":"motor/rpm","val":1480,"ts":"16:01:25Z"} $ ./mmq pub -t "factory/line1/cmd" -m "START" -b localhost:1883
✔ Published message to factory/line1/cmd (QoS 1)
View vogler/monster-mq-tools on GitHub
Siemens Industrial Edge WinCC Unified Comfort Panel MonsterMQ Edge SCADA

Real-World Web App: Deployed on Siemens WinCC Unified Comfort Panel

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.

🔒 http://panel:4000/ • SmartHome OS (MonsterMQ Edge SCADA)
LIVE BROKER
MonsterMQ Web App deployed on Siemens WinCC Unified Comfort Panel as a Siemens Industrial Edge App
Autonomous Intelligence

AI Agents Built Directly into the Broker

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.

🧠

Multi-Provider LLMs

Choose from Gemini, Claude, OpenAI, or local models via Ollama. Assign different models to individual agents and switch providers without changing agent code.

📡

MQTT Event Triggers

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.

⏱️

Cron & Manual Execution

Schedule agents with cron expressions or fixed intervals for automated shift summaries and predictive analysis. Trigger on demand via GraphQL or REST.

🔧

Broker Tools & LangChain4j

Agents can query the Last Value Store, read message archives, publish control commands, and invoke custom business tools through LangChain4j annotations.

🔗

Model Context Protocol (MCP)

Expose MonsterMQ as an MCP Server and connect agents to external MCP tools. Seamlessly integrate third-party enterprise tools and diagnostic workflows.

🤝

Agent-to-Agent (A2A)

Orchestrate multi-agent hierarchies over MQTT. Master supervisor agents delegate sub-tasks to specialized inspection agents and synthesize responses.

💾

Memory & Live Context

Sliding-window conversational memory with live plant snapshots injected from the Last Value Store, giving agents context on recent operations.

🖥️

Live Dashboard Monitoring

Configure, test, and monitor agents from the web dashboard or CLI. Live trace reasoning steps, token usage, and tool invocations without broker restarts.

Complete Feature Set

Built for Industrial Scale & Reliability

Explore MonsterMQ's complete capability matrix across protocols, SCADA integration, edge computing, and enterprise data storage.

🤖

AI Agent Runtime

Built-in LangChain4j AI agent framework with multi-model support (Gemini, Claude, OpenAI, Ollama), broker tool execution, and MQTT event triggers.

🏭

OPC UA Client

Native OPC UA client with browse paths, node ID resolution, and wildcard subscriptions. Unifies industrial machine telemetry into standard MQTT topics.

🏭

WinCC OA SCADA Integration

High-performance continuous bulk transfer from Siemens WinCC Open Architecture via dpQueryConnectSingle. Streams millions of tag values and alerts with minimal overhead.

🏭

WinCC Unified SCADA Integration

Modern SCADA streaming via GraphQL/WebSocket for Siemens WinCC Unified. Real-time tag subscriptions, active alarm streaming, and OPC UA quality code preservation.

Native NATS Protocol

Accept standard NATS clients on a dedicated port with automatic topic separator translation (/ to .). Supports Core NATS and JetStream.

🔗

NATS Client Bridge

Bidirectional bridging between MQTT and external NATS servers with durable JetStream consumers and at-least-once delivery guarantees.

🔗

MQTT Broker Bridge

Bidirectional message forwarding between remote MQTT brokers with topic filters and transformation rules for hierarchical architectures.

🔴

Redis Pub/Sub & Key Sync

Bidirectional MQTT-to-Redis bridging with PSUBSCRIBE glob matching, outbound publishing, and wildcard SCAN key synchronization.

🔧

Apache PLC4X Direct Connectivity

Direct communication with Siemens S7, Allen-Bradley, and Modbus PLCs without gateways, bridging operational equipment directly into MQTT topics.

SparkplugB Decoder

Automatically decodes compressed SparkplugB payloads and expands them into granular standard MQTT topics for standard clients and analytics.

🔀

Workflows & Flow Engine

Visual drag-and-drop flow-based programming with JavaScript runtime. Transform, filter, and aggregate real-time MQTT message streams.

🔌

CESMII I3X REST API

Exposes MQTT topic structures as industrial object instances with parent-child hierarchies, historical telemetry, and Server-Sent Events.

🌐

GraphQL & InfluxDB Line Protocol

Full GraphQL API with real-time subscriptions, REST endpoints, and native high-throughput InfluxDB Line Protocol ingestion.

🗄️

Multi-Database Backends

Pluggable storage engines supporting PostgreSQL, MongoDB, CrateDB, and SQLite with full SQL querying across archived messages.

🔄

Horizontal Hazelcast Clustering

Built-in clustering for seamless horizontal scale, automatic node discovery, distributed session replication, and zero-downtime failover.

🛡️

JSON Schema Governance

Validate MQTT payloads against reusable JSON Schema specifications with strict rejection, warning emission, or audit logging modes.

📈

Prometheus Metrics Endpoint

Exposes broker I/O stats, device metrics, and gauge topics. Includes a Prometheus HTTP API subset allowing Grafana to query historical data directly.

🕸️

Neo4j Graph Conversion

Converts MQTT topic hierarchies into graph nodes and relationships for topology mapping, path-based queries, and device connectivity analysis.

Pluggable Datastores

Flexible Storage Backends & Redis Protocol

MonsterMQ adapts to your infrastructure. Choose the storage backend that fits your production workload — from lightweight embedded SQLite to distributed CrateDB and PostgreSQL.

PostgreSQL

PostgreSQL

  • ✓ Full relational SQL capabilities
  • ✓ Production-proven enterprise ACID
  • ✓ Cluster & replication support
  • ✓ Advanced time-series extensions
Best for: Production enterprise deployments with SQL requirements
MongoDB

MongoDB

  • ✓ Flexible JSON document store
  • ✓ Dynamic schema adaptation
  • ✓ High write throughput
  • ✓ Built-in horizontal sharding
Best for: Flexible NoSQL payloads and high-volume JSON streams
SQLite

SQLite

  • ✓ Zero configuration setup
  • ✓ Embedded single-file database
  • ✓ Lightweight memory footprint
  • ✓ Fast local read/write performance
Best for: Development, edge devices, and single-instance nodes
Redis

Redis Store Protocol

  • ✓ Native Redis wire protocol support
  • ✓ Direct read/write to broker state
  • ✓ Identical data shared with MQTT topics
  • ✓ Sub-millisecond in-memory speed
Best for: Dual Redis & MQTT client access against unified broker state

Backend Capability & Persistence Matrix

Backend / Protocol Session Store Retained Store Last Value Store Message Archive Clustering Support
PostgreSQL
MongoDB
SQLite
Redis Store Protocol
Hazelcast In-Memory
Deployment in Seconds

Get Started with MonsterMQ

Run MonsterMQ anywhere with Docker, Docker Compose, or deploy the CLI tools locally.

🐳 Docker Run (Standalone)

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

⌨️ MonsterMQ CLI Toolset (Go)

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