这是一个实现了模型-上下文协议(MCP)的服务器,它通过服务端发送事件(SSE)传输层支持MQTT操作。
模型-上下文协议(MCP)是一个标准化协议,允许AI助手与外部工具和服务进行交互。此服务器使用SSE(服务端发送事件)作为传输层来实现MCP规范,提供MQTT代理连接的能力。
# 克隆仓库
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"
}
}
}
此服务器通过以下组件实现了模型-上下文协议:
建立一个持久连接以接收服务器事件。
GET /mqttx/sse
响应事件:
endpoint:包含用于进行JSON-RPC调用的URLheartbeat:定期ping以保持连接活跃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
}
}
}