当前位置: 首页 > article >正文

MQTTX + MCP:MQTT 客户端秒变物联网 Agent

引言:MQTTX 与 MCP 的融合

作为最受欢迎的 MQTT 客户端工具,MQTTX 在 1.12.0 beta 版本中集成了模型上下文协议(MCP)到 Copilot AI 功能中,显著提升了服务能力。这一融合让 MQTTX 转变为 MCP Host(也就是发起请求的 LLM 应用程序),支持 MQTTX Copilot 直接与 MQTT 服务(如 EMQX)和本地资源进行交互。这种将大语言模型(LLM)与 MQTT 操作相结合的方式,为物联网自动化、监控和开发带来了全新可能。

下载最新版本:Release v1.12.0-beta.2 · emqx/MQTTX

由于目前处于测试版本,应用不会自动更新。请从 Assets 部分手动下载并安装。

MCP 简介

模型上下文协议(MCP)提供了 AI 模型与外部数据源或工具间的标准化接口,可以理解为「AI 应用的 USB-C 接口」。通过这一协议,MQTTX Copilot 可以实现以下功能:

  • 访问训练数据之外的上下文信息。
  • 与本地和远程系统进行安全交互。
  • 在各种 AI 提供商间维持统一接口。
  • 通过标准化工具调用实现特定功能。

MCP 基于客户端-服务器架构设计,Host 应用(比如 Cursor、MQTTX 等)内置 MCP 客户端,通过客户端连接到 MCP 服务器以提供特定功能。这种架构不仅确保了数据在用户自有基础设施中的安全存储,同时还支持强大的 AI 驱动工作流。

MQTTX Host 功能实现概览

通过集成 MCP 客户端,MQTTX 成为 MCP Host,可以与各种 MCP 服务器连接,这一实现支持:

  • SSE(服务器推送事件)和 Stdio(标准输入输出)两种 MCP 服务器类型。
  • 通过 MQTTX 设置界面进行简单配置。
  • 集成多种 AI 模型,包括 OpenAI GPT-4o、Claude 3.5/3.7、Grok 2 和 DeepSeek 等。
  • 对特定模型提供「思维链」支持,实现高级推理能力。

配置过程非常简单,用户只需通过 MQTTX 设置面板,将 MCP 服务器设置为命令行进程或 HTTP 端点即可。

应用场景:MQTTX 中的 MCP 实践

让我们通过实例来探索如何在 MQTTX 中设置和使用 MCP:

在 MQTTX 中设置 MCP

  1. 打开 MQTTX 并导航至左侧边栏的「设置」。
  2. 启用 Copilot 功能并使用 API 密钥配置您偏好的 AI 模型。
  3. 向下滚动至 MCP 部分并启用它。
  4. 在提供的输入框中以 JSON 格式添加 MCP 服务器配置。
  5. 添加配置后,可用服务器将显示在下方列表中。
  6. 点击右上角的「连接」按钮,测试服务器连接。
  7. 对于成功连接的服务器,您将看到可用工具列表。
  8. 使用「禁用/启用」开关切换服务器状态。

image.png

本地文件系统集成

通过文件系统 MCP 服务器,Copilot 可以与您的本地文件交互,直接生成并保存代码到指定目录:

{"mcpServers": {"filesystem": {"command": "npx","args": ["-y","@modelcontextprotocol/server-filesystem","/Users/username/Desktop","/Users/username/Downloads"]}}
}

具体工作流程示例如下:

  1. 按照上述方式配置文件系统 MCP 服务器。
  2. 在 Copilot 聊天框中,使用 @connection 关键词提取当前连接详情。
  3. 要求 Copilot “为这个 MQTT @connection 生成 JavaScript 代码并将其保存到 /Users/username/Downloads 路径下,命名为 mqtt-test.js”。
  4. AI 将使用 MCP 创建文件并保存到您指定的位置。

image.png

image.png

在终端中使用 cat mqtt-test.js 命令可以验证代码已成功创建,并包含了正确的连接参数。

image.png

这种方法通过消除「复制粘贴」的工作流程,极大地简化了开发过程:代码会直接生成并保存到您需要的位置,随时可以执行。

通过 MCP SSE 服务器进行 MQTT 操作

