Communication infrastructure for the AI era โ one binary, one broker, one storage layer, any protocol
What is RobustMQ โข mq9 โข Features โข Roadmap โข Quick Start โข Documentation โข Contributing โข Community
โ ๏ธ Development Status RobustMQ is in early development and not yet production-ready. MQTT core is stable and continuing to mature. Kafka, NATS, and AMQP are under active development. Production readiness is targeted for 0.4.0.
RobustMQ is a unified messaging engine built with Rust. One binary, one broker, no external dependencies โ deployable from edge devices to cloud clusters. It natively supports MQTT, Kafka, NATS, AMQP, and mq9 on a shared storage layer: one message written once, consumed by any protocol.
MQTT publish โ RobustMQ unified storage โ Kafka consume
โ NATS subscribe
โ AMQP consume
โ mq9 Agent mailbox
Five protocols, one system:
| Protocol | Best for |
|---|---|
| MQTT | IoT devices, edge sensors |
| Kafka | Streaming data pipelines, analytics |
| NATS | Ultra-low-latency pub/sub |
| AMQP | Enterprise messaging, RabbitMQ migration |
| mq9 | AI Agent async communication |
mq9 is RobustMQ's communication layer designed for AI Agents. Just like people have email โ you send a message, the recipient reads it when they're available โ Agents need the same. Today, when Agent A sends a message to Agent B and B is offline, the message is gone. Every team works around this with Redis pub/sub, database polling, or homegrown queues.
mq9 solves it directly: send a message, the recipient gets it when they come online.
| Operation | Subject | What it does |
|---|---|---|
| MAILBOX.CREATE | $mq9.AI.MAILBOX.CREATE |
Create a private or public mailbox |
| Send | $mq9.AI.MAILBOX.MSG.{mail_id} / .urgent / .critical |
Deliver a message โ three levels: critical / urgent / normal (default, no suffix) |
| Subscribe | $mq9.AI.MAILBOX.MSG.{mail_id}.* |
Receive all priorities; new arrivals pushed in real time |
| Discover | $mq9.AI.PUBLIC.LIST |
Discover all public mailboxes |
# Create a private mailbox โ returns mail_id
nats req '$mq9.AI.MAILBOX.CREATE' '{"ttl":3600}'
# โ {"mail_id":"mail-d7a5072lko83gp7amga0-d7a5072lko83gp7amgag","is_new":true}
# Send to another Agent's mailbox (works even if they're offline)
nats pub '$mq9.AI.MAILBOX.MSG.mail-d7a5072lko83gp7amga0-d7a5072lko83gp7amgag' \
'{"type":"task_result","payload":"done","ts":1234567890}'
# Create a public mailbox (task queue), discoverable via PUBLIC.LIST
nats req '$mq9.AI.MAILBOX.CREATE' '{"ttl":3600,"public":true,"name":"task.queue","desc":"Task queue"}'
nats pub '$mq9.AI.MAILBOX.MSG.task.queue' '{"type":"data_analysis"}'
# Subscribe to your mailbox โ receives all non-expired messages immediately, in priority order
nats sub '$mq9.AI.MAILBOX.MSG.mail-d7a5072lko83gp7amga0-d7a5072lko83gp7amgag.*'Multiple integration paths: any NATS client connects directly; the RobustMQ SDK covers Go, Python, Rust, JavaScript, Java, and C#; the langchain-mq9 toolkit plugs into LangChain and LangGraph; and an MCP Server provides JSON-RPC 2.0 access for tools like Dify.
mq9 is RobustMQ's fifth native protocol, alongside MQTT, Kafka, NATS, and AMQP, built on the same unified storage layer. Deploy one RobustMQ instance โ mq9 is ready.
๐ mq9 Documentation
- ๐ค mq9 โ AI Agent communication: Agent mailboxes with persistent store-first delivery, three-level priority (critical / urgent / normal), TTL auto-cleanup, and public mailbox discovery โ async Agent-to-Agent messaging, no simultaneous online required
- ๐ฆ Rust-native: No GC, stable and predictable memory footprint, no periodic spikes โ consistent from edge devices to cloud clusters
- ๐๏ธ Unified storage layer: All protocols share one storage engine โ data written once, consumed by any protocol, no duplication
- ๐ Native multi-protocol: MQTT 3.1/3.1.1/5.0, Kafka, NATS, AMQP, mq9 โ natively implemented, full protocol semantics
- ๐ข Native multi-tenancy: Unified across all protocols โ full data isolation and independent permission management per tenant
- ๐ Edge-to-cloud: Single binary, zero dependencies, offline buffering with auto-sync โ same runtime from edge gateways to cloud clusters
- โก Ultra-low-latency dispatch: NATS pure in-memory routing โ no disk writes, millisecond to sub-millisecond latency
- ๐พ Multi-mode storage: Memory / RocksDB / File, per-topic configuration, automatic cold data tiering to S3
- ๐ Shared subscription: Break the "concurrency = partition count" limit โ consumers scale elastically at any time
- ๐ ๏ธ Minimal operations: Single binary, zero external dependencies, built-in Raft consensus, ready out of the box
Phase 1 โ MQTT (current)
MQTT core production-ready, continuously refined to be the best MQTT Broker available
Architecture and infrastructure hardened in parallel
Phase 2 โ NATS + mq9 AI Agent (in progress)
NATS protocol compatibility + mq9 Agent mailbox with priority & public discovery
Native Agent async communication layer
Phase 3 โ Kafka (in progress)
Full Kafka protocol compatibility
Complete the IoT-to-streaming data path, edge-to-cloud data flow
Phase 4 โ AMQP (planned)
Full AMQP protocol compatibility
Traditional enterprise messaging migration path
| Feature | Status |
|---|---|
| MQTT 3.x / 5.0 core | โ Available |
| Session persistence and recovery | โ Available |
| Shared subscription | โ Available |
| Authentication and ACL | โ Available |
| Grafana + Prometheus monitoring | โ Available |
| Web management console | โ Available |
| Kafka protocol | ๐ง In development |
| NATS protocol | ๐ฌ Demo validated, in development |
| AMQP protocol | ๐ฌ Demo validated, in development |
| mq9 โ AI Agent mailbox | ๐ฌ Demo validated, in development |
RobustMQ has three components with fixed, clean boundaries:
- Meta Service โ metadata management, Raft-based consensus
- Broker โ protocol parsing and routing (MQTT / Kafka / NATS / AMQP / mq9)
- Storage Engine โ unified data storage with pluggable backends
Adding a new protocol means implementing only the Broker parsing layer. Adding a new storage backend means implementing only the Storage Engine interface. The core architecture does not change.
curl -fsSL https://raw.githubusercontent.com/robustmq/robustmq/main/scripts/install.sh | bash
broker-server start# Publish via MQTT
mqttx pub -h localhost -p 1883 -t "robustmq.multi.protocol" -m "Hello RobustMQ!"
# Consume the same message via Kafka
kafka-console-consumer.sh --bootstrap-server localhost:9092 \
--topic robustmq.multi.protocol --from-beginning
# Consume the same message via NATS
nats sub "robustmq.multi.protocol"# Agent A creates a mailbox โ returns mail_id
nats req '$mq9.AI.MAILBOX.CREATE' '{"ttl":3600}'
# Agent B sends to Agent A (works even if A is offline)
nats pub '$mq9.AI.MAILBOX.MSG.{mail_id_a}' '{"type":"task","payload":"hello","ts":1234567890}'
# Agent A subscribes and receives all non-expired messages in priority order
nats sub '$mq9.AI.MAILBOX.MSG.{mail_id_a}.*'Access http://localhost:8080 for cluster monitoring and management.
- MQTT Server:
117.72.92.117:1883(admin/robustmq) - Web Dashboard: http://demo.robustmq.com:8080
๐ Full installation and usage guide: Documentation
git clone https://github.com/robustmq/robustmq.git
cd robustmq
cargo run --package cmd --bin broker-server
make build # Basic build
make build-full # With frontend๐ Build Guide
- ๐ Official Documentation โ Comprehensive guides and API references
- ๐ค mq9 Overview โ Design rationale and core concepts
- โก mq9 Quick Start โ CLI walkthrough in 10 minutes
- ๐ mq9 SDK Integration โ Python, Go, JavaScript, Java, Rust, C#
- ๐งฉ mq9 NATS Client Usage โ Use any NATS client directly
- ๐ mq9 LangChain Integration โ LangChain & LangGraph toolkit
- ๐บ๏ธ mq9 Roadmap โ Semantic routing, intent policy, context awareness
- ๐ Quick Start Guide โ Get up and running in minutes
- ๐ง MQTT Documentation โ MQTT-specific features and configuration
- ๐ป Command Reference โ CLI commands and usage
- ๐๏ธ Web Console โ Management interface
Install the mq9 SDK for your language:
# Python
pip install robustmq
# JavaScript / TypeScript
npm install @robustmq/sdk
# Rust
cargo add robustmq
# Go
go get github.com/robustmq/robustmq-sdk/go
# Java (Maven)
# <dependency><groupId>com.robustmq</groupId><artifactId>robustmq</artifactId><version>0.3.5</version></dependency>
# C# (.NET)
dotnet add package RobustMQOr use any NATS client library directly โ no SDK required.
We welcome contributions. See our Contribution Guide and Good First Issues.
- ๐ฎ Discord โ Real-time chat and collaboration
- ๐ GitHub Issues โ Bug reports and feature requests
- ๐ก GitHub Discussions โ General discussions
-
ๅพฎไฟก็พค: Join our WeChat group for Chinese-speaking users
-
ๅผๅ่ ๅพฎไฟก: If the group QR code has expired, follow our official WeChat account
RobustMQ is licensed under the Apache License 2.0. See LICENSING.md for details.







