ha-mcp-dev 7.3.0.dev390__tar.gz → 7.3.0.dev392__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. {ha_mcp_dev-7.3.0.dev390/src/ha_mcp_dev.egg-info → ha_mcp_dev-7.3.0.dev392}/PKG-INFO +9 -9
  2. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/README.md +8 -8
  3. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/pyproject.toml +1 -1
  4. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_filesystem.py +4 -4
  5. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_groups.py +17 -5
  6. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_mcp_component.py +1 -1
  7. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392/src/ha_mcp_dev.egg-info}/PKG-INFO +9 -9
  8. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/LICENSE +0 -0
  9. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/MANIFEST.in +0 -0
  10. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/setup.cfg +0 -0
  11. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/__init__.py +0 -0
  12. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/__main__.py +0 -0
  13. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/_pypi_marker +0 -0
  14. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/auth/__init__.py +0 -0
  15. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/auth/consent_form.py +0 -0
  16. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/auth/provider.py +0 -0
  17. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/client/__init__.py +0 -0
  18. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/client/rest_client.py +0 -0
  19. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/client/websocket_client.py +0 -0
  20. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/client/websocket_listener.py +0 -0
  21. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/config.py +0 -0
  22. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/errors.py +0 -0
  23. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/py.typed +0 -0
  24. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/resources/skills-vendor/.claude/settings.json +0 -0
  25. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/resources/skills-vendor/.claude-plugin/marketplace.json +0 -0
  26. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/resources/skills-vendor/.claude-plugin/plugin.json +0 -0
  27. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/resources/skills-vendor/.github/ISSUE_TEMPLATE/skill-rca.md +0 -0
  28. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/resources/skills-vendor/AGENTS.md +0 -0
  29. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/resources/skills-vendor/CLAUDE.md +0 -0
  30. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/resources/skills-vendor/CONTRIBUTING.md +0 -0
  31. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/resources/skills-vendor/LICENSE +0 -0
  32. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/resources/skills-vendor/README.md +0 -0
  33. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/SKILL.md +0 -0
  34. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/evals/evals.json +0 -0
  35. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/automation-patterns.md +0 -0
  36. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-cards.md +0 -0
  37. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-guide.md +0 -0
  38. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/device-control.md +0 -0
  39. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/domain-docs.md +0 -0
  40. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/examples.yaml +0 -0
  41. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/helper-selection.md +0 -0
  42. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/safe-refactoring.md +0 -0
  43. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/template-guidelines.md +0 -0
  44. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/server.py +0 -0
  45. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/smoke_test.py +0 -0
  46. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/__init__.py +0 -0
  47. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/backup.py +0 -0
  48. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/best_practice_checker.py +0 -0
  49. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/device_control.py +0 -0
  50. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/enhanced.py +0 -0
  51. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/helpers.py +0 -0
  52. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/registry.py +0 -0
  53. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/smart_search.py +0 -0
  54. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_addons.py +0 -0
  55. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_areas.py +0 -0
  56. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_blueprints.py +0 -0
  57. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_bug_report.py +0 -0
  58. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_calendar.py +0 -0
  59. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_camera.py +0 -0
  60. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_categories.py +0 -0
  61. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_config_automations.py +0 -0
  62. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_config_dashboards.py +0 -0
  63. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_config_entry_flow.py +0 -0
  64. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_config_helpers.py +0 -0
  65. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_config_scripts.py +0 -0
  66. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_entities.py +0 -0
  67. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_hacs.py +0 -0
  68. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_history.py +0 -0
  69. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_integrations.py +0 -0
  70. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_labels.py +0 -0
  71. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_registry.py +0 -0
  72. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_resources.py +0 -0
  73. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_search.py +0 -0
  74. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_service.py +0 -0
  75. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_services.py +0 -0
  76. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_system.py +0 -0
  77. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_todo.py +0 -0
  78. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_traces.py +0 -0
  79. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_updates.py +0 -0
  80. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_utility.py +0 -0
  81. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_voice_assistant.py +0 -0
  82. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_yaml_config.py +0 -0
  83. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/tools_zones.py +0 -0
  84. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/tools/util_helpers.py +0 -0
  85. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/transforms/__init__.py +0 -0
  86. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/transforms/categorized_search.py +0 -0
  87. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/utils/__init__.py +0 -0
  88. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/utils/config_hash.py +0 -0
  89. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/utils/domain_handlers.py +0 -0
  90. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/utils/fuzzy_search.py +0 -0
  91. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/utils/operation_manager.py +0 -0
  92. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/utils/python_sandbox.py +0 -0
  93. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp/utils/usage_logger.py +0 -0
  94. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp_dev.egg-info/SOURCES.txt +0 -0
  95. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp_dev.egg-info/dependency_links.txt +0 -0
  96. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp_dev.egg-info/entry_points.txt +0 -0
  97. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp_dev.egg-info/requires.txt +0 -0
  98. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/src/ha_mcp_dev.egg-info/top_level.txt +0 -0
  99. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/tests/__init__.py +0 -0
  100. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/tests/test_constants.py +0 -0
  101. {ha_mcp_dev-7.3.0.dev390 → ha_mcp_dev-7.3.0.dev392}/tests/test_env_manager.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ha-mcp-dev
