
Home Assistant MCP Server
Connects Claude to your Home Assistant instance through three transport layers: REST API, WebSocket API, and SSH/SFTP. You get 66 tools covering dashboard management (create and deploy Lovelace configs), file uploads (custom cards, images), full CRUD for automations and scripts, input helper creation, add-on lifecycle management, entity queries, service calls, and template rendering. The file management tools require the Advanced SSH & Web Terminal add-on, but the REST and WebSocket features work with just a long-lived access token. Setup is straightforward through environment variables, and it ships as an npx package so your MCP client handles the installation. If you're managing a Home Assistant deployment and want AI-assisted configuration instead of clicking through the UI, this gives you programmatic access to nearly everything.
- tools
- 66
- auth
- Secret needed
- transport
- STDIO
- env vars
- 7
- last updated
- Mar 25, 2026
Tools
66 toolsPublic tool metadata for what this MCP can expose to an agent.
ha_list_dashboardsList all Lovelace dashboards
List all Lovelace dashboards
No parameter schema in public metadata yet.
ha_create_dashboardCreate a new dashboard with url_path, title, icon
Create a new dashboard with url_path, title, icon
No parameter schema in public metadata yet.
ha_update_dashboardUpdate dashboard properties (title, icon, sidebar visibility)
Update dashboard properties (title, icon, sidebar visibility)
No parameter schema in public metadata yet.
ha_delete_dashboardDelete a dashboard by ID
Delete a dashboard by ID
No parameter schema in public metadata yet.
ha_get_dashboard_configGet the full Lovelace config JSON for a dashboard
Get the full Lovelace config JSON for a dashboard
No parameter schema in public metadata yet.
ha_save_dashboard_configDeploy a complete Lovelace config to a dashboard
Deploy a complete Lovelace config to a dashboard
No parameter schema in public metadata yet.
ha_list_filesList files in a directory on HA (relative to /config/)
List files in a directory on HA (relative to /config/)
No parameter schema in public metadata yet.
ha_read_fileRead file contents from HA
Read file contents from HA
No parameter schema in public metadata yet.
ha_upload_fileUpload a local file to HA via SFTP
Upload a local file to HA via SFTP
No parameter schema in public metadata yet.
ha_upload_file_contentWrite string content directly to a file on HA
Write string content directly to a file on HA
No parameter schema in public metadata yet.
ha_delete_fileDelete a file on HA (restricted to safe directories)
Delete a file on HA (restricted to safe directories)
No parameter schema in public metadata yet.
ha_mkdirCreate a directory on HA
Create a directory on HA
No parameter schema in public metadata yet.
ha_file_existsCheck if a file or directory exists on HA
Check if a file or directory exists on HA
No parameter schema in public metadata yet.
ha_list_automationsList all automations
List all automations
No parameter schema in public metadata yet.
ha_get_automationGet a specific automation's config by ID
Get a specific automation's config by ID
No parameter schema in public metadata yet.
ha_create_automationCreate a new automation
Create a new automation
No parameter schema in public metadata yet.
ha_update_automationUpdate an existing automation
Update an existing automation
No parameter schema in public metadata yet.
ha_delete_automationDelete an automation
Delete an automation
No parameter schema in public metadata yet.
ha_list_scriptsList all scripts
List all scripts
No parameter schema in public metadata yet.
ha_create_scriptCreate a new script
Create a new script
No parameter schema in public metadata yet.
ha_update_scriptUpdate an existing script
Update an existing script
No parameter schema in public metadata yet.
ha_delete_scriptDelete a script
Delete a script
No parameter schema in public metadata yet.
ha_list_scenesList all scenes
List all scenes
No parameter schema in public metadata yet.
ha_create_sceneCreate a new scene
Create a new scene
No parameter schema in public metadata yet.
ha_update_sceneUpdate an existing scene
Update an existing scene
No parameter schema in public metadata yet.
ha_delete_sceneDelete a scene
Delete a scene
No parameter schema in public metadata yet.
ha_list_helpersList all input helpers (booleans, numbers, etc.)
List all input helpers (booleans, numbers, etc.)
No parameter schema in public metadata yet.
ha_create_helperCreate an input helper of any type
Create an input helper of any type
No parameter schema in public metadata yet.
ha_update_helperUpdate an existing helper
Update an existing helper
No parameter schema in public metadata yet.
ha_delete_helperDelete a helper
Delete a helper
No parameter schema in public metadata yet.
ha_list_addonsList all installed apps with status
List all installed apps with status
No parameter schema in public metadata yet.
ha_addon_infoGet detailed info about a specific app
Get detailed info about a specific app
No parameter schema in public metadata yet.
ha_install_addonInstall an app by slug
Install an app by slug
No parameter schema in public metadata yet.
ha_start_addonStart an app
Start an app
No parameter schema in public metadata yet.
ha_stop_addonStop an app
Stop an app
No parameter schema in public metadata yet.
ha_restart_addonRestart an app
Restart an app
No parameter schema in public metadata yet.
ha_uninstall_addonUninstall an app
Uninstall an app
No parameter schema in public metadata yet.
ha_addon_optionsGet or set app configuration options
Get or set app configuration options
No parameter schema in public metadata yet.
ha_system_infoGet system info (core, OS, supervisor, host)
Get system info (core, OS, supervisor, host)
No parameter schema in public metadata yet.
ha_check_configValidate HA configuration before reload
Validate HA configuration before reload
No parameter schema in public metadata yet.
ha_create_backupCreate a full or partial backup
Create a full or partial backup
No parameter schema in public metadata yet.
ha_list_backupsList all backups
List all backups
No parameter schema in public metadata yet.
ha_restart_coreRestart Home Assistant core
Restart Home Assistant core
No parameter schema in public metadata yet.
ha_check_apiCheck if the HA API is accessible and responding
Check if the HA API is accessible and responding
No parameter schema in public metadata yet.
ha_get_configGet HA configuration (location, units, version, components)
Get HA configuration (location, units, version, components)
No parameter schema in public metadata yet.
ha_update_core_configUpdate core configuration (internal/external URL, location, units)
Update core configuration (internal/external URL, location, units)
No parameter schema in public metadata yet.
ha_get_componentsList all loaded HA integrations/components
List all loaded HA integrations/components
No parameter schema in public metadata yet.
ha_get_error_logGet the Home Assistant error log contents
Get the Home Assistant error log contents
No parameter schema in public metadata yet.
ha_get_statesGet all entity states (optionally filtered by domain)
Get all entity states (optionally filtered by domain)
No parameter schema in public metadata yet.
ha_get_entityGet full state and attributes of a specific entity
Get full state and attributes of a specific entity
No parameter schema in public metadata yet.
ha_call_serviceCall any HA service (turn_on, turn_off, notify, etc.)
Call any HA service (turn_on, turn_off, notify, etc.)
No parameter schema in public metadata yet.
ha_list_servicesList available services by domain
List available services by domain
No parameter schema in public metadata yet.
ha_render_templateRender a Jinja2 template
Render a Jinja2 template
No parameter schema in public metadata yet.
ha_list_entity_registryList entities from the entity registry
List entities from the entity registry
No parameter schema in public metadata yet.
ha_list_devicesList all devices
List all devices
No parameter schema in public metadata yet.
ha_list_areasList all areas (rooms)
List all areas (rooms)
No parameter schema in public metadata yet.
ha_create_areaCreate a new area
Create a new area
No parameter schema in public metadata yet.
ha_get_historyGet state history for an entity over a time period
Get state history for an entity over a time period
No parameter schema in public metadata yet.
ha_get_logbookGet logbook entries (activity log), optionally filtered by entity
Get logbook entries (activity log), optionally filtered by entity
No parameter schema in public metadata yet.
ha_get_eventsList all available event types
List all available event types
No parameter schema in public metadata yet.
ha_fire_eventFire a custom event to trigger automations
Fire a custom event to trigger automations
No parameter schema in public metadata yet.
ha_set_stateSet or create an entity state (virtual sensors, overrides)
Set or create an entity state (virtual sensors, overrides)
No parameter schema in public metadata yet.
ha_delete_stateDelete an entity state
Delete an entity state
No parameter schema in public metadata yet.
ha_get_calendarsList all calendar entities
List all calendar entities
No parameter schema in public metadata yet.
ha_get_calendar_eventsGet events from a specific calendar
Get events from a specific calendar
No parameter schema in public metadata yet.
ha_handle_intentHandle a conversation/voice intent
Handle a conversation/voice intent
No parameter schema in public metadata yet.
Sponsors
Configuration
HA_URL*Home Assistant base URL (e.g. http://homeassistant.local:8123)
HA_TOKEN*secretHome Assistant long-lived access token
HA_SSH_HOSTSSH hostname for file management (optional)
HA_SSH_PORTSSH port (default: 22)
HA_SSH_USERSSH username (must be root)
HA_SSH_KEY_PATHPath to SSH private key
HA_SSH_PASSWORDsecretSSH password (alternative to key)
Readme
hass-mcp-server
hass-mcp-server
MCP server for full Home Assistant control. AI agents (GitHub Copilot, Claude, etc.) can manage your dashboards, automations, files, apps, entities, and more — so you never have to touch HA settings yourself.
Details
- Repository
- github.com/jarahkon/hass-mcp-server
- Website
- github.com/jarahkon/hass-mcp-server
- Package
@jarahkon/hass-mcp-server- Transport
- STDIO
- Auth
- Required
- Registry
- MCP registry, active