MQTT Broker for
Factory Automation

High-performance, database-backed MQTT broker built on Vert.X and Hazelcast.
Store messages persistently, scale horizontally, and deploy AI agents that reason over your data.

✓ MQTT 3.1.1
✓ MQTT 5.0
✓ Multi-Database
✓ OPC UA
✓ NATS
✓ Workflows
✓ Dashboard
✓ Clustering
✓ I3X API
★ AI Agents
✓ MCP Ready
✓ Prometheus
✓ JSON Schema

Factory Automation Features

🗄️

Multi-Database Backend

Choose from PostgreSQL, MongoDB, CrateDB, or SQLite. Store retained messages and persistent sessions with enterprise-grade reliability.

🔄

Horizontal Scaling

Built-in Hazelcast clustering enables seamless horizontal scaling. Deploy from production line to enterprise with automatic failover and load balancing.

NEW
🤖

AI Agents

Built-in AI agent framework powered by LangChain4j. Deploy LLM-driven agents that react to MQTT messages, run on schedules, and orchestrate multi-agent workflows — all managed from the dashboard.

🏭

OPC UA Integration

Native OPC UA client with cluster-aware device management and certificate-based security. Unified archiving ensures industrial data flows through the same central system as MQTT messages. Supports browse paths, node IDs, and wildcard subscriptions for flexible device connectivity.

🏭

WinCC Open Architecture Integration

High-performance bulk transfer from Siemens WinCC Open Architecture SCADA systems. Subscribe to millions of datapoints with a single continuous SQL query leveraging WinCC Open Architecture's powerful dpQueryConnectSingle function. Stream tag values and alerts directly to MQTT topics. Efficient handling of high-volume data changes without per-message overhead.

🏭

WinCC Unified Integration

Modern SCADA integration via GraphQL/WebSocket for Siemens WinCC Unified. Real-time tag value subscriptions with flexible name filters and wildcards. Stream active alarms and alerts with complete alarm details including state, priority, and timestamps. Optional OPC UA quality information for tag values including quality codes and status flags.

Native NATS Protocol

