MQTTX SSE 服务器实现了 Model-Context Protocol (MCP),借助 Server-Sent Events (SSE) 传输层,可在 MQTT 上执行各类操作,为 AI 助手与外部工具和服务的交互提供了强大支持。
# 克隆仓库
git clone https://github.com/yourusername/mqttx-sse-server.git
cd mqttx-sse-server
# 安装依赖项
npm install
npm start
服务器将在默认端口 4000 上运行。
要将此 MCP 服务器与 MQTTX 一起使用,请在您的 MQTTX 设置中添加以下配置:
{
"mcpServers": {
"mqttx-server": {
"url": "http://localhost:4000/mqttx/sse"
}
}
}
此服务器实现了 Model - Context Protocol,包含以下组件:
建立一个用于接收服务器事件的持久连接。
GET /mqttx/sse
响应事件:
endpoint:包含进行 JSON - RPC 调用的 URL。heartbeat:定期心跳以保持连接 alive。message:包含 JSON - RPC 响应。所有命令均发送到消息端点,使用您的会话 ID:
POST /mqttx/message?sessionId=xxx
{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize"
}
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/list"
}
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "mqttConnect",
"arguments": {
"host": "broker.example.com",
"port": 1883,
"clientId": "mqttx-client"
}
}
}
{
"jsonrpc": "2.0",
"id": 4,
"method": "tools/call",
"params": {
"name": "mqttSubscribe",
"arguments": {
"topic": "test/topic",
"qos": 0
}
}
}
{
"jsonrpc": "2.0",
"id": 5,
"method": "tools/call",
"params": {
"name": "mqttPublish",
"arguments": {
"topic": "test/topic",
"payload": "Hello MQTT!",
"qos": 0,
"retain": false
}
}
}