← 返回目录
H

Home Assistant MCP Server

社区
用 AI 管理 Home Assistant 的非官方 MCP 服务器
分类
其他 第 51 / 230
Stars
★ 5.1k 非常热门
传输方式
stdio(本地进程) · Streamable HTTP
运行环境
Python · Docker · 远程托管(无需本地环境)
凭据
可选 API Key
许可证
MIT
最近提交
工具数
87
63FMRS · C

非官方、社区维护的 Home Assistant MCP 服务器,功能覆盖设备控制、配置管理、调试和系统维护。能力全面但写入权限较高;建议从自定义组件开始,并谨慎启用文件和 YAML 测试版工具。

最强项 · 文档质量 16/20 最弱项 · 可靠性 8/20

可靠性
8/20
安全与权限
11/20
维护活跃度
15/20
文档质量
16/20
安装易用性
13/20
查看各项评分依据
可靠性 8/20
README列出87个工具、多个安装方式和stdio已知连接问题,但提供的材料没有实际源码、提交版CI工作流或已提交测试来验证MCP初始化、工具列表一致性及关键错误路径;manifest中的版本还是{{VERSION}}占位符。因此正常路径看似可行,但运行可靠性和版本产物仍无法静态确认,扣分明显。
安全与权限 11/20
证据显示支持只读模式、逐工具启停、工具安全策略、用户审批、自动编辑备份,并将文件/YAML工具默认关闭;同时支持ha_auth和OIDC。扣分原因是服务器可控制整个Home Assistant,包括重启、备份恢复、插件/HACS、文件删除和任意服务调用,且“Everything in Home Assistant”扩大了权限边界;远程默认可通过带秘密标识的Webhook URL访问,材料未充分说明密钥轮换、作用域隔离、审计或危险操作的强制确认。未见达到红线的证据,但权限最小化证据不足。
维护活跃度 15/20
仓库未归档,README显示发布徽章、提交活动徽章、17个开放问题、明确的项目创建者和多名维护者,并声明MIT许可证;贡献者列表和大量问题修复记录支持持续维护。扣分原因是仅凭README材料无法验证实际发布频率、依赖更新、问题响应SLA或正式安全响应渠道,维护治理仍不完整。
文档质量 16/20
文档覆盖HACS组件、App/add-on、Docker、PyPI、stdio、远程访问、OIDC、工具搜索、beta功能、故障排查、隐私和大量工具清单,并明确说明stdio问题、单一安装方式和缓存工具列表等限制。扣分原因是所给材料缺少逐工具参数、权限矩阵、资源消耗/成本边界和可复核的实现证据,且部分能力依赖外部文档或组件。
安装易用性 13/20
README提供HACS和App/add-on的分步流程,说明多种Home Assistant安装类型、远程Webhook、直接端口、客户端覆盖范围,并提供Docker、PyPI、stdio和OIDC路径。扣分原因是存在多个互斥安装模式、额外组件、反向代理或隧道选择;客户端配置细节依赖Setup Wizard,stdio还有已知问题,且没有源代码或测试证据证明步骤可重复完成。

实测已过期收录于 2026-07-29

查看 FMRS 评分方法 →

选型与风险

能访问什么读取本地文件写入 / 删除本地文件执行命令或代码访问网络

适合谁

  • 希望用 AI 配置和维护 Home Assistant 的用户
  • 需要自动化调试、历史查询和系统管理能力的 Home Assistant 用户
  • 使用 Home Assistant OS、Supervised、Container 或 Core 的用户

不适合谁

  • 只需要语音式控制已暴露设备、且不需要配置管理的用户
  • 不使用 Home Assistant 的用户
  • 需要将服务器视为 Home Assistant 官方产品的用户

所需权限

  • 需要访问 Home Assistant API 及其实体、服务和配置能力
  • 控制、配置修改、删除、重启和备份等操作可能需要较高权限
  • 文件和 YAML 工具需要安装自定义组件并启用测试版功能开关
  • 可启用只读模式、逐工具开关和工具安全策略

风险与副作用

  • 写入、删除、重启、备份恢复和 YAML 编辑可能改变或中断智能家居配置
  • 文件和 YAML 工具默认关闭,启用后应限制允许路径并保留备份
  • stdio 传输存在已知连接问题,生产环境更适合自定义组件或 HTTP 方式
  • 同一客户端配置多个安装入口可能导致连接挂起

安装接入