3
- Version: 7.3.0.dev390
3
+ Version: 7.3.0.dev392
4
4
  Summary: Home Assistant MCP Server - Complete control of Home Assistant through MCP
5
5
  Author-email: Julien <github@qc-h.net>
6
6
  License: MIT
@@ -193,7 +193,7 @@ Spend less time configuring, more time enjoying your smart home.
193
193
  | **Dashboards** | `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` |
194
194
  | **Device Registry** | `ha_get_device`, `ha_remove_device`, `ha_update_device` |
195
195
  | **Entity Registry** | `ha_get_entity_exposure`, `ha_get_entity`, `ha_remove_entity`, `ha_set_entity` |
196
- | **Files** | `ha_delete_file`, `ha_list_files`, `ha_read_file`, `ha_write_file` |
196
+ | **Files** | `ha_delete_file` *(beta)*, `ha_list_files` *(beta)*, `ha_read_file` *(beta)*, `ha_write_file` *(beta)* |
197
197
  | **Groups** | `ha_config_list_groups`, `ha_config_remove_group`, `ha_config_set_group` |
198
198
  | **HACS** | `ha_hacs_add_repository`, `ha_hacs_download`, `ha_hacs_repository_info`, `ha_hacs_search` |
199
199
  | **Helper Entities** | `ha_config_list_helpers`, `ha_config_remove_helper`, `ha_config_set_helper`, `ha_get_helper_schema` |
@@ -205,7 +205,7 @@ Spend less time configuring, more time enjoying your smart home.
205
205
  | **Service & Device Control** | `ha_bulk_control`, `ha_call_service`, `ha_get_operation_status`, `ha_list_services` |
206
206
  | **System** | `ha_backup_create`, `ha_backup_restore`, `ha_check_config`, `ha_config_set_yaml` *(beta)*, `ha_get_system_health`, `ha_get_updates`, `ha_reload_core`, `ha_restart` |
207
207
  | **Todo Lists** | `ha_get_todo`, `ha_remove_todo_item`, `ha_set_todo_item` |
208
- | **Utilities** | `ha_eval_template`, `ha_install_mcp_tools`, `ha_report_issue` |
208
+ | **Utilities** | `ha_eval_template`, `ha_install_mcp_tools` *(beta)*, `ha_report_issue` |
209
209
  | **Zones** | `ha_get_zone`, `ha_remove_zone`, `ha_set_zone` |
210
210
 
211
211
  <!-- TOOLS_TABLE_END -->
@@ -213,7 +213,7 @@ Spend less time configuring, more time enjoying your smart home.
213
213
 
214
214
  ---
215
215
 
216
- ## 🔌 Custom Component (ha_mcp_tools)
216
+ ## 🔌 Custom Component (ha_mcp_tools) *(beta)*
217
217
 
218
218
  Some tools require a companion custom component installed in Home Assistant. Standard HA APIs do not expose file system access or YAML config editing. This component provides both.
219
219
 
@@ -221,11 +221,11 @@ Some tools require a companion custom component installed in Home Assistant. Sta
221
221
 
222
222
  | Tool | Description |
223
223
  |------|-------------|
