EMQXSAFE
A Model Context Protocol (MCP) server implementation that provides EMQX MQTT broker interaction.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
[](https://smithery.ai/server/@Benniu/emqx-mcp-server)
A Model Context Protocol (MCP) server implementation that provides EMQX MQTT broker interaction. Enabling MCP clients to interact with the MQTT clusters on EMQX Cloud or self-hosted clusters
Features
MQTT Client Management
- Client Listing: View all connected MQTT clients with flexible filtering options
- Client Information: Retrieve detailed information about specific clients
- Connection Control: Disconnect problematic or stale clients from the broker
- Flexible Filtering: Filter clients by node, username, client ID, connection state, and more
MQTT Message Publishing
- Topic-based Publishing: Send messages to any MQTT topics
- QoS Control: Select Quality of Service level (0, 1, or 2) for reliable delivery
- Message Retention: Option to persist messages for new subscribers
- Custom Payloads: Support for any message content format
MQTT Topic Subscription (SSE)
- Real-time Subscription: Subscribe to MQTT topics via Server-Sent Events (SSE)
- Duration Control: Configure how long to listen for messages (1-300 seconds)
- Message Limiting: Set maximum number of messages to collect per subscription
- Automatic Parsing: Messages are automatically parsed from SSE event stream
Tools
listmqttclients
- List MQTT clients connected to your EMQX Cluster
- Inputs:
- page (number, optional): Page number (default: 1)
- limit (number, optional): Results per page (default: 100, max 10000)
- node (string, optional): Filter by specific node name
- clientid (string, optional): Filter by specific client ID
9dc69059b65dOBSERVED · 2026-10-09Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add emqx-mcp-server --env EMQX_API_KEY=${EMQX_API_KEY} --env EMQX_API_SECRET=${EMQX_API_SECRET} -- uvx emqx-mcp-server{
"mcpServers": {
"emqx-mcp-server": {
"command": "uvx",
"args": [
"emqx-mcp-server"
],
"env": {
"EMQX_API_KEY": "${EMQX_API_KEY}",
"EMQX_API_SECRET": "${EMQX_API_SECRET}"
}
}
}
}Exposed tools (5)
4 read · 1 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
get_mqtt_client | read | Handle get client info request. |
kick_mqtt_client | read | Handle kick client request. |
list_mqtt_clients | read | Handle list clients request. |
publish_mqtt_message | write | Handle publish message request. |
subscribe_mqtt_topic | read | Handle subscribe to topic request. |
Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- declared (5 observation(s))
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (1)
decoded = base64.b64decode(token).decode()
Gates applied: no_behavioural_pass.
9dc69059b65dfull audit observations/trust-audit/mcp-server/benniu__emqx.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-09 | 9dc69059b65d | SAFE | B | 89 | first audit |
Questions
What is the EMQX MCP server?
A Model Context Protocol (MCP) server implementation that provides EMQX MQTT broker interaction.
What tools does EMQX expose?
5 in total: 4 read-only, 1 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is EMQX safe to connect to an agent?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.
What credentials does EMQX need?
It reads EMQX_API_KEY and EMQX_API_SECRET from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How current is this page?
The grade is for one exact copy of the source (9dc69059b65d), read on 2026-10-09. The repository is watched and re-audited when it changes.