MCPcopy Index your code
hub / github.com/EasyProgramming/easy-mqtt

github.com/EasyProgramming/easy-mqtt @v1.1.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.1.1 ↗ · + Follow
502 symbols 1,210 edges 123 files 195 documented · 39%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

English | 简体中文

💎 Easy MQTT

A simple and practical MQTT server(broker)

🎯 Goals

Keep everything simple

💪 Features

  • [x] Minimal startup method and configuration
  • [x] Supports standalone/cluster mode
  • [x] Supports data persistence
  • [x] Full compliance with MQTT v3.1.1 protocol
  • [x] Supports WebSocket MQTT subprotocol
  • [x] Supports external authentication via API during MQTT connection establishment
  • [x] Supports SSL for TCP/WebSocket connections

🚀 Quick Start

1. Download and Install Easy MQTT

Click here to download the latest compiled Easy MQTT package, and extract it.

2. Start Easy MQTT

sh bin/start.sh -c conf/conf.yml

📖文档

Open Source License

See LICENSE

Extension points exported contracts — how you extend this code

BaseEnum (Interface)
枚举基类 @author zbz @date 2024/7/16 16:50
server/src/main/java/com/ep/mqtt/server/metadata/BaseEnum.java
MetaDataDao (Interface)
@author zbz @date 2024/12/30 17:37
server/src/main/java/com/ep/mqtt/server/db/dao/MetaDataDao.java
RetainMessageDao (Interface)
@author zbz @date 2024/12/30 17:37
server/src/main/java/com/ep/mqtt/server/db/dao/RetainMessageDao.java
AsyncJobDao (Interface)
@author zbz @date 2025/2/21 14:46
server/src/main/java/com/ep/mqtt/server/db/dao/AsyncJobDao.java
ReceiveQos2MessageDao (Interface)
@author zbz @date 2024/12/30 17:37
server/src/main/java/com/ep/mqtt/server/db/dao/ReceiveQos2MessageDao.java

Core symbols most depended-on inside this repo

get
called by 41
server/src/main/java/com/ep/mqtt/server/session/SessionManager.java
println
called by 20
server/src/main/java/com/ep/mqtt/server/util/ScriptRunner.java
getClientId
called by 19
server/src/main/java/com/ep/mqtt/server/util/NettyUtil.java
getBusinessId
called by 18
server/src/main/java/com/ep/mqtt/server/metadata/AsyncJobBusinessType.java
getCode
called by 16
server/src/main/java/com/ep/mqtt/server/metadata/BaseEnum.java
add
called by 15
server/src/main/java/com/ep/mqtt/server/store/TopicFilterStore.java
valueOf
called by 15
server/src/main/java/com/ep/mqtt/server/metadata/YesOrNo.java
obj2String
called by 13
server/src/main/java/com/ep/mqtt/server/util/JsonUtil.java

Shape

Method 354
Class 103
Interface 33
Enum 12

Languages

Java100%

Modules by API surface

server/src/main/java/com/ep/mqtt/server/util/ScriptRunner.java24 symbols
server/src/main/java/com/ep/mqtt/server/deal/InboundDeal.java17 symbols
server/src/main/java/com/ep/mqtt/server/raft/RaftStateMachine.java16 symbols
server/src/main/java/com/ep/mqtt/server/store/TopicFilterStore.java15 symbols
server/src/main/java/com/ep/mqtt/server/queue/InsertSendMessageQueue.java15 symbols
server/src/main/java/com/ep/mqtt/server/store/RetainMessageStore.java14 symbols
server/src/main/java/com/ep/mqtt/server/util/HttpUtil.java12 symbols
server/src/main/java/com/ep/mqtt/server/job/AsyncJobEngine.java12 symbols
server/src/main/java/com/ep/mqtt/server/util/JsonUtil.java9 symbols
server/src/main/java/com/ep/mqtt/server/db/dao/SendMessageDao.java9 symbols
server/src/main/java/com/ep/mqtt/server/config/MybatisPlusConfig.java9 symbols
server/src/main/java/com/ep/mqtt/server/util/MqttUtil.java8 symbols

Datastores touched

(mysql)Database · 1 repos

For agents

$ claude mcp add easy-mqtt \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact