配置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(推荐)
- 将此存储库添加为HACS中的自定义存储库
- 搜索“配置MCP服务器”并安装
- 重新启动家庭助理
- 转到设置>集成>添加集成>“配置MCP服务器”
- 配置要启用的功能
手动安装
- 复制
custom_components/config_mcp文件夹到您的家庭助理配置目录 - 重新启动家庭助理
- 转到设置>集成>添加集成>“配置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服务器>配置进行配置:
- MCP服务器 -启用/禁用MCP服务器、OAuth和日志读取
- 系统发现 -启用/禁用实体、设备、区域、集成和服务发现
- Lovelace仪表板 -精细的读取/创建/更新/删除权限
- 自动化 -精细的读取/创建/更新/删除权限
- 脚本 -精细的读取/创建/更新/删除权限
- 场景 -精细的读取/创建/更新/删除权限
- 帮助物体 -输入助手的精细读取/创建/更新/删除权限
- 类别和标签 -管理组织类别和标签
许可证
MIT许可证
贡献
项目存储库欢迎问题和拉取请求。