224
- | `ha_config_set_yaml` | Safely add, replace, or remove top-level YAML keys in `configuration.yaml` and package files (automatic backup, validation, and config check) |
225
- | `ha_list_files` | List files in allowed directories (www/, themes/, custom_templates/) |
226
- | `ha_read_file` | Read files from allowed paths (config YAML, logs, www/, themes/, custom_templates/, custom_components/) |
227
- | `ha_write_file` | Write files to allowed directories |
228
- | `ha_delete_file` | Delete files from allowed directories |
224
+ | `ha_config_set_yaml` *(beta)* | Safely add, replace, or remove top-level YAML keys in `configuration.yaml` and package files (automatic backup, validation, and config check) |
225
+ | `ha_list_files` *(beta)* | List files in allowed directories (www/, themes/, custom_templates/) |
226
+ | `ha_read_file` *(beta)* | Read files from allowed paths (config YAML, logs, www/, themes/, custom_templates/, custom_components/) |
227
+ | `ha_write_file` *(beta)* | Write files to allowed directories |
228
+ | `ha_delete_file` *(beta)* | Delete files from allowed directories |
229
229
 
230
230
  All other tools work without the component. These five return an error with installation instructions if the component is missing.
231
231
 
@@ -164,7 +164,7 @@ Spend less time configuring, more time enjoying your smart home.
164
164
  | **Dashboards** | `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` |
165
165
  | **Device Registry** | `ha_get_device`, `ha_remove_device`, `ha_update_device` |
166
166
  | **Entity Registry** | `ha_get_entity_exposure`, `ha_get_entity`, `ha_remove_entity`, `ha_set_entity` |
167
- | **Files** | `ha_delete_file`, `ha_list_files`, `ha_read_file`, `ha_write_file` |
167
+ | **Files** | `ha_delete_file` *(beta)*, `ha_list_files` *(beta)*, `ha_read_file` *(beta)*, `ha_write_file` *(beta)* |
168
168
  | **Groups** | `ha_config_list_groups`, `ha_config_remove_group`, `ha_config_set_group` |
169
169
  | **HACS** | `ha_hacs_add_repository`, `ha_hacs_download`, `ha_hacs_repository_info`, `ha_hacs_search` |
170
170
  | **Helper Entities** | `ha_config_list_helpers`, `ha_config_remove_helper`, `ha_config_set_helper`, `ha_get_helper_schema` |
@@ -176,7 +176,7 @@ Spend less time configuring, more time enjoying your smart home.
176
176
  | **Service & Device Control** | `ha_bulk_control`, `ha_call_service`, `ha_get_operation_status`, `ha_list_services` |
177
177
  | **System** | `ha_backup_create`, `ha_backup_restore`, `ha_check_config`, `ha_config_set_yaml` *(beta)*, `ha_get_system_health`, `ha_get_updates`, `ha_reload_core`, `ha_restart` |
178
178
  | **Todo Lists** | `ha_get_todo`, `ha_remove_todo_item`, `ha_set_todo_item` |
179
- | **Utilities** | `ha_eval_template`, `ha_install_mcp_tools`, `ha_report_issue` |
179
+ | **Utilities** | `ha_eval_template`, `ha_install_mcp_tools` *(beta)*, `ha_report_issue` |
180
180
  | **Zones** | `ha_get_zone`, `ha_remove_zone`, `ha_set_zone` |
181
181
 
182
182
  <!-- TOOLS_TABLE_END -->
@@ -184,7 +184,7 @@ Spend less time configuring, more time enjoying your smart home.
184
184
 
185
185
  ---
186
186
 
187
- ## 🔌 Custom Component (ha_mcp_tools)
187
+ ## 🔌 Custom Component (ha_mcp_tools) *(beta)*
188
188
 
189
189
  Some tools require a companion custom component installed in Home Assistant. Standard HA APIs do not expose file system access or YAML config editing. This component provides both.
190
190
 
@@ -192,11 +192,11 @@ Some tools require a companion custom component installed in Home Assistant. Sta
192
192
 
193
193
  | Tool | Description |
194
194
  |------|-------------|
195
- | `ha_config_set_yaml` | Safely add, replace, or remove top-level YAML keys in `configuration.yaml` and package files (automatic backup, validation, and config check) |
196
- | `ha_list_files` | List files in allowed directories (www/, themes/, custom_templates/) |
197
- | `ha_read_file` | Read files from allowed paths (config YAML, logs, www/, themes/, custom_templates/, custom_components/) |
198
- | `ha_write_file` | Write files to allowed directories |
199
- | `ha_delete_file` | Delete files from allowed directories |
195
+ | `ha_config_set_yaml` *(beta)* | Safely add, replace, or remove top-level YAML keys in `configuration.yaml` and package files (automatic backup, validation, and config check) |
196
+ | `ha_list_files` *(beta)* | List files in allowed directories (www/, themes/, custom_templates/) |
197
+ | `ha_read_file` *(beta)* | Read files from allowed paths (config YAML, logs, www/, themes/, custom_templates/, custom_components/) |
198
+ | `ha_write_file` *(beta)* | Write files to allowed directories |
199
+ | `ha_delete_file` *(beta)* | Delete files from allowed directories |
200
200
 
