Token导航 LogoToken导航

MCP Server · 浏览器工具

ZigBee2MQTT MCP Server

一个为ZigBee2MQTT设计的MCP服务器,提供智能设备发现和控制功能,适用于家庭自动化和AI助手集成。

未说明官方级别未说明来源级核验工具 10
智能家居设备控制TypeScriptClaudeClaude Desktop

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
ichbinder
提供方
ichbinder

工具数量

10

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

6

仓库热度

收录来源

2 个

MCP World

选型结论

ZigBee2MQTT MCP Server 属于浏览器工具类 MCP Server,公开资料标注 10 个工具,通过传输方式未标注接入,适配 Claude Desktop、Claude,没有现成的安装命令;接入前先确认权限范围。

分类

浏览器工具

传输方式

未说明

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 10 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

公开资料仍需确认:安装命令

详细介绍

ZigBee2MQTT MCP 服务器

一个用于ZigBee2MQTT的模型上下文协议(MCP)服务器,为AI助手提供智能设备发现和控制功能。

🌐(万维网,互联网的象征) 具备远程功能! 这个MCP服务器可以在一个(平台上/环境中)运行 远程服务器 (例如,您的MQTT代理运行的位置),并且您可以通过HTTP从您的Mac访问它。请参阅 REMOTE-SETUP.md 翻译为中文是:“远程设置指南.md” 或 “远程配置说明.md”(具体翻译可能根据上下文有所调整,但基本意思是“远程设置/配置的相关文件或指南”) 详情见下文!

部署选项

概述

这台MCP服务器连接到您的MQTT代理,并自动分析通过ZigBee2MQTT连接的所有ZigBee设备。它学习每个设备的结构和功能,并通过MCP工具将这些信息提供给AI助手。

核心功能

  • 🔍 智能模式发现自动学习您设备的结构和功能
  • 💾 紧凑数据存储仅存储元数据和模式,不存储完整的消息历史
  • 📚 Zigbee2MQTT 文档直接访问官方设备文档
  • 🐳 准备就绪,可与Docker配合使用使用Docker Compose轻松部署
  • 🌐 支持远程操作在服务器上运行,可通过HTTP/SSE从任何地方访问
  • 🔒 安全可选的API密钥认证
  • 🔌 保留消息使用MQTT保留消息以即时访问设备信息
  • 🏠 家庭自动化非常适合n8n、Home Assistant及其他自动化工具

存储了什么?

✅ 表示“正确”或“确认”。 设备元数据 (名称、型号、制造商) ✅ 字段模式(或字段架构) (设备有哪些字段?数据类型是什么?) ✅ 能力 (可调亮度、变色、测温等) ✅ 当前状态 (仅显示最后一个值,无历史记录)

❌(这个符号在中文中通常表示“错误”或“不正确”的意思,但直接翻译时无法给出具体中文词汇,因为它是一个图形符号,所以保持原样或解释其含义即可。) 未存储完整的消息历史,基于时间的传感器数据

估计的数据库大小100台设备仅需约1-2MB(而非包含完整历史记录的GB!)

先决条件

  • Node.js 20+ 或 Docker
  • 运行ZigBee2MQTT安装程序
  • MQTT 代理(例如,Mosquitto)

安装

选项1:Docker(推荐)

  1. 克隆仓库
   git clone 
   cd zigbeeMCP
  1. 创建环境文件
   cp .env.example .env
  1. 配置 .env 文件
   MQTT_BROKER_URL=mqtt://192.168.1.100:1883
   MQTT_USERNAME=your_user
   MQTT_PASSWORD=your_password
   MQTT_BASE_TOPIC=zigbee2mqtt
   DB_PATH=/data/zigbee2mqtt.db

   # Log Level: debug, info, warn, error, silent
   # Recommended: error (minimal output)
   LOG_LEVEL=error
  1. 启动容器
   docker compose up -d
  1. 查看日志
   docker compose logs -f

选项2:本地安装

  1. 安装依赖项
   npm install
  1. 编译TypeScript
   npm run build
  1. 开始
   npm start

MCP配置

Claude Desktop(可译为“Claude桌面版”或根据上下文简化为“桌面版Claude”)

