使用说明
MQTT MCP服务器
提供MQTT客户端功能的MCP(模型上下文协议)服务器。这允许Claude与MQTT代理进行交互——发布消息、订阅主题和管理连接。
可用 两种TypeScript(Node.js) 和 Python(FastMCP) 版本!
特性
- MCP服务器:通过Claude连接到MQTT代理
- 网络应用程序:通过MQTT实时更改背景颜色
- 双重实施:TypeScript(本地)+Python(云部署)
- 连接到MQTT代理(支持MQTT://和mqtts://)
- 将消息发布到具有QoS的主题并保留选项
- 订阅主题(包括通配符订阅)
- 取消订阅主题
- 检查连接状态
- 与经纪人断开连接
- WebSocket实时更新
- 带有颜色预设的交互式web UI
- FastMCP Cloud已准备好一键部署
快速开始
TypeScript版本(本地)
npm install
npm run build
Python版本(FastMCP Cloud)
看 FASTCMP_部署.md 一键式云部署!
用法
作为Claude桌面MCP服务器
选项1:TypeScript版本(本地-易于设置)
运行自动安装脚本:
npm run setup # macOS/Linux
npm run setup:windows # Windows
或者手动将其添加到您的Claude Desktop配置文件中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
视窗: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"mqtt": {
"command": "node",
"args": ["/Users/sara/TestAlin/build/index.js"]
}
}
}
添加此配置后,重新启动Claude Desktop。
选项2:Python版本(FastMCP Cloud-推荐)
部署到云托管MQTT MCP服务器的FastMCP云:
- 访问 https://fastmcp.cloud
- 从此GitHub存储库创建项目
- 将入口点设置为
mqtt_mcp_server.py - 一键部署!
看 FASTCMP_部署.md 详细说明。
具有变色背景的Web应用程序
web应用程序订阅MQTT消息并实时更改其背景颜色!
# Start the web server (defaults to port 3000)
npm run start:web
# Or specify custom settings
MQTT_BROKER=mqtt://broker.hivemq.com:1883 MQTT_TOPIC=color/change PORT=3000 npm run start:web
然后打开浏览器 http://localhost:3000
它是如何工作的:
- web应用程序连接到MQTT代理并订阅配置的主题(默认:
color/change) - 当任何MQTT客户端向该主题发布颜色时,背景会立即更改
- 您可以从web UI进行测试,也可以要求Claude通过MCP服务器发布颜色
环境变量:
MQTT_BROKER:MQTT代理URL(默认值:mqtt://broker.hivemq.com:1883)MQTT_TOPIC:要订阅的主题(默认值:color/change)PORT:Web服务器端口(默认值:3000)
MCP服务器独立
npm start
可用工具
mqtt_connect
连接到MQTT代理。
参数:
broker_url(必填):MQTT代理URL(例如。,mqtt://localhost:1883或mqtts://broker.hivemq.com:8883)client_id(可选):连接的客户端IDusername(可选):用于身份验证的用户名password(可选):身份验证密码
例子:
Connect to mqtt://broker.hivemq.com:1883
mqtt_publish
将消息发布到MQTT主题。
参数:
topic(必填):要发布到的MQTT主题message(必填):消息有效载荷qos(可选):服务质量级别(0、1或2)。默认值:0retain(可选):是否保留消息。默认值:false
例子:
Publish "Hello World" to topic "test/example"
mqtt_订阅
订阅MQTT主题以接收消息。
参数:
topic(必填):MQTT主题(支持+对于单层和#对于多级通配符)qos(可选):服务质量级别(0、1或2)。默认值:0
例子:
Subscribe to topic "sensors/#"
注意:接收到的消息会记录到stderr,并将显示在Claude的上下文中。
mqtt_取消订阅
取消订阅MQTT主题。
参数:
topic(必填):要取消订阅的MQTT主题
mqtt_diisconnect
断开与MQTT代理的连接。
mqtt_status
获取当前连接状态,包括活动订阅。
示例工作流程
在Claude的MCP服务器上使用Web应用程序
-
启动web应用程序:
npm run start:web -
打开浏览器 到
http://localhost:3000 -
请克劳德发布颜色 (通过MCP):
Connect to mqtt://broker.hivemq.com:1883 and publish "red" to topic "color/change" -
观看背景变化 实时!
-
尝试不同的颜色:
Publish "#FF5733" to topic "color/change" Publish "blue" to topic "color/change" Publish "rgb(46, 204, 113)" to topic "color/change"
仅使用MCP服务器
-
连接到经纪人:
Connect to the public MQTT broker at mqtt://broker.hivemq.com:1883 -
订阅一个主题:
Subscribe to topic "test/demo" -
发布消息:
Publish "Hello from Claude!" to topic "test/demo" -
检查状态:
What's the MQTT connection status? -
断开连接:
Disconnect from the MQTT broker
公共考试经纪人
对于测试,您可以使用这些公共MQTT代理:
mqtt://broker.hivemq.com:1883(日蚀莫斯基托)mqtt://broker.hivemq.com:1883(HiveMQ)mqtt://mqtt.eclipseprojects.io:1883(Eclipse物联网)
注: 不要将敏感数据发送给公共经纪人。
发展
# Install dependencies
npm install
# Build
npm run build
# Watch mode
npm run watch
许可证
麻省理工学院