EMQX MCP Server

EMQX MCP Server

site icon
2025.03.13 12
PythonMQTT 服务物联网管理其它
EMQX MCP Server 是一个基于 Model Context Protocol (MCP) 的服务实现,主要用于与 EMQX MQTT 代理进行交互。它支持与 EMQX Cloud 或自托管集群的 MQTT 集群进行交互,提供 MQTT 客户端管理和消息发布功能。
View on GitHub

Overview

基本能力

产品定位

EMQX MCP Server 是一个用于与 EMQX MQTT 代理交互的服务,适用于需要管理和监控 MQTT 客户端以及发布消息的场景。

核心功能

  1. MQTT 客户端管理
  2. 客户端列表:查看所有连接的 MQTT 客户端,支持灵活的过滤选项。
  3. 客户端信息:获取特定客户端的详细信息。
  4. 连接控制:断开问题或闲置客户端。
  5. 灵活过滤:支持按节点、用户名、客户端 ID、连接状态等进行过滤。

  6. MQTT 消息发布

  7. 基于主题的发布:向任何 MQTT 主题发送消息。
  8. QoS 控制:选择服务质量级别(0、1 或 2)。
  9. 消息保留:可选保留消息以供新订阅者使用。
  10. 自定义负载:支持任何消息内容格式。

适用场景

  • 物联网设备管理
  • 实时消息发布与订阅
  • MQTT 客户端监控与维护

工具列表

  1. list_mqtt_clients
  2. 列出连接到 EMQX 集群的 MQTT 客户端。
  3. 支持多种过滤选项,如节点、客户端 ID、用户名等。

  4. get_mqtt_client

  5. 通过客户端 ID 获取特定 MQTT 客户端的详细信息。

  6. kick_mqtt_client

  7. 通过客户端 ID 断开客户端与 MQTT 代理的连接。

  8. publish_mqtt_message

  9. 向 EMQX 集群发布 MQTT 消息。
  10. 支持指定主题、负载、QoS 级别和消息保留选项。

常见问题解答

  • 如何设置 EMQX 集群?
  • 提供三种方式:EMQX Cloud Serverless 部署、EMQX Cloud 专用部署和自托管 EMQX 平台。
  • 如何本地运行?
  • 提供三种安装方式:通过 Smithery 安装、Docker 安装和手动安装。

使用教程

使用依赖

  1. 设置 EMQX 集群,并配置 API 密钥和客户端认证。
  2. EMQX Cloud Serverless 部署:注册并获取免费部署。
  3. EMQX Cloud 专用部署:创建专用部署。
  4. 自托管 EMQX 平台:下载并部署 EMQX 平台。

安装教程

  1. 通过 Smithery 安装 bash npx -y @smithery/cli install @Benniu/emqx-mcp-server --client claude

  2. 通过 Docker 安装 bash docker pull benniuji/emqx-mcp-server 然后配置 claude_desktop_config.json 文件。

  3. 手动安装

  4. 安装 uv 可执行文件。
  5. 克隆仓库并配置 claude_desktop_config.json 文件。

调试方式

  1. 启动 Claude Desktop App。
  2. 尝试与 MQTT 代理交互,例如发布消息或列出客户端。
  3. 检查日志和返回信息以确认操作是否成功。

许可证

该项目遵循 Apache-2.0 开源许可条款,请参阅 Apache-2.0 了解完整条款。