mcp-ha
Provides tools for interacting with a Home Assistant instance, including entities, areas, devices, services, automations, scripts, history, add-ons, and system.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-haWhich lights were left on in the house?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-ha: an MCP server for Home Assistant, as an add-on
This Home Assistant add-on exposes an MCP (Model Context Protocol) server. In practice: you connect Claude, Gemini or any other MCP client to your instance, and you talk to your home.
"Which lights were left on?", "Why didn't the heating automation trigger last night?", "Plot my energy usage for the week."
Documentation: devitek.github.io/mcp-ha (English and French)
What it covers
Domain | Tools |
Entities, areas, devices | fuzzy search, paginated lists, full details |
Services | catalog per domain, search, guarded call (opt-in) |
Automations | list, state, last trigger, full configuration, execution traces, guarded creation (opt-in) |
Diagnostics | health report, execution traces, causality chains (why did this fire?) |
Scripts | list, running state |
History | state changes, long-term statistics, logbook |
Energy | dashboard-backed totals and period comparisons |
Presence | who is where, zone timeline (zones only, never coordinates) |
Helpers | create and delete input_*, counters, timers (opt-in) |
Notifications | send to phones and notify targets (opt-in, rate capped) |
Announcements | speak on satellites and media players (opt-in, rate capped) |
Scenes | snapshot the current mood as a scene (opt-in, volatile) |
Weather | current conditions and forecasts (hourly, daily) |
Calendar and to-do | events over a window, list items, guarded item management (opt-in) |
Cameras | still snapshots as images (opt-in) |
Add-ons | list and details (read) |
System | Jinja template rendering, HA config, error log |
Dashboards | list views, guarded card insertion (opt-in) |
45 tools (27 read, 18 guarded write), designed to save the LLM context window: compact, paginated and capped responses, with notes that steer the assistant towards more precise queries.
Related MCP server: hass-mcp
Why not the official HA MCP integration?
It exists and works, but it goes through the Assist API: only entities exposed to Assist, no history, no registries, no add-ons, no automation configs. This add-on gives direct, granular access. Both can coexist.
Installation
Requirements: Home Assistant OS or Supervised (the add-on needs the Supervisor).
Add this repository to your add-on repositories:
Or manually: Settings, Add-ons, Add-on store, three-dot menu, Repositories, then paste
https://github.com/Devitek/mcp-ha.Install "MCP Home Assistant" and start it.
Open the add-on Configuration tab: an API token was generated and saved there on first start (the log only ever shows a masked prefix).
Connecting a client
Claude Code:
claude mcp add --transport http home-assistant \
http://HA_IP:9583/mcp \
--header "Authorization: Bearer YOUR_TOKEN"Claude Desktop and Gemini CLI: see the clients guide on the documentation site.
Security, in short
Read only by default. The service-call tool does not even exist for the client unless you enable
allow_write.Defense in depth when writes are enabled: denylist of dangerous services (HA shutdown, shell_command...), glob allow/deny lists for entities,
dry_runmode, JSON audit trail of every attempt in the log.LAN only. No TLS, no OAuth: do not expose port 9583 to the internet.
The full threat model is in SECURITY.md.
Documentation
Documentation site: installation, configuration, clients, tool reference, architecture (English and French)
LLM-friendly docs following the llms.txt convention: llms.txt (index) and llms-full.txt (everything in one file), also indexed on Context7
Add-on documentation: the page shown in the HA interface
Contributing guide: dev setup, conventions, releases
Repository issues: the project knowledge base, every design decision and pitfall is tracked there with the
décisionandécueillabels (in French)
License
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.
A TypeScript MCP server for Home Assistant, enabling programmatic management of entities, automati…
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server and Home Assistant add-on that enables AI assistants to manage smart homes by creating automations, designing dashboards, and interacting with entities. It features native access to Home Assistant APIs, built-in Git versioning for safe rollbacks, and full management of HACS integrations.622MIT
- AlicenseAqualityDmaintenanceMCP server for controlling and querying Home Assistant via its REST API, exposing tools to get entity states, list all states, and call services.16189MIT
- AlicenseBqualityCmaintenanceMCP server for full Home Assistant control, enabling AI agents to manage dashboards, automations, files, apps, entities, and more via REST API, WebSocket, and SSH.6690MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server that enables AI assistants to control Home Assistant via natural language, including device control, automation management, and system configuration.MIT