# ha-direct MCP Tools Reference Use these tools only when ha-direct specific features are needed (BPS, backup, python_transform). ## Automations | Tool | Purpose | |------|---------| | `ha_config_get_automation` | Read automation config | | `ha_config_set_automation` | Create/update automation | | `ha_config_remove_automation` | Delete automation | | `ha_get_automation_traces` | Debug automation execution | ## Scripts | Tool | Purpose | |------|---------| | `ha_config_set_script` | Create/update script | ## Scenes | Tool | Purpose | |------|---------| | `ha_config_get_scene` | Read scene config | | `ha_config_set_scene` | Create/update scene | | `ha_config_remove_scene` | Delete scene | ## Dashboards | Tool | Purpose | |------|---------| | `ha_config_get_dashboard` | List/get/search dashboards | | `ha_config_set_dashboard` | Create/update dashboard | | `ha_config_delete_dashboard` | Delete dashboard | ## Entities | Tool | Purpose | |------|---------| | `ha_get_entity` | Get entity registry info | | `ha_set_entity` | Update entity properties | | `ha_remove_entity` | Remove entity | ## Labels/Categories | Tool | Purpose | |------|---------| | `ha_config_get_label` | List/get labels | | `ha_config_set_label` | Create/update label | | `ha_config_remove_label` | Delete label | | `ha_config_get_category` | List/get categories | | `ha_config_set_category` | Create/update category | | `ha_config_remove_category` | Delete category | ## System | Tool | Purpose | |------|---------| | `ha_reload_core` | Reload config without restart | | `ha_manage_updates` | Manage system updates | | `ha_get_overview` | System overview | | `ha_get_skill_guide` | Best practices | | `ha_report_issue` | File bug reports | ## Control | Tool | Purpose | |------|---------| | `ha_call_service` | Call any HA service | | `ha_call_event` | Fire custom event | ## Search | Tool | Purpose | |------|---------| | `ha_search` | Search entities/configs | ## Notes - Write tools require `BestPracticeKey` (read from `SKILL.md` first) - Key rotates hourly, re-read for fresh key - `python_transform` requires `config_hash` from GET call