mcp-hass

🏠 一句话掌控全屋智能设备

基于 MCP 协议连接 Home Assistant 智能家居平台,实现灯光、风扇等设备语音控制与状态查询,依托成熟开源生态提供便捷家居自动化体验。

收藏
3.6k
安装
1.1k
版本
v1.0.1
CLS 安全性认证2026-06-23
点击查看完整报告 >

使用说明

核心用法

mcp-hass 是一个通过 Model Context Protocol (MCP) 协议与 Home Assistant 智能家居系统交互的 Skill。用户需先在 Home Assistant 中启用 MCP 服务器集成,配置 HASS_BASE_URLHASS_ACCESS_TOKEN 环境变量后,即可通过 mcporter CLI 工具执行设备控制命令。核心功能包括:查询设备实时状态(GetLiveContext)、开关设备(HassTurnOn/HassTurnOff)、调节灯光亮度与颜色(HassLightSet)、控制风扇转速(HassFanSetSpeed)等。支持按设备名称、区域(area)、设备类型(domain)等多维度定位目标设备,命令语法简洁直观。

显著优点

1. 协议标准化:采用 Anthropic 推出的 MCP 开放协议,具备良好的互操作性和未来扩展性。
2. 生态成熟:Home Assistant 是全球最活跃的开源智能家居平台,支持数千种设备品牌,生态丰富度无可比拟。

3. 部署灵活:通过环境变量配置即可连接本地或远程 Home Assistant 实例,支持 HTTP/HTTPS 多种传输方式。

4. 无代码侵入:Skill 本身仅为配置层,不嵌入业务逻辑,安全边界清晰,便于审计和维护。

5. 社区活跃:依赖的 mcporter 工具和 Home Assistant 均有活跃社区,问题响应和更新迭代有保障。

潜在缺点与局限性

1. 外部依赖重:核心功能完全依赖 npm 包 mcporter,若该包停止维护或出现安全漏洞,将直接影响 Skill 可用性。
2. 网络依赖强:所有操作需实时连接 Home Assistant 服务器,离线环境或网络波动时无法使用。

3. 配置门槛:需用户自行获取访问令牌、配置环境变量,对非技术用户存在一定上手难度。

4. 功能受限:仅封装了部分常用设备控制接口,复杂自动化场景(如条件判断、定时任务)仍需在 Home Assistant 原生界面配置。

5. 无本地缓存:每次查询均实时调用 API,高频操作可能增加服务器负载。

适合的目标群体

  • 智能家居爱好者:已部署 Home Assistant 且希望扩展语音/AI 控制入口的用户。
  • 技术型家庭用户:具备基础 Linux/命令行操作能力,愿意配置环境变量的进阶用户。
  • 开发者与集成商:需要将 Home Assistant 能力嵌入自有 AI Agent 或自动化工作流的工程团队。
  • 多设备管理场景:拥有跨品牌、跨协议智能设备,希望通过统一接口集中控制的场景。

使用风险

1. 凭证安全HASS_ACCESS_TOKEN 以环境变量形式传递,可能被同一主机的其他进程读取,建议配合最小权限令牌使用。
2. 供应链风险mcporter 为个人开发者维护的 npm 包,虽开源可查,但缺乏企业级安全审计背书。

3. 网络暴露风险:若通过公网访问 Home Assistant,需确保 HTTPS 加密和访问控制,防止令牌截获。

4. 命令注入隐患:用户输入的设备名称等参数直接拼接至命令行,虽 mcporter 内部应有转义,但仍建议避免特殊字符。

5. 服务可用性:Home Assistant 或 mcporter 任一服务异常均会导致 Skill 失效,建议部署监控告警。

安全解读

核心用法

mcp-hass 是一款纯 Markdown 类型的技能,用于通过 MCP(Model Context Protocol)协议与 Home Assistant 智能家居平台交互。用户需先安装 mcporter npm 包作为 MCP 客户端,配置 HASS_BASE_URLHASS_ACCESS_TOKEN 环境变量后,即可通过命令行调用 Home Assistant 的各项功能。

主要功能包括:

  • 状态查询mcporter call home-assistant.GetLiveContext 获取所有设备实时状态
  • 设备开关:支持按名称 (name)、区域 (area)、设备类型 (domain) 精准控制
  • 灯光调节:支持亮度百分比(0-100%)和颜色设置
  • 风扇调速:支持风速百分比(0-100%)调节

典型调用示例:

mcporter call home-assistant.HassTurnOn(name: "Bedroom Light")
mcporter call home-assistant.HassLightSet(name: "Bedroom Light", brightness: 50)

显著优点

1. 协议标准化:采用 MCP 开放协议,可与支持 MCP 的 AI 助手无缝集成
2. 控制粒度灵活:支持名称、区域、设备类型多维度定位,满足复杂场景需求

3. 无代码侵入:纯配置型技能,无需修改 Home Assistant 核心代码

4. 本地部署:所有通信在本地网络完成,无云端依赖

5. 生态成熟:Home Assistant 支持数千种智能设备品牌,兼容性广泛

潜在缺点与局限性

1. 外部依赖风险:核心功能依赖 mcporter npm 包,该包由第三方维护,无法审计内部实现
2. 环境配置门槛:需手动获取 Home Assistant 的长期访问令牌并配置环境变量,对非技术用户不够友好

3. 网络依赖:要求运行环境能访问 Home Assistant 实例,远程场景需额外配置 VPN 或域名

4. 无图形界面:纯命令行交互,缺乏可视化操作体验

5. 令牌管理负担:用户需自行承担令牌泄露风险,无内置轮换机制

适合人群

  • 已部署 Home Assistant 的智能家居深度用户
  • 希望将 AI 助手与智能家居联动的技术爱好者
  • 需要通过脚本自动化控制家居设备的开发者
  • 重视数据隐私、倾向本地部署方案的用户

常规风险

| 风险项 | 说明 | 缓解建议 |
|--------|------|----------|
| 令牌泄露 | HASS_ACCESS_TOKEN 泄露可导致设备被非法控制 | 使用密钥管理工具存储,定期轮换 |
| 中间人攻击 | HTTP 明文传输可能被窃听 | 启用 HTTPS 并配置有效 SSL 证书 |
| 依赖投毒 | mcporter 包被篡改可能植入恶意代码 | 从官方 npm 源安装,校验包哈希 |
| 误操作风险 | 命令行参数错误可能导致批量设备状态变更 | 先在测试环境验证命令,使用 `--dry-run` 预览 |
| 网络暴露 | Home Assistant MCP 端点暴露至公网被扫描攻击 | 限制防火墙规则,仅允许可信 IP 访问 |

mcp-hass 内容

手动下载zip · 1.6 kB
SKILL.mdtext/markdown
请选择文件