201
201
  All other tools work without the component. These five return an error with installation instructions if the component is missing.
202
202
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "ha-mcp-dev"
7
- version = "7.3.0.dev390"
7
+ version = "7.3.0.dev392"
8
8
  description = "Home Assistant MCP Server - Complete control of Home Assistant through MCP"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.13,<3.14"
@@ -101,7 +101,7 @@ class FilesystemTools:
101
101
 
102
102
  @tool(
103
103
  name="ha_list_files",
104
- tags={"Files"},
104
+ tags={"Files", "beta"},
105
105
  annotations={
106
106
  "readOnlyHint": True,
107
107
  "title": "List Files",
@@ -195,7 +195,7 @@ class FilesystemTools:
195
195
 
196
196
  @tool(
197
197
  name="ha_read_file",
198
- tags={"Files"},
198
+ tags={"Files", "beta"},
199
199
  annotations={
200
200
  "readOnlyHint": True,
201
201
  "title": "Read File",
@@ -308,7 +308,7 @@ class FilesystemTools:
308
308
 
309
309
  @tool(
310
310
  name="ha_write_file",
311
- tags={"Files"},
311
+ tags={"Files", "beta"},
312
312
  annotations={
313
313
  "destructiveHint": True,
314
314
  "title": "Write File",
@@ -439,7 +439,7 @@ class FilesystemTools:
439
439
 
440
440
  @tool(
441
441
  name="ha_delete_file",
442
- tags={"Files"},
442
+ tags={"Files", "beta"},
443
443
  annotations={
444
444
  "destructiveHint": True,
445
445
  "title": "Delete File",
@@ -245,10 +245,17 @@ class GroupTools:
245
245
  ] = True,
246
246
  ) -> dict[str, Any]:
247
247
  """
248
- Create or update a Home Assistant entity group.
248
+ Create or update a service-based Home Assistant entity group via the group.set service.
249
249
 
250
- Uses the group.set service to create a new group or update an existing one.
251
- Groups are useful for organizing entities and controlling them together.
250
+ **When NOT to use:** for typical "combine these entities into one controllable group"
251
+ requests, prefer `ha_config_set_helper(helper_type="group", ...)`. Config-entry-backed
252
+ groups are registered in the entity registry, so `ha_set_entity` can assign them to
253
+ areas and they are deletable via `ha_delete_config_entry`.
254
+
255
+ **When to use:** compatibility with existing groups already configured via group.set
256
+ or YAML, or the rare case where entity-registry membership is explicitly unwanted.
257
+ Groups created here are only removable via `ha_config_remove_group` — neither
258
+ `ha_config_remove_helper` nor `ha_delete_config_entry` will find them.
252
259
 
253
260
  **For NEW groups:** Provide object_id and entities (required).
254
261
  **For EXISTING groups:** Provide object_id and any fields to update.
@@ -333,9 +340,14 @@ class GroupTools:
333
340
  ] = True,
334
341
  ) -> dict[str, Any]:
335
342
  """
336
- Remove a Home Assistant entity group.
343
+ Remove a service-based Home Assistant entity group via the group.remove service.
344
+
345
+ **When NOT to use:** for groups created through `ha_config_set_helper(helper_type="group", ...)`,
346
+ use `ha_delete_config_entry`. Those config-entry-backed groups are not reachable via the
347
+ group.remove service, and `ha_config_remove_helper` does not support helper_type="group".
337
348
 
338
- Uses the group.remove service to delete the group.
349
+ **When to use:** removing groups created with `ha_config_set_group` or defined in YAML
350
+ via `group:` configuration. Config-entry-backed deletion tools cannot find these.
339
351
 
340
352
  EXAMPLES:
341
353
  - Remove group: ha_config_remove_group("living_room_lights")
@@ -163,7 +163,7 @@ class McpComponentTools:
163
163
 
164
164
  @tool(
165
165
  name="ha_install_mcp_tools",
166
- tags={"Utilities"},
166
+ tags={"Utilities", "beta"},
167
167
  annotations={
168
168
  "destructiveHint": True,
169
169
  "title": "Install MCP Tools Component"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ha-mcp-dev
3
- Version: 7.3.0.dev390
3
+ Version: 7.3.0.dev392
4
4
  Summary: Home Assistant MCP Server - Complete control of Home Assistant through MCP
5
5
  Author-email: Julien <github@qc-h.net>
6
6
  License: MIT
@@ -193,7 +193,7 @@ Spend less time configuring, more time enjoying your smart home.
193
193
  | **Dashboards** | `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` |
194
194
  | **Device Registry** | `ha_get_device`, `ha_remove_device`, `ha_update_device` |
195
195
  | **Entity Registry** | `ha_get_entity_exposure`, `ha_get_entity`, `ha_remove_entity`, `ha_set_entity` |
196
- | **Files** | `ha_delete_file`, `ha_list_files`, `ha_read_file`, `ha_write_file` |
196
+ | **Files** | `ha_delete_file` *(beta)*, `ha_list_files` *(beta)*, `ha_read_file` *(beta)*, `ha_write_file` *(beta)* |
197
197
  | **Groups** | `ha_config_list_groups`, `ha_config_remove_group`, `ha_config_set_group` |
198
198
  | **HACS** | `ha_hacs_add_repository`, `ha_hacs_download`, `ha_hacs_repository_info`, `ha_hacs_search` |
199
199
  | **Helper Entities** | `ha_config_list_helpers`, `ha_config_remove_helper`, `ha_config_set_helper`, `ha_get_helper_schema` |
@@ -205,7 +205,7 @@ Spend less time configuring, more time enjoying your smart home.
205
205
  | **Service & Device Control** | `ha_bulk_control`, `ha_call_service`, `ha_get_operation_status`, `ha_list_services` |
206
206
  | **System** | `ha_backup_create`, `ha_backup_restore`, `ha_check_config`, `ha_config_set_yaml` *(beta)*, `ha_get_system_health`, `ha_get_updates`, `ha_reload_core`, `ha_restart` |
207
207
  | **Todo Lists** | `ha_get_todo`, `ha_remove_todo_item`, `ha_set_todo_item` |
208
- | **Utilities** | `ha_eval_template`, `ha_install_mcp_tools`, `ha_report_issue` |
208
+ | **Utilities** | `ha_eval_template`, `ha_install_mcp_tools` *(beta)*, `ha_report_issue` |
209
209
  | **Zones** | `ha_get_zone`, `ha_remove_zone`, `ha_set_zone` |
210
210
 
211
211
  <!-- TOOLS_TABLE_END -->
@@ -213,7 +213,7 @@ Spend less time configuring, more time enjoying your smart home.
213
213
 
214
214
  ---
215
215
 
216
- ## 🔌 Custom Component (ha_mcp_tools)
216
+ ## 🔌 Custom Component (ha_mcp_tools) *(beta)*
217
217
 
218
218
  Some tools require a companion custom component installed in Home Assistant. Standard HA APIs do not expose file system access or YAML config editing. This component provides both.
219
219
 
@@ -221,11 +221,11 @@ Some tools require a companion custom component installed in Home Assistant. Sta
221
221
 
222
222
  | Tool | Description |
223
223
  |------|-------------|
224
- | `ha_config_set_yaml` | Safely add, replace, or remove top-level YAML keys in `configuration.yaml` and package files (automatic backup, validation, and config check) |
225
- | `ha_list_files` | List files in allowed directories (www/, themes/, custom_templates/) |
226
- | `ha_read_file` | Read files from allowed paths (config YAML, logs, www/, themes/, custom_templates/, custom_components/) |
227
- | `ha_write_file` | Write files to allowed directories |
228
- | `ha_delete_file` | Delete files from allowed directories |
224
+ | `ha_config_set_yaml` *(beta)* | Safely add, replace, or remove top-level YAML keys in `configuration.yaml` and package files (automatic backup, validation, and config check) |
225
+ | `ha_list_files` *(beta)* | List files in allowed directories (www/, themes/, custom_templates/) |
226
+ | `ha_read_file` *(beta)* | Read files from allowed paths (config YAML, logs, www/, themes/, custom_templates/, custom_components/) |
227
+ | `ha_write_file` *(beta)* | Write files to allowed directories |
228
+ | `ha_delete_file` *(beta)* | Delete files from allowed directories |
229
229
 
230
230
  All other tools work without the component. These five return an error with installation instructions if the component is missing.
231
231