hass-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HA_URL | Yes | Home Assistant base URL (e.g. http://homeassistant.local:8123) | |
| HA_TOKEN | Yes | Long-lived access token for Home Assistant | |
| HA_SSH_HOST | No | SSH hostname for file management (optional) | |
| HA_SSH_PORT | No | SSH port (default: 22) | 22 |
| HA_SSH_USER | No | SSH username (must be root) for file management | |
| HA_SSH_KEY_PATH | No | Path to SSH private key for file management | |
| HA_SSH_PASSWORD | No | SSH password for file management (alternative to key) |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ha_list_dashboardsA | List all Lovelace dashboards in Home Assistant |
| ha_create_dashboardC | Create a new Lovelace dashboard |
| ha_update_dashboardB | Update an existing Lovelace dashboard's properties (title, icon, etc.) |
| ha_delete_dashboardB | Delete a Lovelace dashboard |
| ha_get_dashboard_configA | Get the full Lovelace configuration of a dashboard (all views, cards, etc.) |
| ha_save_dashboard_configB | Save/overwrite the full Lovelace configuration of a dashboard. Provide the complete config with views and cards. |
| ha_list_filesB | List files and directories on the Home Assistant server. Path is relative to /config/ (e.g. 'www' lists /config/www/). |
| ha_read_fileA | Read a file from the Home Assistant server. Path is relative to /config/. |
| ha_upload_fileA | Upload a file from the local machine to the Home Assistant server. Remote path is relative to /config/. Restricted to safe directories (www/, custom_components/, blueprints/, themes/). |
| ha_upload_file_contentA | Create/overwrite a file on the Home Assistant server with the provided text content. Remote path is relative to /config/. Parent directories are created automatically. |
| ha_delete_fileA | Delete a file from the Home Assistant server. Path is relative to /config/. Restricted to safe directories. |
| ha_mkdirA | Create a directory on the Home Assistant server (recursively). Path is relative to /config/. |
| ha_file_existsB | Check if a file or directory exists on the Home Assistant server. Path is relative to /config/. |
| ha_list_automationsA | List all automations in Home Assistant with their IDs, aliases, and states |
| ha_get_automationA | Get the full configuration of an automation by its ID |
| ha_create_automationC | Create a new automation in Home Assistant |
| ha_update_automationB | Update an existing automation's configuration |
| ha_delete_automationC | Delete an automation |
| ha_list_scriptsB | List all scripts in Home Assistant |
| ha_create_scriptB | Create a new script in Home Assistant |
| ha_update_scriptC | Update an existing script's configuration |
| ha_delete_scriptC | Delete a script |
| ha_list_scenesA | List all scenes in Home Assistant |
| ha_create_sceneB | Create a new scene in Home Assistant |
| ha_update_sceneC | Update an existing scene's configuration |
| ha_delete_sceneC | Delete a scene |
| ha_list_helpersA | List all input helpers (input_boolean, input_number, input_text, input_select, input_datetime, input_button, counter, timer) |
| ha_create_helperB | Create a new input helper (input_boolean, input_number, input_text, input_select, input_datetime, input_button, counter, timer) |
| ha_update_helperB | Update an existing input helper's configuration |
| ha_delete_helperC | Delete an input helper |
| ha_list_addonsA | List all installed Home Assistant add-ons with their status |
| ha_addon_infoA | Get detailed information about a specific add-on |
| ha_install_addonA | Install a Home Assistant add-on by slug |
| ha_start_addonC | Start a Home Assistant add-on |
| ha_stop_addonB | Stop a running Home Assistant add-on |
| ha_restart_addonC | Restart a Home Assistant add-on |
| ha_uninstall_addonB | Uninstall a Home Assistant add-on |
| ha_addon_optionsB | Get or set configuration options for an add-on |
| ha_system_infoA | Get Home Assistant system information (core version, OS, supervisor, host info) |
| ha_check_configA | Validate the Home Assistant configuration. Run this before reloading to catch errors. |
| ha_create_backupC | Create a Home Assistant backup |
| ha_list_backupsB | List all Home Assistant backups |
| ha_restart_coreA | Restart the Home Assistant core. This will briefly make HA unavailable. |
| ha_check_apiA | Check if the Home Assistant API is accessible and responding |
| ha_get_configA | Get the Home Assistant configuration (location, unit system, version, components, etc.) |
| ha_update_core_configB | Update Home Assistant core configuration (internal_url, external_url, location, etc.) |
| ha_get_componentsA | List all currently loaded Home Assistant integrations/components |
| ha_get_error_logA | Get the Home Assistant error log contents |
| ha_get_statesB | Get the current state of all entities, optionally filtered by domain (e.g. 'light', 'switch', 'sensor') |
| ha_get_entityB | Get the full state and attributes of a specific entity |
| ha_call_serviceC | Call a Home Assistant service (e.g. turn on a light, lock a door, send a notification) |
| ha_list_servicesA | List all available services, optionally filtered by domain |
| ha_render_templateB | Render a Jinja2 template using Home Assistant's template engine |
| ha_list_entity_registryB | List all entities from the entity registry with their IDs, names, platforms, and areas |
| ha_list_devicesA | List all devices from the device registry |
| ha_list_areasB | List all areas (rooms) in Home Assistant |
| ha_create_areaB | Create a new area (room) in Home Assistant |
| ha_get_historyA | Get the state history for an entity over a time period |
| ha_get_logbookC | Get logbook entries (activity log) for a time period, optionally filtered by entity |
| ha_get_eventsA | List all available event types in Home Assistant |
| ha_fire_eventB | Fire a custom event in Home Assistant to trigger automations or integrations |
| ha_set_stateA | Set or create the state of an entity. Useful for creating virtual sensors or overriding states. |
| ha_delete_stateB | Delete an entity state from Home Assistant |
| ha_get_calendarsA | List all calendar entities in Home Assistant |
| ha_get_calendar_eventsC | Get events from a specific calendar entity |
| ha_handle_intentB | Handle a conversation/voice intent in Home Assistant (e.g. natural language commands) |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/jarahkon/hass-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server