准备工作

运行环境:Python · Docker · 远程托管(无需本地环境)

HOMEASSISTANT_TOKEN 可选密钥 Home Assistant 长期访问令牌,在 HA 用户个人资料页底部创建,属敏感凭据。
其他可选配置项(6 个)
HOMEASSISTANT_URL 可选 你的 Home Assistant 实例地址,例如 http://<ha-host>:8123;stdio/Docker 方式运行时需要设置。
ENABLE_TOOL_SEARCH 可选 设为 true 时启用基于搜索的工具发现模式,取代一次性列出全部工具,适合小型/本地模型。
TOOL_SEARCH_MAX_RESULTS 可选 ha_search_tools 返回的最大结果数,默认 5,范围 2–10。
PINNED_TOOLS 可选 逗号分隔的工具名列表,这些工具始终直接可见,不被搜索模式延迟。
ENABLE_BETA_FEATURES 可选 启用 beta 功能的主开关,必须先开启,文件系统和 YAML 子开关才会生效。
HAMCP_ENABLE_FILESYSTEM_TOOLS 可选 启用 ha_write_file / ha_read_file 等文件系统类 beta 工具的功能开关。

首选方式是在 Home Assistant 中通过 HACS 安装 HA-MCP Custom Component,重启 Home Assistant,添加 HA-MCP Server 集成,然后从 Configure 页面复制连接 URL 并粘贴到 AI 客户端。也可使用 Home Assistant 应用/附加组件、Docker 或 PyPI/uvx。每个客户端只应配置一种安装方式。文件和 YAML 工具需要额外安装 HA-MCP File & YAML Tools 条目,并启用相应测试版功能开关。

验证是否装好

连接后,在客户端的工具列表中确认出现 ha_search 或 ha_get_overview 等工具,然后询问 AI:“能看到我的 Home Assistant 吗?”,能返回系统概览即证明连接成功。

常见排障

  1. 确认客户端只配置了一个 ha-mcp 安装入口
  2. 切换工具搜索、工具开关或只读模式后刷新或重新连接客户端工具列表
  3. 检查 Home Assistant 日志或集成 Configure 页面中的连接 URL
  4. stdio 连接异常时改用自定义组件或 streamable HTTP
  5. 确认文件和 YAML 工具已安装对应组件并启用 ENABLE_BETA_FEATURES

试试这样问

连接成功后,可以直接对 AI 助手这样说:

  • 创建一个自动化,让日落时打开门廊的灯
  • 在我的仪表板上添加一个天气卡片
  • 运动传感器自动化不工作了,帮我调试一下
  • 帮我搜索所有灯的当前状态

工具能力 87