Accept standard NATS clients directly on a configurable port. Automatic topic translation between MQTT separators (/, +, #) and NATS (., *, >). Supports Core NATS and JetStream with authentication options including anonymous, username/password, token, and TLS.

🔗

NATS Client Bridge

Bidirectional bridging between MQTT and external NATS servers. Forward MQTT topics to NATS subjects and subscribe NATS subjects back into MQTT. Supports Core NATS at-most-once and JetStream at-least-once delivery with durable consumers.

🔗

MQTT to MQTT Bridge

Built-in MQTT bridge functionality enables bidirectional message flow between brokers. Forward messages to remote brokers with topic filters and transformations, or consume messages from external MQTT brokers. Perfect for building hierarchical broker architectures and connecting distributed systems.

📨

Kafka Integration

Stream MQTT messages to Apache Kafka topics for event sourcing, stream processing, and long-term data retention. Bidirectional bridging enables consuming Kafka topics back into MQTT for seamless integration with data pipelines.

🔧

PLC4X Integration

Connect directly to industrial PLCs using Apache PLC4X. Multi-protocol support for Siemens S7, Allen-Bradley, Modbus, and more. Read and write PLC variables without gateways, bridging operational technology directly to MQTT.

🕸️

Neo4j Graph Database

Automatically convert MQTT topic hierarchies into graph structures. Enable path-based queries, relationship analysis, and hierarchical visualization of device connections with configurable message rate limiting.

SparkplugB Decoder

Decode SparkplugB protocol messages and expand compressed payloads into individual MQTT topics. Enables standard MQTT clients and archives to work with SparkplugB devices without specialized libraries.

🔀

Workflows (Flow Engine)

Visual flow-based programming with JavaScript runtime. Create data processing pipelines with drag-and-drop nodes. Transform, filter, and aggregate MQTT messages in real-time with reusable flow templates and instance-specific configuration.

🔌

I3X API (CESMII)

CESMII-compatible I3X REST API exposes MQTT topics as industrial object instances with parent-child hierarchies. Access real-time values, historical data, and Server-Sent Event subscriptions. JSON payloads are automatically decomposed into child property objects.

📊

GraphQL API

Query current topic states and historical data through a modern GraphQL interface with real-time subscriptions support.

🔍

SQL Query Interface

All data stored in central databases can be queried with standard SQL, enabling powerful analytics and reporting.

🔐

Enterprise Security

TLS/SSL support, user authentication with BCrypt, fine-grained ACL rules, and database-level security.

🛡️

JSON Schema Governance

Validate MQTT message payloads against reusable JSON Schema definitions. Bind schemas to topic filters via namespaces with configurable enforcement modes: reject invalid payloads, emit warnings, or log violations for audit trails.

🔍

Topic Browser

Interactive topic tree navigation with search capabilities and message inspection. Browse MQTT topic hierarchies with expandable nodes and view message data in real-time.

📈

Prometheus Integration

Built-in Prometheus-compatible endpoint exposes broker metrics, device I/O statistics, and real-time topic values as gauge metrics. Includes a Prometheus HTTP API subset so Grafana can query historical archive data directly from MonsterMQ without a separate Prometheus instance.

🖥️

Web Dashboard

Complete web-based management interface for archive groups, users, and system configuration. Real-time updates without broker restarts.

NEW

AI Agents

Deploy intelligent agents directly inside the broker. Agents subscribe to MQTT topics,
reason with LLMs, call broker tools, and publish results — no external orchestration needed.

🧠

Multi-Provider LLMs

Choose from Gemini, Claude, OpenAI, or run local models via Ollama. Each agent can use a different provider and model. Switch providers without changing agent logic.

📡

MQTT-Triggered

Agents subscribe to input topics and react to incoming messages. When a sensor value arrives or an alarm fires, the agent reasons about it and publishes a response — all in real-time.

⏱️

Cron & Manual Triggers

Schedule agents with cron expressions or fixed intervals for periodic analysis. Invoke agents manually on demand via the dashboard or GraphQL API.

🔧

Broker Tools

Agents can publish messages, query archive history, read retained values, and access last-value caches. Full read/write access to broker data through LangChain4j tool annotations.

🔗

MCP Integration

Connect agents to external MCP servers for additional tool capabilities. Use MonsterMQ's own MCP server or plug in third-party services to extend what agents can do.

🤝

Agent-to-Agent (A2A)

Orchestrate multi-agent workflows over MQTT. Agents can delegate tasks to specialized sub-agents and collect results. Build hierarchies of cooperating agents for complex automation.

💾

Memory & Context

Sliding-window conversation memory with optional persistent state. Inject last-value data, retained messages, or historical queries as context so agents always have the information they need.

🖥️

Dashboard Management

Create, configure, enable, and monitor agents from the web dashboard or GraphQL API. View execution logs and tool calls in real-time. No restarts required.

Flexible Database Backends

MonsterMQ adapts to your infrastructure. Choose the database that fits your needs,
from lightweight SQLite for development to distributed CrateDB for time-series analytics.

PostgreSQL

✓ Full SQL capabilities
✓ Production proven
✓ Cluster support
✓ Advanced analytics

Best for: Production deployments with full SQL requirements

MongoDB

✓ Document store
✓ Flexible schema
✓ Horizontal scaling
✓ High throughput

Best for: NoSQL workloads and flexible data models

SQLite

SQLite

✓ Zero configuration
✓ Embedded database
✓ Single file
✓ Fast performance

Best for: Development and single-instance deployments

Database Capability Matrix

Database Session Store Retained Store Message Archive Clustering SQL Queries
PostgreSQL
MongoDB
SQLite

Intelligent Clustering Architecture

Build hierarchical MQTT infrastructures from edge to cloud. MonsterMQ's Hazelcast-based
clustering ensures data flows efficiently without duplication or unnecessary replication.

Enterprise Level

Enterprise Dashboard

Central data lake, AI/ML processing, business intelligence

Topic Filter: Enterprise/+/OEE/+
↑ Aggregated Metrics ↑

Regional Level

Line 1 MonsterMQ
Line 2 MonsterMQ
Line 3 MonsterMQ

Hazelcast Cluster - Aggregation, regional analytics, load balancing

Topic Filter: Enterprise/Line1/#, Enterprise/Line2/#
↑ Selected Data ↑

Edge Level

Machine 1
Machine 2
Machine 3
Machine 4
Machine 5
Machine 6
Machine 7
...

Production machines, sensors, PLCs - Local message processing

Smart Data Flow

Topic filters ensure only relevant data moves between levels, reducing bandwidth and storage costs.

Automatic Failover

Hazelcast clustering provides automatic failover and session migration between cluster nodes.

Central Database

All cluster nodes share a central database, ensuring consistent state and enabling SQL analytics.