在Claude Desktop配置中添加以下内容(~/Library/Application Support/Claude/claude_desktop_config.json (在 macOS 上):

{
  "mcpServers": {
    "zigbee2mqtt": {
      "command": "docker",
      "args": [
        "exec",
        "-i",
        "zigbee2mqtt-mcp",
        "node",
        "dist/index.js"
      ]
    }
  }
}

或者对于本地安装:

{
  "mcpServers": {
    "zigbee2mqtt": {
      "command": "node",
      "args": ["/path/to/zigbeeMCP/dist/index.js"],
      "env": {
        "MQTT_BROKER_URL": "mqtt://localhost:1883",
        "MQTT_BASE_TOPIC": "zigbee2mqtt",
        "DB_PATH": "/path/to/zigbee2mqtt.db"
      }
    }
  }
}

可用工具

MCP服务器提供以下工具:

1. list_devices

列出所有ZigBee设备。

示例:

Show me all my ZigBee devices

2. get_device_info

显示特定设备的详细信息。

参数:

  • device设备友好名称或IEEE地址

示例:

Show me details for the living room lamp

3. find_devices

按名称、型号或描述搜索设备。

参数:

  • query搜索词

示例:

Find all lamps in the living room

4. get_device_state

显示设备的当前状态。

参数:

  • device设备友好名称或IEEE地址

示例:

Is the living room lamp on?

5. send_command

向设备发送命令。

参数:

  • device设备友好名称或IEEE地址
  • command以 JSON 对象形式表示的命令

示例:

Turn on the living room lamp
Set brightness to 50%

6. find_by_capability

查找具有特定功能的所有设备。

参数:

  • capability能力类型(例如。, on_off, brightness, temperature_sensor)

示例:

Show all dimmable devices
Which devices can measure temperature?

通用能力:

  • on_off - 可以打开/关闭
  • brightness - 可调光
  • color_temperature - 可调节色温
  • color - 可变色
  • temperature_sensor - 温度传感器
  • humidity_sensor - 湿度传感器
  • contact_sensor - 接触传感器
  • occupancy_sensor - 运动传感器

7. get_integration_info

为n8n或其他工具提供集成信息。

参数:

  • device设备友好名称或IEEE地址

示例:

How can I integrate the living room lamp into n8n?

8. get_stats

显示ZigBee网络的统计数据。

示例:

How many devices are connected?

9. get_device_documentation

为特定设备提供指向官方Zigbee2MQTT文档的链接。

参数:

  • device设备友好名称或IEEE地址

示例:

Show me the documentation for my Philips Hue lamp
How can I best control the "living_room_lamp" device?
What can my IKEA TRADFRI switch do?

返回值:

  • 在 zigbee2mqtt.io 上查看设备文档的链接
  • 型号和供应商信息
  • 该设备已知的功能
  • 直接链接以搜索特定型号

10. get_recent_devices

列出在过去N天内添加到ZigBee网络的设备。

参数:

  • days回溯的天数(默认:7)

示例:

Which devices were added in the last week?
Show me all new devices since yesterday
Which devices have I paired in the last 30 days?

返回值:

  • 天数
  • 找到的设备数量
  • 具有以下特征的设备列表:

- 名称、型号、制造商 - created_at设备添加时的时间戳 - last_seen最后一条消息的时间戳 - updated_at最后更新

注: 所有时间戳均为Unix时间戳(自1970年1月1日起的毫秒数)。

使用示例

使用Claude Desktop

User: "Is there a lamp in the living room?"
Claude: [Uses find_devices with query="living room"]
→ "Yes, I found 'living_room_ceiling_lamp' (Philips Hue White)"

User: "Turn it on"
Claude: [Uses send_command with {"state": "ON"}]
→ "The lamp has been turned on"

User: "How can I use this lamp in n8n?"
Claude: [Uses get_integration_info]
→ "You can use these MQTT topics:
   - Read: zigbee2mqtt/living_room_ceiling_lamp
   - Write: zigbee2mqtt/living_room_ceiling_lamp/set
   Example payload: {"state": "ON", "brightness": 200}"

User: "What can my IKEA TRADFRI switch do?"
Claude: [Uses get_device_documentation]
→ "Your IKEA TRADFRI switch (Model: E1743) supports:
   - Capabilities: button, battery
   - Documentation: https://www.zigbee2mqtt.io/supported-devices/#s=E1743
   - There you'll find all button events and MQTT payloads!"

User: "Which devices did I add in the last week?"
Claude: [Uses get_recent_devices with days=7]
→ "3 devices were added in the last 7 days:
   1. living_room_outlet (OSRAM Smart+ Plug) - 2 days ago
   2. bathroom_sensor (Aqara Temperature Sensor) - 5 days ago
   3. hallway_lamp (Philips Hue) - 6 days ago"

建筑学

┌─────────────────────┐
│   AI Assistant      │
│   (Claude Desktop)  │
└──────────┬──────────┘
           │ MCP Protocol (stdio)
┌──────────▼──────────┐
│   MCP Server        │
│   - Tools Handler   │
│   - Response Gen.   │
└──────────┬──────────┘
           │
┌──────────▼──────────┐      ┌──────────────────┐
│  SQLite Database    │      │  MQTT Listener   │
│  - Devices          │      │  - Subscribe All │
│  - Fields           │◄─────┤  - Process Msgs  │
│  - Capabilities     │      │  - Discovery     │
│  - Current State    │      └────────┬─────────┘
└─────────────────────┘               │
                                      │
                              ┌───────▼────────┐
                              │  MQTT Broker   │
                              │  (Mosquitto)   │
                              └───────┬────────┘
                                      │
                              ┌───────▼────────┐
                              │  ZigBee2MQTT   │
                              │  - ZigBee Net  │
                              │  - Devices     │
                              └────────────────┘

故障排除

容器无法启动

# Check logs
docker compose logs

# Rebuild container
docker compose down
docker compose build --no-cache
docker compose up -d

MQTT连接失败

  1. 检查MQTT代理服务器URL .env
  2. 如果代理运行在主机上,请使用 mqtt://host.docker.internal:1883
  3. 检查防火墙设置

未找到设备

  1. 检查ZigBee2MQTT是否正在运行: zigbee2mqtt/bridge/state 应该是“在线”
  2. 检查基础主题在 .env - 必须与ZigBee2MQTT配置相匹配
  3. 检查MQTT权限

数据库错误

# Reset database
docker compose down
rm -rf data/
docker compose up -d

Claude Desktop 中的日志过多

MCP服务器采用了一个可配置的日志记录系统:

调整至 .env:

# Minimal output (recommended)
LOG_LEVEL=error

# For debugging
LOG_LEVEL=debug

日志级别:

  • silent - 无输出
  • error - 仅显示错误(推荐用于Claude Desktop)
  • warn - 警告 + 错误
  • info - 正常输出
  • debug - 所有细节

更改后:

docker compose restart

发展

本地开发

# Install dependencies
npm install

# TypeScript in watch mode
npm run watch

# In another terminal: start server
npm run dev

项目结构

src/
├── index.ts              # Main entry point
├── types.ts              # TypeScript definitions
├── database.ts           # SQLite database logic
├── mqtt-listener.ts      # MQTT client & message handler
├── schema-discovery.ts   # Schema discovery engine
└── mcp-server.ts         # MCP server & tools

许可证

麻省理工学院(MIT)

支持

如有关于问题或疑问,请在GitHub上创建一个议题。

工具与能力

工具数量

10

资源数量

0

提示词数量

0

能力标签

智能家居TypeScript本地部署设备控制MQTTZigBee自动化

支持客户端

Claude DesktopClaude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

自动操作网页

打开页面、点击、填表,把浏览器动作交给模型执行。

抓结构化数据

把页面内容整理成表格或 JSON,省掉手工复制粘贴。

走一遍关键流程

按步骤检查页面是否正常,回归时少漏环节。

选择建议

值得选的地方

  • 工具数量 10 个,一次接入能覆盖的操作比单点工具更全。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在浏览器工具场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
ZigBee2MQTT MCP Server

MCP World · 本页

10未说明未标注2 个2026-05-17
Fetch 9a2682de

MCP.so

1SSE有3 个2026-05-17
Browser 738d52bc

MCP World

0stdio有1 个2026-05-17
Playwright MCP Server

MCP.so

21stdio有4 个2026-05-17
Skyvern MCP

MCP World

0stdio有2 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

ZigBee2MQTT MCP Server 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

ZigBee2MQTT MCP Server 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

ZigBee2MQTT MCP Server 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

ZigBee2MQTT MCP Server 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

ZigBee2MQTT MCP Server 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP