配置管理服务器

一个用于Home Assistant的自定义组件,提供MCP服务器和REST API端点,用于程序化管理Home Assistant配置。

  • by keith-gamble
  • Python
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 keith-gamble/hass-configuration-mcp

使用说明

配置MCP服务器(测试)

这是一个测试叉 基思赌博/哈斯配置mcp 用于在提交PR之前测试助手功能。

一个Home Assistant自定义组件,用于公开MCP(模型上下文协议)服务器和REST API端点,以便以编程方式管理Home Assistant配置。专为与Claude Code等人工智能助手集成而设计。

特性

  • MCP服务器 -AI助手的原生MCP协议支持
  • Lovelace仪表板 -仪表板和视图的完整CRUD操作
  • 自动化 -创建、更新、删除、启用/禁用和触发自动化
  • 脚本 -创建、更新、删除、运行和停止脚本
  • 场景 -创建、更新、删除和激活场景
  • 帮助物体 -创建、更新、删除输入助手(input_boolean、input_number、input_text、input_select、input_datetime、计数器、计时器)
  • 系统发现 -查询实体、设备、区域、楼层、集成和服务
  • 类别和标签 -管理类别和标签以组织自动化/脚本
  • 日志读取 -访问家庭助理日志进行调试
  • OAuth支持 -MCP客户端的基于浏览器的身份验证(需要hass-oidc-auth)
  • 精细权限 -独立启用/禁用每个功能

安装

HACS(推荐)

  1. 将此存储库添加为HACS中的自定义存储库
  2. 搜索“配置MCP服务器”并安装
  3. 重新启动家庭助理
  4. 转到设置>集成>添加集成>“配置MCP服务器”
  5. 配置要启用的功能

手动安装

  1. 复制 custom_components/config_mcp 文件夹到您的家庭助理配置目录
  2. 重新启动家庭助理
  3. 转到设置>集成>添加集成>“配置MCP服务器”

MCP服务器设置

克劳德代码-令牌身份验证(推荐)

claude mcp add --transport http config-mcp \
  https://your-ha-instance:8123/api/config_mcp/mcp \
  --header "Authorization: Bearer YOUR_LONG_LIVED_TOKEN"

Claude代码-OAuth身份验证

如果启用了OAuth(需要hass-oidc-auth):

claude mcp add --transport http config-mcp \
  https://your-ha-instance:8123/api/config_mcp/mcp

然后运行 /mcp 在Claude Code中,选择“身份验证”通过浏览器登录。

可用的MCP工具

仪表盘

工具 说明
ha_list_dashboards 列出所有Lovelace仪表板
ha_get_dashboard 获取仪表板元数据
ha_get_dashboard_config 获取仪表板视图/卡片
ha_create_dashboard 创建新仪表板
ha_update_dashboard 更新仪表板元数据
ha_update_dashboard_config 替换仪表板配置
ha_delete_dashboard 删除仪表板

自动化

工具 说明
ha_list_automations 列出所有自动化
ha_get_automation 获取自动化详细信息
ha_create_automation 创建新的自动化
ha_update_automation 更新自动化
ha_delete_automation 删除自动化
ha_trigger_automation 手动触发自动化

脚本

工具 说明
ha_list_scripts 列出所有脚本
ha_get_script 获取脚本详细信息
ha_create_script 创建新脚本
ha_update_script 更新脚本
ha_delete_script 删除脚本
ha_run_script 运行脚本
ha_stop_script 停止正在运行的脚本

场景

工具 说明
ha_list_scenes 列出所有场景
ha_get_scene 获取场景详细信息
ha_create_scene 创建新场景
ha_update_scene 更新场景
ha_delete_scene 删除场景
ha_activate_scene 激活场景

帮助物体

工具 说明
ha_list_helpers 列出所有具有可选域筛选器的助手
ha_get_helper 按实体_id获取帮助者详细信息
ha_create_helper 创建新的助手(input_boolean、input_number等)
ha_update_helper 更新助手配置
ha_delete_helper 删除助手

支持的帮助域:

  • input_boolean -切换开关
  • input_number -带最小/最大/步长的数字输入
  • input_text -带有模式验证的文本输入
  • input_select -下拉选择
  • input_datetime -日期和/或时间输入
  • counter -递增/递减计数器
  • timer -持续时间计时器

系统发现

工具 说明
ha_list_entities 列出具有过滤功能的实体
ha_get_entity 获取实体详细信息
ha_list_domains 列出实体域
ha_list_devices 列出具有过滤功能的设备
ha_get_device 获取设备详细信息
ha_list_areas 列出所有区域
ha_get_area 获取区域详细信息
ha_list_floors 列出所有楼层
ha_list_integrations 列出活动集成
ha_list_services 列出可用服务
ha_get_service 获取服务详细信息

类别和标签

工具 说明
ha_list_categories 按作用域列出类别(自动化/脚本/助手)
ha_get_category 获取类别详细信息
ha_create_category 创建新类别
ha_update_category 更新类别名称/图标
ha_delete_category 删除类别
ha_list_labels 列出所有标签
ha_get_label 获取标签详细信息
ha_create_label 创建新标签
ha_update_label 更新标签属性
ha_delete_label 删除标签

注: 使用 ha_patch_automation 或 ha_patch_script 随着 category_id 和 labels 为自动化和脚本分配类别/标签的参数。

日志

工具 说明
ha_get_logs 获取最近的日志条目
ha_get_error_logs 获取错误/警告日志

REST API

所有端点均可在 /api/config_mcp/:

资源 端点
MCP服务器 /api/config_mcp/mcp
仪表板 /api/config_mcp/dashboards
自动化 /api/config_mcp/automations
脚本 /api/config_mcp/scripts
场景 /api/config_mcp/scenes
助手 /api/config_mcp/helpers
实体 /api/config_mcp/entities
设备 /api/config_mcp/devices
地区 /api/config_mcp/areas
楼层 /api/config_mcp/floors
集成 /api/config_mcp/integrations
服务项目 /api/config_mcp/services
类别 /api/config_mcp/categories/{scope}
标签 /api/config_mcp/labels
日志 /api/config_mcp/logs

认证

所有端点都需要有效的Home Assistant长期访问令牌:

curl -H "Authorization: Bearer YOUR_TOKEN" \
  https://your-ha-instance:8123/api/config_mcp/dashboards

配置

安装后,通过设置>集成>配置MCP服务器>配置进行配置:

  1. MCP服务器 -启用/禁用MCP服务器、OAuth和日志读取
  2. 系统发现 -启用/禁用实体、设备、区域、集成和服务发现
  3. Lovelace仪表板 -精细的读取/创建/更新/删除权限
  4. 自动化 -精细的读取/创建/更新/删除权限
  5. 脚本 -精细的读取/创建/更新/删除权限
  6. 场景 -精细的读取/创建/更新/删除权限
  7. 帮助物体 -输入助手的精细读取/创建/更新/删除权限
  8. 类别和标签 -管理组织类别和标签

许可证

MIT许可证

贡献

项目存储库欢迎问题和拉取请求。