项目简介
MCP2ZigBee2MQTT 是一个基于 Model Context Protocol (MCP) 的服务器应用,它将 ZigBee2MQTT 智能家居系统的数据和功能暴露给大型语言模型 (LLM) 客户端。通过集成 MQTT 协议和本地数据库,它能自动发现 ZigBee 设备、管理设备状态,并允许 AI 助手通过调用工具来查询设备信息、控制设备,以及获取设备文档和集成指导。
主要功能点
- ZigBee 设备管理: 自动发现并存储 ZigBee 网络中所有设备的详细信息,包括型号、厂商、描述等。
- 设备状态与控制: 查询设备的实时状态,并通过 MQTT 协议向设备发送命令,实现对灯光、开关、传感器等智能设备的控制。
- AI 助手集成: 为 AI 助手提供标准化的工具接口,使其能够理解和操作智能家居设备,实现智能自动化和语音控制。
- 设备文档获取: 提供设备型号的官方 Zigbee2MQTT 文档链接及摘要,方便 AI 助手查询详细规格、支持功能和故障排除信息。
- 集成信息导出: 生成设备与外部系统(如 n8n)集成的 MQTT 主题、命令示例等信息,简化与其他系统的连接。
- 多传输协议支持: 支持通过标准输入输出 (Stdio) 或 HTTP/SSE 协议与 MCP 客户端通信,适应不同的部署环境。
安装步骤
- 下载应用程序: 访问项目的 GitHub Releases 页面 ('https://github.com/Prayashgaming02/MCP2ZigBee2MQTT/releases') 下载最新版本的安装包。
- 运行安装程序: 下载完成后,定位到下载文件,双击运行安装文件,并按照屏幕上的指示完成安装过程。
- 前置条件:
- 确保您的操作系统满足要求(Windows 10+、macOS Mojave+ 或最新 Linux 发行版)。
- 需要一个正在运行的 MQTT Broker (例如 Mosquitto),并且您的 ZigBee2MQTT 实例已配置为连接到此 Broker。
服务器配置
MCP2ZigBee2MQTT 服务器需要配置 MQTT 连接参数和运行模式。这些配置通常通过环境变量提供。当您的 MCP 客户端需要连接到此服务器时,您需要提供相应的启动命令和参数。
MCP客户端配置示例说明 (JSON格式): 以下是一个假设的 MCP 客户端配置结构,展示了如何配置客户端以启动并连接到 MCP2ZigBee2MQTT 服务器。实际的 'command' 和 'args' 路径可能因您的安装方式而异。
- 'serverName': 服务器的显示名称,例如 "ZigBee2MQTT MCP Server"。
- 'command': 启动 MCP2ZigBee2MQTT 服务器的命令。如果已通过安装程序安装,这可能是一个可执行文件的路径,或者对于 Node.js 应用,通常是 'node'。
- 'args': 传递给 'command' 的参数。例如,如果 'command' 是 'node',那么 'args' 将包含服务器主脚本的路径,如 './path/to/MCP2ZigBee2MQTT/index.js' (请根据实际安装路径调整)。
- 'env': 一个包含环境变量的 JSON 对象,用于配置 MCP2ZigBee2MQTT 服务器的行为。
- 'TRANSPORT_MODE': 服务器与客户端通信的传输模式。可选值包括 'stdio' (默认,通过标准输入输出与客户端通信,适合由客户端直接启动服务器进程) 或 'http' (通过 HTTP/SSE 监听请求,适合服务器独立运行)。
- 'MQTT_BROKER_URL': 您的 MQTT Broker 地址,例如 'mqtt://localhost:1883'。
- 'MQTT_USERNAME' / 'MQTT_PASSWORD': 如果您的 MQTT Broker 需要认证,请提供相应的用户名和密码。
- 'MQTT_BASE_TOPIC': Zigbee2MQTT 发布消息的根主题,默认是 'zigbee2mqtt'。
- 'DB_PATH': 存储设备数据的 SQLite 数据库文件路径,默认是 './zigbee2mqtt.db'。
- 'LOG_LEVEL': 日志级别,可选 'debug', 'info', 'warn', 'error', 'silent',默认 'error'。
- 'HTTP_PORT': (仅在 'TRANSPORT_MODE' 为 'http' 时有效) HTTP 服务器监听的端口,默认 '3235'。
- 'API_KEY': (仅在 'TRANSPORT_MODE' 为 'http' 时有效) 可选的 API 密钥,用于保护 HTTP/SSE 端点,增强安全性。
基本使用方法
- 启动 MCP2ZigBee2MQTT 应用: 运行您安装的 MCP2ZigBee2MQTT 应用程序。它将连接到配置的 MQTT Broker,并开始发现和同步 ZigBee 设备信息。
- MCP 客户端连接: 配置您的 MCP 客户端 (例如,支持 MCP 协议的 AI 助手或 LLM 应用),使其能够通过上述配置信息 (包括 'command', 'args' 和 'env' 变量) 连接到 MCP2ZigBee2MQTT 服务器。
- 与 AI 助手交互: 一旦连接成功,您的 AI 助手就可以通过调用 MCP2ZigBee2MQTT 提供的工具来管理智能家居。例如:
- 列出所有设备: AI 助手可以请求调用 'list_devices' 工具来获取所有连接的 ZigBee 设备列表。
- 获取设备详细信息: 请求调用 'get_device_info' 工具,并提供设备名称或 IEEE 地址,以获取特定设备的详细信息和当前状态。
- 控制智能设备: 请求调用 'send_command' 工具,提供设备名称和控制命令 (例如,'{"state": "ON"}' 来打开灯,'{"brightness": 128}' 来设置亮度)。
- 查找特定功能的设备: 请求调用 'find_by_capability' 工具,查找所有具备特定功能 (如“温度传感器”、“亮度控制”) 的设备。
- 获取设备文档: 请求调用 'get_device_documentation' 工具,获取某个设备型号的官方 Zigbee2MQTT 文档链接和关键信息。
信息
分类
AI与计算