ha_get_addon 只读
获取 Home Assistant 应用或附加组件信息。
ha_manage_addon 写入
管理 Home Assistant 应用或附加组件。
ha_list_floors_areas 只读
列出楼层和区域。
ha_remove_area_or_floor 破坏性
删除区域或楼层。
ha_set_area_or_floor 写入
创建或更新区域或楼层。
ha_manage_pipeline 写入
管理 Assist 流程。
ha_config_get_automation 只读
读取自动化配置。
ha_config_remove_automation 破坏性
删除自动化。
展开其余 79 个工具
ha_config_set_automation 写入
创建或更新自动化。
ha_get_blueprint 只读
获取蓝图。
ha_import_blueprint 写入
导入蓝图。
ha_config_get_calendar_events 只读
获取日历事件。
ha_config_remove_calendar_event 破坏性
删除日历事件。
ha_config_set_calendar_event 写入
创建或更新日历事件。
ha_get_camera_image 只读
获取摄像头图像。
ha_get_dashboard_screenshot 只读
获取仪表板截图;测试版。
ha_config_delete_dashboard_resource 破坏性
删除仪表板资源。
ha_config_delete_dashboard 破坏性
删除仪表板。
ha_config_get_dashboard 只读
读取仪表板配置。
ha_config_list_dashboard_resources 只读
列出仪表板资源。
ha_config_set_dashboard_resource 写入
创建或更新仪表板资源。
ha_config_set_dashboard 写入
创建或更新仪表板。
ha_dev_manage_server 写入
管理 Home Assistant 服务器开发设置。
ha_dev_manage_settings 写入
管理开发设置。
ha_get_device 只读
获取设备信息。
ha_remove_device 破坏性
删除设备。
ha_set_device 写入
创建或更新设备信息。
ha_manage_energy_prefs 写入
管理能源偏好设置。
ha_get_entity_exposure 只读
获取实体暴露设置。
ha_get_entity 只读
获取实体注册信息。
ha_remove_entity 破坏性
删除实体注册信息。
ha_set_entity 写入
创建或更新实体注册信息。
ha_delete_file 破坏性
删除允许路径中的文件;测试版。
ha_list_files 只读
列出允许目录中的文件;测试版。
ha_read_file 只读
读取允许路径中的文件;测试版。
ha_write_file 写入
写入允许目录中的文件;测试版。
ha_config_list_groups 只读
列出组。
ha_config_remove_group 破坏性
删除组。
ha_config_set_group 写入
创建或更新组。
ha_get_hacs_info 只读
获取 HACS 信息。
ha_manage_hacs 写入
管理 HACS。
ha_config_list_helpers 只读
列出辅助实体。
ha_config_set_helper 写入
创建或更新辅助实体。
ha_remove_helpers_integrations 破坏性
删除辅助实体集成。
ha_get_automation_traces 只读
获取自动化执行轨迹。
ha_get_history 只读
获取历史记录。
ha_get_logs 只读
获取日志。
ha_get_integration 只读
获取集成信息。
ha_get_system_health 只读
获取系统健康信息。
ha_set_integration 写入
更新集成设置。
ha_config_get_category 只读
获取类别。
ha_config_get_label 只读
获取标签。
ha_config_remove_category 破坏性
删除类别。
ha_config_remove_label 破坏性
删除标签。
ha_config_set_category 写入
创建或更新类别。
ha_config_set_label 写入
创建或更新标签。
ha_manage_radio 写入
管理 Matter 或其他相关无线电设置。
ha_config_get_scene 只读
读取场景配置。
ha_config_remove_scene 破坏性
删除场景。
ha_config_set_scene 写入
创建或更新场景。
ha_config_get_script 只读
读取脚本配置。
ha_config_remove_script 破坏性
删除脚本。
ha_config_set_script 写入
创建或更新脚本。
ha_get_overview 只读
获取 Home Assistant 概览。
ha_get_state 只读
获取实体状态。
ha_search 只读
搜索实体和配置。
ha_bulk_control 写入
批量控制设备。
ha_call_event 写入
调用事件。
ha_call_service 写入
调用 Home Assistant 服务。
ha_get_operation_status 只读
获取操作状态。
ha_list_services 只读
列出服务。
ha_config_get_yaml 只读
读取 YAML 配置;测试版。
ha_config_set_yaml 写入
安全地添加、替换或删除顶层 YAML 配置;测试版。
ha_manage_backup 写入
管理备份。
ha_manage_custom_tool 写入
管理自定义工具;测试版。
ha_manage_theme 写入
管理主题。
ha_manage_updates 写入
管理更新。
ha_reload_core 写入
重新加载核心。
ha_restart 写入
重启 Home Assistant。
ha_get_todo 只读
获取待办列表。
ha_remove_todo_item 破坏性
删除待办事项。
ha_set_todo_item 写入
创建或更新待办事项。
ha_eval_template 只读
执行模板评估。
ha_report_issue 写入
提交问题报告。
ha_get_zone 只读
获取区域信息。
ha_remove_zone 破坏性
删除区域。
ha_set_zone 写入
创建或更新区域。

使用场景

通过自然语言控制智能家居设备和服务
创建或修改自动化、脚本、场景和仪表板
查询实体状态、历史记录、日志和自动化轨迹
管理辅助实体、区域、标签、组、HACS、备份和更新

支持客户端

Claude Desktop
Claude.ai
ChatGPT
Claude Code
Gemini CLI
Open WebUI
VS Code
Cursor

依据项目文档列出,未经本站实测。

详细介绍

HA-MCP 是一个综合性的 Model Context Protocol 服务器,让 AI 助手通过自然语言与 Home Assistant 交互。它支持智能家居设备控制、状态查询、服务调用,以及自动化、脚本、场景、仪表板、辅助实体、区域、备份和调试等管理任务。项目由社区维护,采用 MIT 许可证。

同类可选方案

BioMCP 75 · B

统一的命令行语法,接入约30个可信生物医学数据源。

★ 659 · 工具数 11 与当前对比 →

源版本 874aa48726c0 数据同步于 2026-10-19 查看 FMRS 评分方法