MCP2MQTT 是一款将物联网设备接入 AI 大模型的框架,它通过 Model Context Protocol(MCP)与 MQTT 协议的桥接,使得 AI 能够用自然语言实时感知并控制物理硬件。无论是机器人舵机控制,还是智能家居调光调色,你都可以借助 MCP2MQTT 快速原型、轻松上手。
仓库地址:https://github.com/MaoTouHU/MCP2MQTT
mcp2mqtt 核心由三部分组成:
整体架构示意图如下:
流程图如下:
mcp2mqtt 致力于打造“物理世界 ↔ AI 大模型”之间的无缝连接层:
未来可扩展至:多模态传感器网络、群体机器人协同、大规模智能家居场景等。
mqtt:
broker: "localhost" # MQTT 服务器地址
port: 1883 # MQTT 端口
client_id: "mcp2mqtt_client" # 客户端 ID
username: "mqtt_user" # 用户名(可选)
password: "mqtt_password" # 密码(可选)
keepalive: 60 # 心跳间隔(秒)
topics:
command:
publish: "mcp/command" # 发布命令主题
subscribe: "mcp/response" # 订阅响应主题
status:
publish: "mcp/status" # 发布状态主题
subscribe: "mcp/control" # 订阅控制命令主题
commands:
set_pwm:
command: "CMD_PWM {frequency}"
need_parse: false
data_type: "ascii"
prompts:
- "把PWM调到最大"
- "把PWM调到最小"
mqtt_topic: "mcp/pwm" # 发布主题
response_topic: "mcp/pwm/response" # 响应主题
PWM 控制
命令:PWM {值}
示例:
PWM 100
(最大)PWM 0
(关闭)PWM 50
(50%)响应:CMD PWM {值} OK
LED 控制
命令:LED {状态}
示例:
LED on
LED off
响应:CMD LED {状态} OK
设备信息
INFO
CMD INFO {设备信息}
若执行失败,则返回:
ERROR: {错误信息}
客户端类型 | 特性支持 | 说明 |
---|---|---|
Claude Desktop | 完整支持 | 推荐,支持所有 MCP 功能 |
Continue | 完整支持 | 优秀的开发工具集成 |
Cline | 资源 + 工具 | 支持多家 AI 提供商 |
MQTT 设备 | 发布/订阅 | 所有标准 MQTT 设备 |
下载并运行:
python install.py
# 下载脚本
curl -O https://raw.githubusercontent.com/MaoTouHU/MCP2MQTT/main/install_macos.py
# 运行安装
python3 install_macos.py
# 下载脚本
curl -O https://raw.githubusercontent.com/MaoTouHU/MCP2MQTT/main/install_ubuntu.py
# 运行安装
python3 install_ubuntu.py
安装将自动完成:
# Windows PowerShell
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
主要依赖 uv
工具,确保 Python、uv 及 MCP 客户端已安装。
在 Claude/Cline 的配置文件中添加:
{
"mcpServers": {
"mcp2mqtt": {
"command": "uvx",
"args": [
"mcp2mqtt"
]
}
}
}
修改后需重启客户端。
mcp2mqtt 会按下列顺序查找配置:
当前工作目录
./config.yaml
(开发测试)
用户主目录
C:\Users\用户名\.mcp2mqtt\config.yaml
~/.mcp2mqtt/config.yaml
系统级配置
C:\ProgramData\mcp2mqtt\config.yaml
/etc/mcp2mqtt/config.yaml
选择依据:
tests/responder.py
模拟硬件行为。python tests/responder.py
输出示例:
[INFO] Connected to MQTT broker at localhost:1883
[INFO] Listening on topic mcp/pwm
...
在 Claude Desktop 或 Cline 中选用 “mcp2mqtt” Server,即可发送 AI 指令。
git clone https://github.com/MaoTouHU/MCP2MQTT.git
cd MCP2MQTT
uv venv .venv
# 激活环境
# Windows:
.venv\Scripts\activate
# macOS/Linux:
source .venv/bin/activate
# 安装
uv pip install --editable .
配置客户端:
{
"mcpServers": {
"mcp2mqtt": {
"command": "uv",
"args": [
"--directory","/path/to/MCP2MQTT",
"run","mcp2mqtt"
]
}
}
}
若要指定配置文件,加上 --config Pico
等参数即可。
激活虚拟环境后:
uv run src/mcp2mqtt/server.py
# 或
uv run mcp2mqtt
# 指定配置
uv run src/mcp2mqtt/server.py --config Pico
MCP 与 MQTT 协议映射
AI 闭环控制
性能优化
安全与容错
故障排除
mosquitto_sub
/mosquitto_pub
手动调试;总结:
mcp2mqtt 打通了 AI 大模型与物理世界的最后一公里,将自然语言直接化为设备指令,极大降低了智能硬件原型开发与控制的复杂度。无论你是机器人爱好者、智能家居玩家,还是产品工程师,都能借助 mcp2mqtt 快速构建“AI+IoT”场景。
马上动手搭建你的第一个 AI 控制硬件系统吧!