Interact with Home Assistant to control smart home devices, query states, manage automations, and troubleshoot your smart home setup.
Home Assistant becomes available to MCP clients through the home assistant mcp server. Interact with Home Assistant to control smart home devices, query states, manage automations, and troubleshoot your smart home setup.
A Model Context Protocol (MCP) server for Home Assistant integration with Claude and other LLMs.
Hass-MCP enables AI assistants like Claude to interact directly with your Home Assistant instance, allowing them to:
Once connected, the assistant can call these 14 tools directly:
get_version — Get the Home Assistant versionget_entity — Get the state of a specific entity with optional field filteringentity_action — Perform actions on entities (turn on, off, toggle)list_entities — Get a list of entities with optional domain filtering and searchsearch_entities_tool — Search for entities matching a querydomain_summary_tool — Get a summary of a domain's entitieslist_automations — Get a list of all automationscall_service_tool — Call any Home Assistant servicerestart_ha — Restart Home Assistantget_history — Get the state history of an entity (last N hours)get_history_range — Get state-change history for an entity over anget_statistics — Get long-term aggregated statistics (mean / min / maxget_statistics_range — Same, but for an explicit date/time range —get_error_log — Get the Home Assistant error log, with optionalThe server is distributed via PyPI as hass-mcp, so most clients can run it without a manual build step. Add it to your MCP client's configuration and restart the client to pick it up — the copy-paste configs for Claude Desktop, Claude Code and Cursor are on this page.
Before the server will start you need to supply 3 environment variables: HA_URL, HA_TOKEN, YOUR_LONG_LIVED_TOKEN. Keep credentials in your client's env block or a secrets manager rather than committing them.
Developer-tool servers are usually the first ones people connect, because they turn "help me with this code" into an assistant that can actually read the repo and act on it. Home Assistant sits in that group, and the shape of its toolset — get_version, get_entity, entity_action among others — tells you what it is really for. Worth comparing against the other developer tools servers in this directory before you commit to one, since several overlap in scope but differ sharply in setup cost and permissions.
| Tool | What it does |
|---|---|
| get_version | Get the Home Assistant version |
| get_entity | Get the state of a specific entity with optional field filtering |
| entity_action | Perform actions on entities (turn on, off, toggle) |
| list_entities | Get a list of entities with optional domain filtering and search |
| search_entities_tool | Search for entities matching a query |
| domain_summary_tool | Get a summary of a domain's entities |
| list_automations | Get a list of all automations |
| call_service_tool | Call any Home Assistant service |
| restart_ha | Restart Home Assistant |
| get_history | Get the state history of an entity (last N hours) |
| get_history_range | Get state-change history for an entity over an |
| get_statistics | Get long-term aggregated statistics (mean / min / max |
| get_statistics_range | Same, but for an explicit date/time range — |
| get_error_log | Get the Home Assistant error log, with optional |
{
"mcpServers": {
"hass": {
"command": "uvx",
"args": ["hass-mcp"],
"env": {
"HA_URL": "your-value",
"HA_TOKEN": "your-value",
"YOUR_LONG_LIVED_TOKEN": "your-value"
}
}
}
}Add to claude_desktop_config.json, then restart Claude Desktop.
| Variable | Description | Required |
|---|---|---|
| HA_URL | Endpoint or connection string the server talks to. | Yes |
| HA_TOKEN | Credential the server authenticates with. | Yes |
| YOUR_LONG_LIVED_TOKEN | Credential the server authenticates with. | Yes |
Manage your whole Supabase project in conversation — database, auth, storage, Edge Functions and branches.
Stop letting your assistant hallucinate n8n node parameters — this server hands it the real schemas, templates and validation.
AWS Labs' official server suite — current AWS docs, CDK guidance, cost analysis and service tools.
Cloud browsers for AI agents — automation sessions that run in Browserbase's fleet, not on your machine.
Workers, KV, R2 and D1 by conversation — Cloudflare's official remote servers for building and observability.
Dashboards, Prometheus and Loki queries, incidents and alerts — observability by conversation.