要通过 AI 直接执行 MQTT 操作,您可以部署自定义的 MQTTX MCP SSE 服务器(https://github.com/ysfscream/mqttx-mcp-sse-server)。

{"mcpServers": {"mqttx-server": {"url": "http://localhost:4000/mqttx/sse"}}
}

具体工作流程示例如下:

  1. 在本地或云端部署 MQTTX MCP SSE 服务器。
  2. 按照上述方式在 MQTTX 中配置服务器。
  3. 在 Copilot 聊天框中,输入请求:“连接到 mqtt://broker.emqx.io:1883 并向 testtopic/mcp 主题发布消息”。
  4. 在另一个 MQTTX 连接中,订阅相同的主题。
  5. AI 将通过 MCP 调用发布的消息,并实时显示在您的订阅窗口中。

image.png

这一功能彻底改变了用户与 MQTT 服务的交互方式:用户无需再手动配置连接或发布消息,只需通过自然语言指令,即可让 MQTTX Copilot 自动执行操作。这一特性在快速 MQTT 交互测试、调试以及教学场景中展现出重要价值,极大提升了效率和易用性。

结论

将 MCP 整合到 MQTTX 是 EMQ 连接物联网与 AI 技术融合愿景中的关键一步。目前的 beta 版本已经实现让 AI 助手通过自然语言与 MQTT 服务交互,但我们的目标远不止于此。

EMQ 正在积极开发「MCP over MQTT」实现方案,旨在利用 MQTT 的服务发现和发布-订阅机制来突破现有 MCP 架构的限制。这些探索将为智能物联网通信奠定坚实基础,结合 MQTTX Copilot 的 AI 服务能力,未来将支持模式生成、连接诊断及测试数据创建等更多功能。

欢迎社区成员体验这些新功能并提供反馈,助力开发更友好、更强大的 MQTT 操作解决方案。

「构建物联网应用或集成 AI 到 MQTT 工作流程」欢迎与我们联系。

相关文章:

MQTTX + MCP:MQTT 客户端秒变物联网 Agent

引言:MQTTX 与 MCP 的融合 作为最受欢迎的 MQTT 客户端工具,MQTTX 在 1.12.0 beta 版本中集成了模型上下文协议(MCP)到 Copilot AI 功能中,显著提升了服务能力。这一融合让 MQTTX 转变为 MCP Host(也就是发…...

redis close+连接参数设置+并发情况风险分析

1,如下代码 redis 为什么 client.close,不关闭会出现什么问题 public void confirm(String token, MenuHistoryVO menuHistoryVO) {if (StringUtil.isEmptyOrNull(token) || Objects.isNull(menuHistoryVO)) {return;}String key getKey(token);JedisC…...

[密码学实战]GMT 0048-2016智能密码钥匙密码检测规范技术解析与实战指南

GMT 0048-2016智能密码钥匙密码检测规范技术解析与实战指南 引言 随着信息安全需求的升级,智能密码钥匙(如USB Key、安全芯片等)作为密码运算和密钥管理的核心设备,广泛应用于金融、政务、物联网等领域。中国国家密码管理局发布…...

Android OkHttp 框架的使用与源码、原理解析

一、引言 在如今的移动应用开发领域,网络交互已经成为了绝大多数 Android 应用不可或缺的一部分。无论是获取最新的资讯内容、同步用户数据,还是与后端服务器进行实时通信,高效且稳定的网络请求都是保障应用良好用户体验的基石。而 OkHttp 框…...

Qt C++ 解析和处理 XML 文件示例

使用 Qt C 解析和处理 XML 文件 以下是使用 Qt C 实现 XML 文件处理的几种方法&#xff0c;包括解析、创建和修改 XML 文件。 1. 使用 QXmlStreamReader (推荐方式) #include <QFile> #include <QXmlStreamReader> #include <QDebug>void parseXmlWithStr…...

快手砍掉本地生活的门槛

一场本地商家的效率革命。 作者|景行 编辑|杨舟 “两斤鸡翅根七块九&#xff0c;两盒蓝莓九块钱&#xff0c;两公斤卫生纸十四块九一提。” 这是朝阳佳惠超市&#xff0c;在快手一则普通的短视频内容。 佳惠超市在辽宁省朝阳市有22家分店&#xff0c;打开佳惠超市的相关快手…...

Python基础语法3

目录 1、函数 1.1、语法格式 1.2、函数返回值 1.3、变量作用域 1.4、执行过程 1.5、链式调用 1.6、嵌套调用 1.7、函数递归 1.8、参数默认值 1.9、关键字参数 2、列表 2.1、创建列表 2.2、下标访问 2.3、切片操作 2.4、遍历列表元素 2.5、新增元素 2.6、查找元…...

Vue 3中如何封装API请求:提升开发效率的最佳实践

在现代前端开发中&#xff0c;API请求是不可避免的一部分&#xff0c;尤其是与后端交互时。随着Vue 3的广泛应用&#xff0c;如何高效地封装API请求&#xff0c;既能提升代码的可维护性&#xff0c;又能确保代码的高复用性&#xff0c;成为了很多开发者关注的话题。 在本文中&…...

GitHub 趋势日报 (2025年04月17日)

本日报由 TrendForge 系统生成 https://trendforge.devlive.org/ &#x1f4c8; 今日整体趋势 Top 10 排名项目名称项目描述今日获星总星数语言1Anduin2017/HowToCook程序员在家做饭方法指南。Programmer’s guide about how to cook at home (Simplified Chinese onl…⭐ 224…...

第5章-1 优化服务器设置

上一篇&#xff1a;《第4章-5 linux 网络管理》&#xff0c;接着服务器设置 本章我们将解释如何为MySQL服务器创建合适的配置文件。这是一个迂回的旅程&#xff0c;有许多兴趣点和可以俯瞰风景的短途旅程。这些短途旅程是必要的。确定合适配置的最短路径并不是从研究配置选项并…...

【AI】Windows环境安装SPAR3D单图三维重建心得

效果一览 左图为原始单个图像&#xff0c;右图为通过SPAR3D重建后的三维建模&#xff0c;可以看出效果还是不错的。 本地环境配置 系统&#xff1a;Windows 11 专业版CPU&#xff1a;i5-13400F内存&#xff1a;32GBGPU&#xff1a;RTX3060 12GBcuda&#xff1a;11.8conda&…...

桌面应用UI开发方案

一、基于 Web 技术的跨平台方案 Electron Python/Go 特点&#xff1a; 技术栈&#xff1a;前端使用 HTML/CSS/JS&#xff0c;后端通过 Node.js 集成 Python/Go 模块或服务。 跨平台&#xff1a;支持 Windows、macOS、Linux 桌面端&#xff0c;适合开发桌面应用。 生态成熟&…...

使用docker在manjaro linux系统上运行windows和ubuntu

因为最近项目必须要使用指定版本的solidworks和maxwell&#xff08;都只能在win系统上使用&#xff09;, 且目前的ubuntu容器是没有桌面的&#xff0c;导致我运行不了一些带图形的ros2功能。无奈之下&#xff0c;决定使用docker-compose写一下配置文件&#xff0c;彻底解决问题…...

Agent智能体ReAct机制深度解读:推理与行动的完美闭环

一、从Chain-of-Thought到ReAct的范式演进 1.1 传统决策机制的局限 #mermaid-svg-Jf3ygvgHcGciJvX8 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-Jf3ygvgHcGciJvX8 .error-icon{fill:#552222;}#mermaid-svg-Jf3y…...

在 Node.js 中使用原生 `http` 模块,获取请求的各个部分:**请求行、请求头、请求体、请求路径、查询字符串** 等内容

在 Node.js 中使用原生 http 模块&#xff0c;可以通过 req 对象来获取请求的各个部分&#xff1a;请求行、请求头、请求体、请求路径、查询字符串 等内容。 ✅ 一、基础结构 const http require(http); const url require(url);const server http.createServer((req, res)…...

Redis(01)Redis连接报错Redis is running in protected mode……的解决方案

一、引言&#xff1a;从一个典型连接错误说起 在分布式系统开发中&#xff0c;Redis 作为高性能缓存中间件被广泛使用。 然而&#xff0c;当我们首次部署 Redis 并尝试从外部客户端连接时&#xff0c;常常会遇到以下错误&#xff1a; DENIED Redis is running in protected m…...

18487.1-2015-解读笔记之四-交流充电之流程分析

前面简单分析了国标交流充电桩插枪监测逻辑和PWM控制逻辑&#xff0c;下面简单分析一下交流充电流程 附录A 交流充电连接过程和控制时序如下&#xff1a; 由此可以将充电流程大概分为几个阶段&#xff1a; 1.充电连接阶段 充电连接阶段CC&#xff08;电阻由无穷大到R4RC&…...

海外服务器安装Ubuntu 22.04图形界面并配置VNC远程访问指南

在云计算和远程工作日益普及的今天,如何高效地管理和使用海外服务器成为了一个热门话题。本文将详细介绍如何在海外的Ubuntu 22.04服务器上安装图形界面,并配置VNC服务来实现远程访问。无论您是开发者、系统管理员,还是只是想要更便捷地管理您的海外服务器,这篇指南都能为您…...

Linux 管道理解

一、什么是管道 1.1 unix中最古老的进程间通信 1.2 一个进程链接到另一个进程的数据流称为“管道”&#xff1a; 图解&#xff1a; 二、管道通信的原理 2.1当我们创建一个进程然后打开一个文件的时候 会经过以下步骤&#xff1a; ①首先要描述这个进程&#xff0c;为这个…...

国产RK3568+FPGA以 ‌“实时控制+高精度采集+灵活扩展”‌ 为核心的解决方案

RK3568FPGA方案在工业领域应用的核心优势 一、‌实时性与低延迟控制‌ ‌AMP架构与GPIO中断技术‌ 通过非对称多处理架构&#xff08;AMP&#xff09;实现Linux与实时操作系统&#xff08;RTOS/裸机&#xff09;协同&#xff0c;主核负责调度&#xff0c;从核通过GPIO中断响应紧…...

Pycharm(十五)面向对象程序设计基础

目录 一、面向对象基本概述 class 类名: 属性(类似于定义变量) 行为(类似于定义函数,只不过第一个形参要写self) 二、self关键字介绍 三、在类内部调用类中的函数 四、属性的定义和调用 五、魔法方法init方法 六、魔法方法str和del方法 七、案例-减肥 一、…...

华三(H3C)与华为(Huawei)设备配置IPsec VPN的详细说明,涵盖配置流程、参数设置及常见问题处理

以下是针对华三&#xff08;H3C&#xff09;与华为&#xff08;Huawei&#xff09;设备配置IPsec VPN的详细说明&#xff0c;涵盖配置流程、参数设置及常见问题处理&#xff1a; 一、华三&#xff08;H3C&#xff09;设备IPsec VPN配置详解 1. 配置流程 华三IPsec VPN配置主要…...

【消息队列RocketMQ】四、RocketMQ 存储机制与性能优化

一、RocketMQ 存储机制详解 1.1 存储文件结构​ RocketMQ 的存储文件主要分布在store目录下&#xff0c;该目录是在broker.conf配置文件中通过storePathRootDir参数指定的&#xff0c;默认路径为${user.home}/store 。主要包含以下几种关键文件类型&#xff1a;​ 1.1.1 Comm…...

结合地理数据处理

CSV 文件不仅可以存储表格数据&#xff0c;还可以与地理空间数据结合&#xff0c;实现更强大的地理处理功能。例如&#xff0c;你可以将 CSV 文件中的坐标数据转换为点要素类&#xff0c;然后进行空间分析。 示例&#xff1a;将 CSV 文件中的坐标数据转换为点要素类 假设我们有…...

店匠科技摘得 36 氪“2025 AI Partner 创新大奖”

全场景 AI 方案驱动跨境电商数智化跃迁 4 月 18 日,36 氪 2025 AI Partner 大会于上海盛大开幕。大会紧扣“Super App 来了”主题,全力探寻 AI 时代的全新变量,探索 AI 领域下一个超级应用的无限可能性。在此次大会上,跨境电商独立站 SaaS 平台店匠科技(Shoplazza)凭借“店匠跨…...

Joint communication and state sensing under logarithmic loss

摘要——我们研究一种基本的联合通信与感知设置&#xff0c;其中发射机希望向接收机传输一条消息&#xff0c;并同时通过广义反馈估计其信道状态。我们假设感知目标是获得状态的软估计&#xff08;即概率分布&#xff09;&#xff0c;而非通常假设的点估计&#xff1b;并且我们…...

测试基础笔记第十天

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、查询语句1.基本查询2.条件查询3.模糊查询4.范围查询5.判断空 二、其他复杂查询1.排序2.聚合函数3.分组4.分页查询 一、查询语句 1.基本查询 – 需求1: 准备商…...

Geek强大的电脑卸载软件工具,免费下载

一款强大的卸载电脑软件工具,无需安装 免费下载...

Linux:41线程控制lesson29

1.线程的优点&#xff1a; • 创建⼀个新线程的代价要⽐创建⼀个新进程⼩得多 创建好线程只要调度就好了 • 与进程之间的切换相⽐&#xff0c;线程之间的切换需要操作系统做的⼯作要少很多 为什么&#xff1f; ◦ 最主要的区别是线程的切换虚拟内存空间依然是相同的&#x…...

基于Flask与Ngrok实现Pycharm本地项目公网访问:从零部署

目录 概要 1. 环境与前置条件 2. 安装与配置 Flask 2.1 创建虚拟环境 2.2 安装 Flask 3. 安装与配置 Ngrok 3.1 下载 Ngrok 3.2 注册并获取 Authtoken 4. 在 PyCharm 中创建 Flask 项目 5. 运行本地 Flask 服务 6. 启动 Ngrok 隧道并获取公网地址 7. 完整示例代码汇…...