← 返回目录
H

Home Assistant MCP

社区
让你的 AI 助手指挥你的家 —— 50+ 工具、三种传输方式、一条 bunx 命令。
GitHub 源仓库 ↗
★ 56 Stars 分类 · 其他 热门 源版本 b1aa766ab6c7
58FMRS · C
可靠性
8/20
安全与权限
14/20
维护活跃度
12/20
文档质量
14/20
安装易用性
10/20

该项目提供丰富的功能,社区活跃,但需要用户具备一定的 Home Assistant 知识。总体评价积极,但需注意权限和安全配置。

查看 FMRS 评分方法 →

Home Assistant MCP 服务器将 AI 助手(如 Claude、GPT、Cursor、Copilot)通过模型上下文协议连接到 Home Assistant。提供 50 多个工具,涵盖灯光、气候、媒体、锁、窗帘、风扇、吸尘器、报警、场景、自动化、通知、历史、能源监控、维护等。支持 STDIO 和 HTTP+WS 传输,并可通过 Docker 或 bunx 快速部署。带有语音控制功能(唤醒词检测、语音转文字)。

工具能力

lights list
列出所有灯光实体及状态。
lights get
获取单个灯光的详细信息。
lights turn on/off
打开或关闭指定灯光。
lights brightness
设置灯光亮度。
lights color temp
设置色温。
lights RGB
设置 RGB 颜色。
lights effects
设置灯光效果。
climate list
列出所有气候实体。
climate get
获取气候实体状态。
climate HVAC modes
设置 HVAC 模式(加热、制冷等)。
climate target temp
设置目标温度。
climate fan mode
设置风扇模式。
climate humidify
控制湿度。
media list
列出媒体播放器。
media get
获取媒体播放器状态。
media play/pause
播放或暂停。
media volume
设置音量。
media source
选择输入源。
media sound mode
设置音效模式。
media shuffle
切换随机播放。
covers list
列出所有覆盖物(窗帘、卷帘等)。
covers get
获取覆盖物状态。
covers open/close
打开或关闭。
covers position
设置位置百分比。
covers tilt
调整倾斜角度。
covers garage door
控制车库门。
locks list
列出所有门锁。
locks get
获取门锁状态。
locks lock/unlock
锁定或解锁。
fans list
列出所有风扇。
fans get
获取风扇状态。
fans speed
设置风扇速度。
fans oscillation
控制摇头。
fans direction
设置风向。
fans preset
选择预设模式。
vacuums list
列出所有扫地机器人。
vacuums get
获取扫地机器人状态。
vacuums start/stop/dock
启动、停止或返回底座。
vacuums spot clean
定点清洁。
vacuums fan speed
设置吸力。
alarm list
列出所有报警面板。
alarm get
获取报警状态。
alarm arm home/away/night
布防(在家/外出/夜间)。
alarm disarm
撤防。
switches list
列出所有开关。
switches get
获取开关状态。
switches turn on/off/toggle
打开、关闭或切换。
scenes list
列出所有场景。
scenes activate
激活指定场景。
automations list
列出所有自动化。
automations toggle
启用或禁用自动化。
automations trigger
手动触发自动化。
automations create/edit/delete
创建、编辑或删除自动化。
notifications push
通过 Home Assistant 推送通知。
history query
查询历史状态。
add-ons install
安装 Home Assistant 附加组件。
add-ons configure
配置附加组件。
add-ons control
控制附加组件(启动、停止等)。
packages HACS
管理 HACS 集成。
maintenance orphaned devices
查找孤立设备。
maintenance battery warnings
获取低电量警告。
maintenance energy analysis
分析能源消耗。
smart scenarios nobody-home
检测无人模式。
smart scenarios window/heat conflicts
检测窗户和暖气冲突。
smart scenarios energy waste
检测能源浪费。
lighting animations
设置灯光动画。
lighting scenarios
设置灯光场景。
lighting showcase
灯光展示。
lighting BPM/beat detection
根据节拍检测切换灯光。
voice wake word detection
唤醒词检测。
voice speech-to-text
语音转文字。
voice commands
执行语音命令。
dashboard query
查询 Lovelace 仪表盘。
dashboard manage
管理仪表盘。
templates render Jinja2
通过 Home Assistant 渲染 Jinja2 模板。
to-do lists add
添加待办事项。
to-do lists update
更新待办事项。
to-do lists remove
删除待办事项。
traces automation/script
获取自动化或脚本的执行痕迹。
search full-text entity
全文搜索实体。
entity state get
获取任意实体的当前状态。
error log query
查询 Home Assistant 错误日志。

安装接入

  1. 确保你有 Home Assistant 实例和长期访问令牌(在用户配置文件页创建)。
  2. 在 Claude Desktop 的配置文件 claude_desktop_config.json 中添加 mcpServers 配置,填入命令 bunx 和参数。
  3. 设置环境变量 HASS_HOST 和 HASS_TOKEN。
  4. 重启 Claude Desktop。
  5. 或者,使用 Smithery 一键安装:npx @smithery/cli install @jango-blockchained/advanced-homeassistant-mcp --client claude。
claude_desktop_config.json
{
  "mcpServers": {
    "homeassistant-mcp": {
      "command": "bunx",
      "args": [
        "github:jango-blockchained/advanced-homeassistant-mcp"
      ],
      "env": {
        "HASS_HOST": "http://your-ha-instance:8123",
        "HASS_TOKEN": "your_long_lived_access_token"
      }
    }
  }
}

选型与风险

适合谁

  • 希望将 AI 助手与智能家居深度集成的用户
  • 需要语音控制且注重隐私(本地处理)的用户
  • 需要多种部署方式(STDIO、HTTP、Docker)的开发者
  • 希望探索 AI 驱动的智能家居自动化的开发者

不适合谁

  • 没有 Home Assistant 实例的用户
  • 需要官方支持的企业级用户(该项目为社区维护)
  • 对隐私极为敏感且不希望任何远程托管的用户(但语音本地处理可缓解)
  • 希望使用 MCP 服务器但仅需要基础功能的用户(其他简单服务器可能更合适)

所需权限

  • 读取 Home Assistant 实体状态(灯光、气候、媒体等)
  • 控制设备状态(开/关、亮度、温度等)
  • 访问历史数据、日志和配置
  • 执行自动化、场景和通知
  • 管理仪表盘和待办事项

风险与副作用

  • 令牌泄露:长期访问令牌可能被滥用,导致未经授权的控制。
  • 配置错误可能导致对设备进行意外操作(例如关闭关键安全设备)。
  • HTTP/WS 传输需要 JWT 认证,但若配置不当,可能暴露服务。
  • 语音功能可能引入额外的安全风险(如麦克风权限)。

常见排障

  1. 1. 检查环境变量 HASS_HOST 和 HASS_TOKEN 是否正确设置。
  2. 2. 确保 Home Assistant 实例可从运行 MCP 服务器的机器访问(网络、端口)。
  3. 3. 检查令牌是否有效且未过期。
  4. 4. 查看日志:设置 LOG_LEVEL=debug 以获得详细输出。
  5. 5. 对于 HTTP/WS 传输,检查 JWT_SECRET 是否设置并至少 32 字符。

使用场景

通过自然语言控制 Home Assistant 设备:"关闭卧室所有灯"。
设置恒温器温度:"将恒温器设置为 72°F"。
锁定门并启动扫地机器人:"锁好所有门并开始打扫"。
查询能源消耗:"显示本周能源消耗"。
执行场景:"激活电影场景"。
健康检查和维护:"检查 Home Assistant 健康状况"。

支持客户端

Claude Desktop完整支持
Cursor完整支持