MQTT Broker for
Factory Automation

High-performance, database-backed MQTT broker built on Vert.X and Hazelcast.
Store messages persistently, scale horizontally, and integrate with AI models.

✓ MQTT 3.1.1
✓ Multi-Database
✓ OPC UA
✓ Dashboard
✓ Clustering
✓ AI Ready

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.

🤖

AI Integration Ready

Integrated MCP (Model Context Protocol) server allows AI models to query real-time and historical MQTT data directly.

🏭

OPC UA Integration

Native OPC UA support with unified message archiving. Industrial automation data flows through the same central system as MQTT messages, ensuring complete data integrity.

📊

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.

🔍

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.

🖥️

Web Dashboard

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

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

CrateDB

CrateDB

✓ Time-series optimized
✓ Distributed SQL
✓ Real-time analytics
✓ IoT scale

Best for: Time-series data and IoT analytics

SQLite

SQLite

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

Best for: Development and single-instance deployments

Kafka

Apache Kafka

✓ Stream processing
✓ Event sourcing
✓ Real-time analytics
✓ Infinite retention

Best for: Stream analytics and event-driven architectures

Hazelcast

Hazelcast

✓ Distributed cache
✓ In-memory speed
✓ Cluster-aware
✓ Automatic replication

Best for: High-speed last values and distributed caching

Database Capability Matrix

Database Session Store Retained Store Message Archive Clustering SQL Queries
PostgreSQL
MongoDB
CrateDB
SQLite
Apache Kafka
Hazelcast

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.

Modern Integration Capabilities

🤖

MCP Server (AI Ready)

Built-in Model Context Protocol server on port 3000 enables AI models to directly query MQTT data.

import mcp_client

client = mcp_client.connect("http://localhost:3000")
data = client.query_topics("sensors/#")
history = client.get_history("sensors/temp")
📊

GraphQL API

Query current states and historical data with GraphQL. Real-time subscriptions for live data streams.

query {
  currentValue(topic: "sensors/temperature") {
    payload
    timestamp
  }
}
🔍

SQL Analytics

Direct SQL access to all stored messages enables powerful analytics and reporting capabilities.

SELECT topic, AVG(payload::float) as avg_temp
FROM messages
WHERE topic LIKE 'sensors/temp%'
GROUP BY topic
📡

Kafka Streaming

Stream MQTT messages to Kafka for event sourcing, or use Kafka as the internal message bus.

ArchiveGroups:
  - Name: events
    TopicFilter: ["events/#"]
    ArchiveType: KAFKA
🏭

OPC UA Integration

Native OPC UA client with cluster-aware device management. Unified archiving ensures industrial data flows through the same system as MQTT.

// OPC UA device configuration
{
  "name": "factory_plc01",
  "namespace": "opcua/factory",
  "config": {
    "endpointUrl": "opc.tcp://192.168.1.100:4840",
    "addresses": [{
      "address": "BrowsePath://Objects/Factory/#",
      "topic": "sensors"
    }]
  }
}
🖥️

Web Dashboard

Complete browser-based management interface for configuration, monitoring, and administration. Real-time updates without broker restarts.

// Access management dashboard
http://localhost:4000/archives   // Archive Groups
http://localhost:4000/users      // User Management
http://localhost:4000/graphql    // GraphQL Playground

// Dynamic configuration changes
mutation {
  createArchiveGroup(input: {
    name: "Production"
    enabled: true
    topicFilter: ["sensors/#"]
  }) { success }
}