EMQX MCP 服务器
提供与 EMQX MQTT 代理交互的模型上下文协议 (MCP)服务器实现。使 MCP 客户端能够与EMQX Cloud或自托管集群上的 MQTT 集群进行交互。
特征
MQTT 客户端管理
- 客户端列表:使用灵活的过滤选项查看所有连接的 MQTT 客户端
- 客户信息:检索特定客户的详细信息
- 连接控制:断开有问题或过时的客户端与代理的连接
- 灵活过滤:按节点、用户名、客户端 ID、连接状态等过滤客户端
MQTT消息发布
- 基于主题的发布:向任何 MQTT 主题发送消息
- QoS 控制:选择服务质量级别(0、1 或 2)以实现可靠交付
- 消息保留:为新订阅者保留消息的选项
- 自定义有效负载:支持任何消息内容格式
工具
列出 mqtt 客户端
- 列出连接到 EMQX 集群的 MQTT 客户端
- 输入:
- page(数字,可选):页码(默认值:1)
- limit(数字,可选):每页结果数(默认值:100,最大 10000)
- 节点(字符串,可选):按特定节点名称过滤
- clientid(字符串,可选):按特定客户端 ID 进行过滤
- 用户名(字符串,可选):按特定用户名过滤
- ip_address(字符串,可选):按客户端 IP 地址过滤
- conn_state(字符串,可选):按连接状态过滤
- clean_start(布尔值,可选):按干净启动标志过滤
- proto_ver(字符串,可选):按协议版本过滤
- like_clientid (string,可选):按客户端 ID 模式进行模糊搜索
- like_username(字符串,可选):按用户名模式模糊搜索
- like_ip_address(字符串,可选):按 IP 地址模式进行模糊搜索
获取mqtt客户端
- 通过客户端 ID 获取特定 MQTT 客户端的详细信息
- 输入:
- clientid(字符串,必需):要检索的客户端的唯一标识符
kick_mqtt_客户端
- 根据客户端 ID 断开客户端与 MQTT 代理的连接
- 输入:
- clientid(字符串,必需):要断开连接的客户端的唯一标识符
发布_mqtt_消息
- 在 EMQX 云或自管理部署上向 EMQX 集群发布 MQTT 消息
- 输入:
- topic(字符串,必需):要发布的 MQTT 主题
- 有效载荷(字符串,必需):要发布的消息内容
- qos(数字,可选):服务质量级别(0、1 或 2)(默认值:0)
- retain(布尔值,可选):是否保留消息(默认值:false)
设置 EMQX 集群
在使用 EMQX MCP 服务器工具之前,您需要搭建一个 EMQX 集群,并正确配置 API 密钥和客户端身份验证。有以下几种选择:
- EMQX Cloud 无服务器部署:
- 最简单的入门方法。
- 从 EMQX Cloud 获取免费的无服务器部署
- 在EMQX Cloud Serverless注册
- EMQX 云专属部署:
- 为生产工作负载提供专用资源
- 提供增强的性能、可靠性和定制选项
- 支持各种云提供商(AWS、GCP、Azure)
- 包括专业的 SLA 和支持
- 在EMQX Cloud Dedicated上创建部署
- 自托管 EMQX 平台:
- 下载并本地部署 EMQX 平台
- 按照EMQX 平台的安装说明进行操作
使用 Claude 桌面应用程序在本地运行
选项 1:通过 Smithery 安装
通过Smithery自动为 Claude Desktop 安装 emqx-mcp-server:
选项 2:Docker
- 如果您还没有安装Claude 桌面应用程序,请安装。
- 拉取镜像:
- 将以下内容添加到您的
claude_desktop_config.json
文件中:- 在 MacOS 上:
~/Library/Application\ Support/Claude/claude_desktop_config.json
- 在 Windows 上:
%APPDATA%/Claude/claude_desktop_config.json
注意:更新环境变量:
EMQX_API_URL
,EMQX_API_KEY
,EMQX_API_SECRET
- 在 MacOS 上:
- 打开或重新启动 Claude 桌面应用程序
- 尝试要求 Claude 使用 MQTT 代理执行某些操作(例如,要求它将 MQTT 消息发布到主题)。
选项 3:手动安装
首先,请确保您已安装uv
可执行文件。如果没有,您可以按照此处的说明进行安装。
- 如果您还没有安装Claude 桌面应用程序,请安装。
- 克隆此存储库。
- 将以下内容添加到您的
claude_desktop_config.json
文件中:- 在 MacOS 上:
~/Library/Application\ Support/Claude/claude_desktop_config.json
- 在 Windows 上:
%APPDATA%/Claude/claude_desktop_config.json
GXP4
注意:请确保将
path/to/repo/src/emqx_mcp_server
更新为实际路径,并修改环境变量EMQX_API_URL
、EMQX_API_KEY
和EMQX_API_SECRET
以匹配您的 EMQX 实例。 - 在 MacOS 上:
- 打开或重新启动 Claude 桌面应用程序
- 尝试要求 Claude 使用 MQTT 代理执行某些操作(例如,要求它将 MQTT 消息发布到主题)。
示例提示
用户:
法学硕士:
用户:
法学硕士:
用户:
法学硕士:
用户:
法学硕士
执照
该项目根据 Apache 许可证版本 2.0 获得许可 - 有关详细信息,请参阅LICENSE文件。
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
提供 EMQX MQTT 代理交互的模型上下文协议 (MCP) 服务器实现。
Related Resources
Related MCP Servers
- -securityFlicense-qualityA Model Context Protocol (MCP) server implementation for interacting with Phabricator API. This server allows LLMs to interact with Phabricator through a standardized interface.Last updated -5Python
- AsecurityFlicenseAqualityA Model Context Protocol (MCP) server that provides a simple sleep/wait tool, useful for adding delays between operations such as waiting between API calls or testing eventually consistent systems.Last updated -167JavaScript
- AsecurityAlicenseAqualityAn educational implementation of a Model Context Protocol server that demonstrates how to build a functional MCP server for integrating with various LLM clients like Claude Desktop.Last updated -188PythonMIT License
- AsecurityFlicenseAqualityA Model Context Protocol (MCP) server that interacts with system APIs, allowing users to check connections, search employees, register breakfast, and update chemical information by shifts.Last updated -2176JavaScript