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

news2025/4/24 20:13:28

引言: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 工作流程」欢迎与我们联系。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2341922.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

快手砍掉本地生活的门槛

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

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、查找元…

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

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

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

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

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

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

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

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

Linux 管道理解

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

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

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

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

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

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

以下是针对华三(H3C)与华为(Huawei)设备配置IPsec VPN的详细说明,涵盖配置流程、参数设置及常见问题处理: 一、华三(H3C)设备IPsec VPN配置详解 1. 配置流程 华三IPsec VPN配置主要…

店匠科技摘得 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

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

Linux:41线程控制lesson29

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

HTMLCSS实现网页轮播图

网页中轮播图区域的实现与解析 在现代网页设计中&#xff0c;轮播图是一种常见且实用的元素&#xff0c;能够在有限的空间内展示多个内容&#xff0c;吸引用户的注意力。下面将对上述代码中轮播图区域的实现方式进行详细介绍。 一、HTML 结构 <div class"carousel-c…

Java基础第21天-正则表达式

正则表达式是对字符串执行模式匹配的技术 如果想灵活的运用正则表达式&#xff0c;必须了解其中各种元字符的功能&#xff0c;元字符从功能上大致分为&#xff1a; 限定符选择匹配符分组组合和反向引用符特殊字符字符匹配符定位符 转义号\\:在我们使用正则表达式去检索某些特…

CSGO 盲盒开箱系统技术实现深度解析

一、系统架构设计 &#xff08;一&#xff09;前后端分离架构 采用前后端分离模式&#xff0c;后端专注业务逻辑处理与数据管理&#xff0c;前端负责用户交互界面呈现。后端通过 RESTful API 与前端进行数据交互&#xff0c;这种架构能有效提高开发效率&#xff0c;便于团队分…

JS通过GetCapabilities获取wms服务元数据信息并在SuperMap iClient3D for WebGL进行叠加显示

获取wms服务元数据信息并在三维webgl客户端进行叠加显示 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><tit…

7N60-ASEMI无人机专用功率器件7N60

编辑&#xff1a;LL 7N60-ASEMI无人机专用功率器件7N60 型号&#xff1a;7N60 品牌&#xff1a;ASEMI 封装&#xff1a;TO-220F 最大漏源电流&#xff1a;7A 漏源击穿电压&#xff1a;600V 批号&#xff1a;最新 RDS&#xff08;ON&#xff09;Max&#xff1a;1.20Ω …

Pytorch图像数据转为Tensor张量

PyTorch的所有模型&#xff08;nn.Module&#xff09;都只接受Tensor格式的输入&#xff0c;所以我们在使用图像数据集时&#xff0c;必须将图像转换为Tensor格式。PyTorch提供了torchvision.transforms模块来处理图像数据集。torchvision.transforms模块提供了一些常用的图像预…

Java 加密与解密:从算法到应用的全面解析

Java 加密与解密&#xff1a;从算法到应用的全面解析 一、加密与解密技术概述 在当今数字化时代&#xff0c;数据安全至关重要。Java 加密与解密技术作为保障数据安全的关键手段&#xff0c;被广泛应用于各个领域。 加密是将明文数据通过特定算法转换为密文&#xff0c;使得…