关于 MQTTX SSE Server
MQTTX SSE Server 是通过 SSE 传输 MQTT 操作的 MCP 服务,适用于需要让 AI 助手连接 MQTT Broker 的场景。它支持订阅消息的实时传递,并管理多个客户端会话。
主要功能
- 01通过 SSE 传输 MCP
- 02连接 MQTT Broker
- 03订阅 MQTT 主题
- 04发布 MQTT 消息
- 05实时接收订阅消息
- 06管理多个客户端会话
适用场景
- 01让 AI 助手连接 MQTT Broker
- 02订阅主题并接收实时消息
- 03通过 MCP 发布 MQTT 消息
MCP 相关
该服务通过 SSE 实现 MCP,并向 MCP 客户端提供连接 Broker、订阅主题和发布消息等 MQTT 工具。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
服务地址
http://localhost:4000/mqttx/sse一键复制安装命令
Claude CodeTerminal
claude mcp add --transport http mqttx-mcp-sse-server http://localhost:4000/mqttx/sseCursor.cursor/mcp.json
{"mcpServers":{"mqttx-mcp-sse-server":{"type":"http","url":"http://localhost:4000/mqttx/sse"}}}在 Cursor 中打开VS Code.vscode/mcp.json
{"servers":{"mqttx-mcp-sse-server":{"type":"http","url":"http://localhost:4000/mqttx/sse"}}}在 VS Code 中打开Claude Desktopclaude_desktop_config.json
{"mcpServers":{"mqttx-mcp-sse-server":{"type":"http","url":"http://localhost:4000/mqttx/sse"}}}Windsurf~/.codeium/windsurf/mcp_config.json
{"mcpServers":{"mqttx-mcp-sse-server":{"serverUrl":"http://localhost:4000/mqttx/sse"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
MQTTX SSE 服务
通过服务器发送事件(SSE)传输实现模型上下文协议(MCP),支持 MQTT 操作。
关于 MCP
模型上下文协议(MCP)是一种标准化协议,允许 AI 助手与外部工具和服务交互。此服务使用 SSE(服务器发送事件)作为传输层实现 MCP 规范,并提供 MQTT Broker 连接功能。
功能
- 实现 MCP 协议版本 2024-11-05
- 使用 SSE(服务器发送事件)作为传输层
- 通过 MCP 工具提供 MQTT 操作:
- 连接到 MQTT Broker
- 订阅 MQTT 主题
- 向 MQTT 主题发布消息
- 实时传递订阅主题中的消息
- 管理多个客户端的会话
开始使用
先决条件
- Node.js(v14 或更高版本)
- npm
安装
# Clone the repository
git clone https://github.com/yourusername/mqttx-sse-server.git
cd mqttx-sse-server
# Install dependencies
npm install
运行服务
npm start
服务默认在端口 4000 上启动。
配置 MQTTX
要在 MQTTX 中使用此 MCP 服务,请将以下配置添加到 MQTTX 设置中:
{
"mcpServers": {
"mqttx-server": {
"url": "http://localhost:4000/mqttx/sse"
}
}
}
MCP 协议实现
此服务通过以下组件实现模型上下文协议:
- SSE 连接:建立持久连接以接收实时更新
- JSON-RPC API:根据 MCP 规范处理工具调用和响应
- 工具接口:通过标准化的 MCP 工具提供 MQTT 功能
- 会话管理:跟踪客户端会话及其 MQTT 连接
API 参考
SSE 连接
建立持久连接以接收服务端事件。
GET /mqttx/sse
响应事件:
endpoint:包含用于发起 JSON-RPC 调用的 URLheartbeat:定期发送 ping 以保持连接活跃message:包含 JSON-RPC 响应
JSON-RPC 命令
所有命令都发送到消息端点,并附上你的会话 ID:
POST /mqttx/message?sessionId=xxx
初始化
{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize"
}
列出工具
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/list"
}
MQTT 连接
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "mqttConnect",
"arguments": {
"host": "broker.example.com",
"port": 1883,
"clientId": "mqttx-client"
}
}
}
MQTT 订阅
{
"jsonrpc": "2.0",
"id": 4,
"method": "tools/call",
"params": {
"name": "mqttSubscribe",
"arguments": {
"topic": "test/topic",
"qos": 0
}
}
}
MQTT 发布
{
"jsonrpc": "2.0",
"id": 5,
"method": "tools/call",
"params": {
"name": "mqttPublish",
"arguments": {
"topic": "test/topic",
"payload": "Hello MQTT!",
"qos": 0,
"retain": false
}
}
}
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。