ha-mcp-dev 7.2.0.dev368__tar.gz → 7.2.0.dev370__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.
- {ha_mcp_dev-7.2.0.dev368/src/ha_mcp_dev.egg-info → ha_mcp_dev-7.2.0.dev370}/PKG-INFO +5 -4
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/README.md +4 -3
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/pyproject.toml +1 -1
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_yaml_config.py +23 -22
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370/src/ha_mcp_dev.egg-info}/PKG-INFO +5 -4
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/LICENSE +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/MANIFEST.in +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/setup.cfg +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/__init__.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/__main__.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/_pypi_marker +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/auth/__init__.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/auth/consent_form.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/auth/provider.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/client/__init__.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/client/rest_client.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/client/websocket_client.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/client/websocket_listener.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/config.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/errors.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/py.typed +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/.claude/settings.json +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/.claude-plugin/marketplace.json +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/.claude-plugin/plugin.json +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/.github/ISSUE_TEMPLATE/skill-rca.md +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/AGENTS.md +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/CLAUDE.md +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/CONTRIBUTING.md +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/LICENSE +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/README.md +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/SKILL.md +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/evals/evals.json +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/automation-patterns.md +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-cards.md +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-guide.md +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/device-control.md +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/domain-docs.md +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/examples.yaml +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/helper-selection.md +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/safe-refactoring.md +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/template-guidelines.md +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/server.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/smoke_test.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/__init__.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/backup.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/best_practice_checker.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/device_control.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/enhanced.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/helpers.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/registry.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/smart_search.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_addons.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_areas.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_blueprints.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_bug_report.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_calendar.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_camera.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_categories.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_config_automations.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_config_dashboards.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_config_entry_flow.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_config_helpers.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_config_scripts.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_entities.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_filesystem.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_groups.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_hacs.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_history.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_integrations.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_labels.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_mcp_component.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_registry.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_resources.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_search.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_service.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_services.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_system.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_todo.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_traces.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_updates.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_utility.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_voice_assistant.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_zones.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/util_helpers.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/transforms/__init__.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/transforms/categorized_search.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/utils/__init__.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/utils/config_hash.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/utils/domain_handlers.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/utils/fuzzy_search.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/utils/operation_manager.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/utils/python_sandbox.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/utils/usage_logger.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp_dev.egg-info/SOURCES.txt +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp_dev.egg-info/dependency_links.txt +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp_dev.egg-info/entry_points.txt +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp_dev.egg-info/requires.txt +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp_dev.egg-info/top_level.txt +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/tests/__init__.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/tests/test_constants.py +0 -0
- {ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/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.2.0.
|
|
3
|
+
Version: 7.2.0.dev370
|
|
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
|
|
@@ -27,7 +27,7 @@ Requires-Dist: websockets==16.0
|
|
|
27
27
|
Requires-Dist: cryptography==46.0.7
|
|
28
28
|
Dynamic: license-file
|
|
29
29
|
|
|
30
|
-
>
|
|
30
|
+
> **Breaking change (v7.3.0):** `ha_config_set_yaml` has been moved to [beta](docs/beta.md).
|
|
31
31
|
|
|
32
32
|
<div align="center">
|
|
33
33
|
<img src="docs/img/ha-mcp-logo.png" alt="Home Assistant MCP Server Logo" width="300"/>
|
|
@@ -203,7 +203,7 @@ Spend less time configuring, more time enjoying your smart home.
|
|
|
203
203
|
| **Scripts** | `ha_config_get_script`, `ha_config_remove_script`, `ha_config_set_script` |
|
|
204
204
|
| **Search & Discovery** | `ha_deep_search`, `ha_get_overview`, `ha_get_state`, `ha_search_entities` |
|
|
205
205
|
| **Service & Device Control** | `ha_bulk_control`, `ha_call_service`, `ha_get_operation_status`, `ha_list_services` |
|
|
206
|
-
| **System** | `ha_backup_create`, `ha_backup_restore`, `ha_check_config`, `ha_config_set_yaml
|
|
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
208
|
| **Utilities** | `ha_eval_template`, `ha_install_mcp_tools`, `ha_report_issue` |
|
|
209
209
|
| **Zones** | `ha_get_zone`, `ha_remove_zone`, `ha_set_zone` |
|
|
@@ -336,9 +336,10 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
|
|
|
336
336
|
- **[@restriction](https://github.com/restriction)** — Responsible disclosure: python_transform sandbox missing call target validation.
|
|
337
337
|
- **[@lcrostarosa](https://github.com/lcrostarosa)** — Diagnostic and health monitoring tools concept (#675), inspiring system/error logs, repairs, and ZHA radio metrics integration.
|
|
338
338
|
- **[@roysha1](https://github.com/roysha1)** — Copilot CLI support in the installation wizard.
|
|
339
|
-
- **[@Patch76](https://github.com/Patch76)** — `ha_remove_entity` tool, docs sync automation,
|
|
339
|
+
- **[@Patch76](https://github.com/Patch76)** — `ha_remove_entity` tool, history/statistics pagination and validation, docs sync automation, docstring guidelines, dashboard tool consolidation.
|
|
340
340
|
- **[@teancom](https://github.com/teancom)** — Fix add-on stats endpoint (`/addons/{slug}/stats`).
|
|
341
341
|
- **[@TomasDJo](https://github.com/TomasDJo)** — Category support for automations, scripts, and scenes.
|
|
342
|
+
- **[@bzelch](https://github.com/bzelch)** — `python_transform` support for automations and scripts.
|
|
342
343
|
|
|
343
344
|
---
|
|
344
345
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
>
|
|
1
|
+
> **Breaking change (v7.3.0):** `ha_config_set_yaml` has been moved to [beta](docs/beta.md).
|
|
2
2
|
|
|
3
3
|
<div align="center">
|
|
4
4
|
<img src="docs/img/ha-mcp-logo.png" alt="Home Assistant MCP Server Logo" width="300"/>
|
|
@@ -174,7 +174,7 @@ Spend less time configuring, more time enjoying your smart home.
|
|
|
174
174
|
| **Scripts** | `ha_config_get_script`, `ha_config_remove_script`, `ha_config_set_script` |
|
|
175
175
|
| **Search & Discovery** | `ha_deep_search`, `ha_get_overview`, `ha_get_state`, `ha_search_entities` |
|
|
176
176
|
| **Service & Device Control** | `ha_bulk_control`, `ha_call_service`, `ha_get_operation_status`, `ha_list_services` |
|
|
177
|
-
| **System** | `ha_backup_create`, `ha_backup_restore`, `ha_check_config`, `ha_config_set_yaml
|
|
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
179
|
| **Utilities** | `ha_eval_template`, `ha_install_mcp_tools`, `ha_report_issue` |
|
|
180
180
|
| **Zones** | `ha_get_zone`, `ha_remove_zone`, `ha_set_zone` |
|
|
@@ -307,9 +307,10 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
|
|
|
307
307
|
- **[@restriction](https://github.com/restriction)** — Responsible disclosure: python_transform sandbox missing call target validation.
|
|
308
308
|
- **[@lcrostarosa](https://github.com/lcrostarosa)** — Diagnostic and health monitoring tools concept (#675), inspiring system/error logs, repairs, and ZHA radio metrics integration.
|
|
309
309
|
- **[@roysha1](https://github.com/roysha1)** — Copilot CLI support in the installation wizard.
|
|
310
|
-
- **[@Patch76](https://github.com/Patch76)** — `ha_remove_entity` tool, docs sync automation,
|
|
310
|
+
- **[@Patch76](https://github.com/Patch76)** — `ha_remove_entity` tool, history/statistics pagination and validation, docs sync automation, docstring guidelines, dashboard tool consolidation.
|
|
311
311
|
- **[@teancom](https://github.com/teancom)** — Fix add-on stats endpoint (`/addons/{slug}/stats`).
|
|
312
312
|
- **[@TomasDJo](https://github.com/TomasDJo)** — Category support for automations, scripts, and scenes.
|
|
313
|
+
- **[@bzelch](https://github.com/bzelch)** — `python_transform` support for automations and scripts.
|
|
313
314
|
|
|
314
315
|
---
|
|
315
316
|
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "ha-mcp-dev"
|
|
7
|
-
version = "7.2.0.
|
|
7
|
+
version = "7.2.0.dev370"
|
|
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"
|
|
@@ -44,11 +44,11 @@ def register_yaml_config_tools(mcp: Any, client: Any, **kwargs: Any) -> None:
|
|
|
44
44
|
logger.info("YAML config editing tools enabled")
|
|
45
45
|
|
|
46
46
|
@mcp.tool(
|
|
47
|
-
tags={"System"},
|
|
47
|
+
tags={"System", "beta"},
|
|
48
48
|
annotations={
|
|
49
49
|
"destructiveHint": True,
|
|
50
50
|
"idempotentHint": False,
|
|
51
|
-
"title": "
|
|
51
|
+
"title": "Raw YAML Config Edit",
|
|
52
52
|
},
|
|
53
53
|
)
|
|
54
54
|
@log_tool_usage
|
|
@@ -57,8 +57,11 @@ def register_yaml_config_tools(mcp: Any, client: Any, **kwargs: Any) -> None:
|
|
|
57
57
|
str,
|
|
58
58
|
Field(
|
|
59
59
|
description=(
|
|
60
|
-
"Top-level YAML key to modify
|
|
61
|
-
"
|
|
60
|
+
"Top-level YAML key to modify. Only a narrow allowlist of "
|
|
61
|
+
"YAML-only integration keys is accepted (e.g., 'command_line', "
|
|
62
|
+
"'rest', 'shell_command', 'notify'). Not for template sensors "
|
|
63
|
+
"(use ha_set_config_entry_helper), automations, scripts, "
|
|
64
|
+
"scenes, or input_* helpers — those have dedicated tools."
|
|
62
65
|
),
|
|
63
66
|
),
|
|
64
67
|
],
|
|
@@ -103,30 +106,28 @@ def register_yaml_config_tools(mcp: Any, client: Any, **kwargs: Any) -> None:
|
|
|
103
106
|
),
|
|
104
107
|
] = True,
|
|
105
108
|
) -> dict[str, Any]:
|
|
106
|
-
"""
|
|
109
|
+
"""Update raw YAML configuration in configuration.yaml or packages/*.yaml (LAST RESORT).
|
|
107
110
|
|
|
108
|
-
|
|
109
|
-
|
|
111
|
+
**WARNING:** Destructive, disabled by default. Dedicated tools exist for
|
|
112
|
+
almost every use case and should be preferred:
|
|
113
|
+
|
|
114
|
+
- Template sensors (state-based or trigger-based) ->
|
|
115
|
+
ha_set_config_entry_helper(helper_type='template')
|
|
110
116
|
- Automations -> ha_config_set_automation
|
|
111
117
|
- Scripts -> ha_config_set_script
|
|
112
|
-
- Input helpers -> ha_config_set_helper
|
|
113
118
|
- Scenes -> ha_config_set_scene
|
|
119
|
+
- Input helpers -> ha_config_set_helper
|
|
120
|
+
- Groups, min/max, threshold, derivative, statistics, utility_meter,
|
|
121
|
+
trend, filter, switch_as_x -> ha_set_config_entry_helper
|
|
114
122
|
|
|
115
|
-
|
|
116
|
-
command_line
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
IMPORTANT: Check 'post_action' in the response. Most keys require
|
|
123
|
-
a full HA restart ('restart_required'). Only template, mqtt, and
|
|
124
|
-
group support reload ('reload_available' with 'reload_service').
|
|
123
|
+
Intended for YAML-only integrations with no config-flow or API
|
|
124
|
+
equivalent (command_line, rest, shell_command, notify platforms).
|
|
125
|
+
Check ``post_action`` in the response: most keys need a full HA
|
|
126
|
+
restart; template, mqtt, and group support reload. Preserves YAML
|
|
127
|
+
comments and HA tags (``!include``, ``!secret``) on round-trip;
|
|
128
|
+
``replace`` swaps the subtree as-is.
|
|
125
129
|
|
|
126
|
-
|
|
127
|
-
and Home Assistant tags (!include, !secret, etc.). The 'replace' action
|
|
128
|
-
substitutes the subtree as-is, so comments from the old subtree
|
|
129
|
-
do not carry over.
|
|
130
|
+
For detailed routing guidance, use ha_get_skill_home_assistant_best_practices.
|
|
130
131
|
"""
|
|
131
132
|
try:
|
|
132
133
|
# Validate action
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ha-mcp-dev
|
|
3
|
-
Version: 7.2.0.
|
|
3
|
+
Version: 7.2.0.dev370
|
|
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
|
|
@@ -27,7 +27,7 @@ Requires-Dist: websockets==16.0
|
|
|
27
27
|
Requires-Dist: cryptography==46.0.7
|
|
28
28
|
Dynamic: license-file
|
|
29
29
|
|
|
30
|
-
>
|
|
30
|
+
> **Breaking change (v7.3.0):** `ha_config_set_yaml` has been moved to [beta](docs/beta.md).
|
|
31
31
|
|
|
32
32
|
<div align="center">
|
|
33
33
|
<img src="docs/img/ha-mcp-logo.png" alt="Home Assistant MCP Server Logo" width="300"/>
|
|
@@ -203,7 +203,7 @@ Spend less time configuring, more time enjoying your smart home.
|
|
|
203
203
|
| **Scripts** | `ha_config_get_script`, `ha_config_remove_script`, `ha_config_set_script` |
|
|
204
204
|
| **Search & Discovery** | `ha_deep_search`, `ha_get_overview`, `ha_get_state`, `ha_search_entities` |
|
|
205
205
|
| **Service & Device Control** | `ha_bulk_control`, `ha_call_service`, `ha_get_operation_status`, `ha_list_services` |
|
|
206
|
-
| **System** | `ha_backup_create`, `ha_backup_restore`, `ha_check_config`, `ha_config_set_yaml
|
|
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
208
|
| **Utilities** | `ha_eval_template`, `ha_install_mcp_tools`, `ha_report_issue` |
|
|
209
209
|
| **Zones** | `ha_get_zone`, `ha_remove_zone`, `ha_set_zone` |
|
|
@@ -336,9 +336,10 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
|
|
|
336
336
|
- **[@restriction](https://github.com/restriction)** — Responsible disclosure: python_transform sandbox missing call target validation.
|
|
337
337
|
- **[@lcrostarosa](https://github.com/lcrostarosa)** — Diagnostic and health monitoring tools concept (#675), inspiring system/error logs, repairs, and ZHA radio metrics integration.
|
|
338
338
|
- **[@roysha1](https://github.com/roysha1)** — Copilot CLI support in the installation wizard.
|
|
339
|
-
- **[@Patch76](https://github.com/Patch76)** — `ha_remove_entity` tool, docs sync automation,
|
|
339
|
+
- **[@Patch76](https://github.com/Patch76)** — `ha_remove_entity` tool, history/statistics pagination and validation, docs sync automation, docstring guidelines, dashboard tool consolidation.
|
|
340
340
|
- **[@teancom](https://github.com/teancom)** — Fix add-on stats endpoint (`/addons/{slug}/stats`).
|
|
341
341
|
- **[@TomasDJo](https://github.com/TomasDJo)** — Category support for automations, scripts, and scenes.
|
|
342
|
+
- **[@bzelch](https://github.com/bzelch)** — `python_transform` support for automations and scripts.
|
|
342
343
|
|
|
343
344
|
---
|
|
344
345
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/AGENTS.md
RENAMED
|
File without changes
|
{ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/CLAUDE.md
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/LICENSE
RENAMED
|
File without changes
|
{ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/README.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/best_practice_checker.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_config_automations.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_config_dashboards.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_config_entry_flow.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_config_helpers.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_config_scripts.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_voice_assistant.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/transforms/categorized_search.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp_dev.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{ha_mcp_dev-7.2.0.dev368 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp_dev.egg-info/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|