jarahkon avatar

Home Assistant MCP Server

jarahkon/hass-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 tools

Public 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*secret

Home Assistant long-lived access token

HA_SSH_HOST

SSH hostname for file management (optional)

HA_SSH_PORT

SSH port (default: 22)

HA_SSH_USER

SSH username (must be root)

HA_SSH_KEY_PATH

Path to SSH private key

HA_SSH_PASSWORDsecret

SSH password (alternative to key)

Readme

hass-mcp-server

hass-mcp-server

npm version CI License: MIT

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.


View the full README on GitHub

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