使用说明
MQTT MCP服务器
MCP(模型上下文协议)服务器,使Cursor能够从MQTT代理读取消息。
特性
- 订阅MQTT主题(支持通配符
+和#) - 从订阅的主题中读取缓冲消息
- 列出活动订阅
- 可配置的消息缓冲区大小
安装
- 安装依赖项:
npm install
- 构建项目:
npm run build
- 复制
.env.example到.env并配置MQTT代理设置:
cp .env.example .env
配置
编辑 .env 包含MQTT代理详细信息的文件:
| 变量 | 描述 | 默认值 |
|---|---|---|
MQTT_BROKER_URL |
MQTT代理URL(MQTT://或mqtts://) | mqtt://localhost:1883 |
MQTT_USERNAME |
身份验证用户名 | (无) |
MQTT_PASSWORD |
身份验证密码 | (无) |
MQTT_CLIENT_ID |
MQTT连接的客户端ID | cursor-mqtt-mcp-{timestamp} |
MAX_MESSAGES_PER_TOPIC |
每个主题可缓冲的最大消息数 | 100 |
光标配置
将此MCP服务器添加到光标设置中(.cursor/mcp.json 或全局设置):
{
"mcpServers": {
"mqtt": {
"command": "node",
"args": ["C:/path/to/mqtt-mcp/dist/index.js"],
"env": {
"MQTT_BROKER_URL": "mqtt://your-broker:1883",
"MQTT_USERNAME": "your_username",
"MQTT_PASSWORD": "your_password"
}
}
}
}
或者,如果使用 .env 项目目录中的文件:
{
"mcpServers": {
"mqtt": {
"command": "node",
"args": ["C:/path/to/mqtt-mcp/dist/index.js"],
"cwd": "C:/path/to/mqtt-mcp"
}
}
}
可用工具
mqtt_订阅
订阅MQTT主题以开始接收消息。
参数:
topic(必填):要订阅的MQTT主题qos(可选):服务质量级别(0、1或2)。默认值:0
例子:
Subscribe to "sensors/temperature"
Subscribe to "devices/+/status" (single-level wildcard)
Subscribe to "home/#" (multi-level wildcard)
mqtt_取消订阅
取消订阅MQTT主题。
参数:
topic(必填):要取消订阅的MQTT主题
mqtt_read_消息
从订阅的主题中读取缓冲消息。
参数:
topic(可选):要阅读的特定主题。如果省略,则从所有主题中读取limit(可选):要返回的最大消息数。默认值:10clear(可选):读取后清除缓冲区。默认值:false
mqtt_list_订阅
列出所有活动订阅及其邮件计数。
参数: 无
用法示例
-
首先,订阅一个主题:
“订阅MQTT主题传感器/温度”
-
等待消息到达,然后阅读它们:
“读取传感器/温度的最新消息”
-
检查所有活动订阅:
“列出我的MQTT订阅”
-
完成后取消订阅:
“取消订阅传感器/温度”
许可证
麻省理工学院