High-performance, database-backed MQTT broker built on Vert.X and Hazelcast.
Store messages persistently, scale horizontally, and integrate with AI models.
Choose from PostgreSQL, MongoDB, CrateDB, or SQLite. Store retained messages and persistent sessions with enterprise-grade reliability.
Built-in Hazelcast clustering enables seamless horizontal scaling. Deploy from production line to enterprise with automatic failover and load balancing.
Integrated MCP (Model Context Protocol) server allows AI models to query real-time and historical MQTT data directly.
Native OPC UA support with unified message archiving. Industrial automation data flows through the same central system as MQTT messages, ensuring complete data integrity.
Query current topic states and historical data through a modern GraphQL interface with real-time subscriptions support.
All data stored in central databases can be queried with standard SQL, enabling powerful analytics and reporting.
TLS/SSL support, user authentication with BCrypt, fine-grained ACL rules, and database-level security.
Interactive topic tree navigation with search capabilities and message inspection. Browse MQTT topic hierarchies with expandable nodes and view message data in real-time.
Complete web-based management interface for archive groups, users, and system configuration. Real-time updates without broker restarts.
MonsterMQ adapts to your infrastructure. Choose the database that fits your needs,
from lightweight SQLite for development to distributed CrateDB for time-series analytics.
Best for: Production deployments with full SQL requirements
Best for: NoSQL workloads and flexible data models
Best for: Time-series data and IoT analytics
Best for: Development and single-instance deployments
Best for: Stream analytics and event-driven architectures
Best for: High-speed last values and distributed caching
Database | Session Store | Retained Store | Message Archive | Clustering | SQL Queries |
---|---|---|---|---|---|
PostgreSQL | ✓ | ✓ | ✓ | ✓ | ✓ |
MongoDB | ✓ | ✓ | ✓ | ✓ | ✗ |
CrateDB | ✓ | ✓ | ✓ | ✓ | ✓ |
SQLite | ✓ | ✓ | ✓ | ✗ | ✓ |
Apache Kafka | ✗ | ✗ | ✓ | ✓ | ✗ |
Hazelcast | ✗ | ✓ | ✗ | ✓ | ✗ |
Build hierarchical MQTT infrastructures from edge to cloud. MonsterMQ's Hazelcast-based
clustering ensures data flows efficiently without duplication or unnecessary replication.
Central data lake, AI/ML processing, business intelligence
Hazelcast Cluster - Aggregation, regional analytics, load balancing
Production machines, sensors, PLCs - Local message processing
Topic filters ensure only relevant data moves between levels, reducing bandwidth and storage costs.
Hazelcast clustering provides automatic failover and session migration between cluster nodes.
All cluster nodes share a central database, ensuring consistent state and enabling SQL analytics.
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")
Query current states and historical data with GraphQL. Real-time subscriptions for live data streams.
query {
currentValue(topic: "sensors/temperature") {
payload
timestamp
}
}
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
Stream MQTT messages to Kafka for event sourcing, or use Kafka as the internal message bus.
ArchiveGroups:
- Name: events
TopicFilter: ["events/#"]
ArchiveType: KAFKA
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"
}]
}
}
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 }
}