What it is
The Model Context Protocol Server is an integration that ships with Home Assistant, the open-source home automation platform; the next version of its documentation renames it simply Model Context Protocol, to distinguish it from the MCP Client integration that works in the other direction. It arrived in Home Assistant 2025.2, has a Silver quality rating and runs inside your instance at the /api/mcp endpoint. Home Assistant's opt-in analytics count it on 35,284 of 707,952 reporting installations, about 5%.
It exposes the tools of Home Assistant's LLM APIs, such as Assist's device control, so a model can control devices and answer questions about their state. By default all LLM APIs are exposed, including ones added later, and an administrator account is required. Through device control, clients can see and control only the entities exposed to voice assistants. When the GetLiveContext tool is available it also offers a read-only snapshot of the home as a resource. Prompts, tools and resources are supported; sampling and notifications are not.
To set it up, enable MCP under Settings > System > AI, copy the server URL, add it in your client and sign in through Home Assistant with OAuth 2.0. The docs include steps for Claude, ChatGPT, Claude Code, Codex and OpenCode.
Install
https://<your-home-assistant>/api/mcpOur review
Because it is part of Home Assistant itself, there is nothing extra to install or patch; the integration had commits as recently as 18 October 2026, when its MCP library moved to 2.3.0. It reuses the entity exposure settings that Home Assistant's voice assistants use, so the decision about which devices Assist may control carries straight over to Claude or ChatGPT.
Sign-in uses OAuth 2.0 with PKCE and OAuth client ID metadata documents, so clients register themselves and no client secret is involved. The defaults are mixed. Requiring an administrator account is on, which keeps casual accounts out but means the AI acts with admin rights; exposing all LLM APIs is also on, including APIs added later. Installs that predate these options keep their old behaviour, with admin not required. A read-only option, merged on 12 October and documented for the next release, limits the main endpoint to tools annotated as read-only, the right setting for an assistant that only checks status.
Reachability is the real decision. Claude connects from Anthropic's cloud even when you use Claude Desktop, and ChatGPT on the web does the same, so Home Assistant must be reachable from the internet. Nabu Casa's Home Assistant Cloud subscription, $6.50 a month or $65 a year in the US, handles that and avoids the reverse-proxy and issuer-URL problems that take up most of the troubleshooting section. Local clients such as Codex or OpenCode can use a LAN address like homeassistant.local:8123 instead, although Claude Code insists on HTTPS.
The scope is narrower than some community servers, which can edit automations and configuration. This one offers what the LLM APIs offer: controlling devices, reading state and managing lists, not rewriting your setup. Clients that insist on RFC 7591 dynamic client registration will fail to connect, because Home Assistant uses client ID metadata instead.
Where it earns its place
A homeowner who already uses Assist with 40 exposed entities
Ask Claude whether the garage is shut and the heating is off before bed
Copy the My MCP URL, add it as a Claude custom connector and sign in; it takes minutes with Home Assistant Cloud at $6.50 a month providing remote access. Once released, read-only mode stops the assistant changing anything.
A developer running Home Assistant on a home server
Let Codex or OpenCode toggle test devices while building automations
Add http://homeassistant.local:8123/api/mcp with codex mcp add; traffic stays on the LAN, so no remote access is needed. Expose only the test entities so a wrong tool call cannot reach the front-door lock.
A holiday-let owner managing three properties
Check thermostats and locks between guests from ChatGPT
Each property's Home Assistant needs remote access and its own connector. Curate exposed entities per property and consider a non-admin account, since an agent that can unlock doors is a security decision rather than a convenience.
Before you commit
- Setup
- Enable MCP under Settings > System > AI, copy the server URL (Home Assistant recommends My MCP), add it in the client and sign in through OAuth. Cloud clients also need remote access through Home Assistant Cloud or your own proxy.
- Integrations
- Tools are whatever the selected LLM APIs provide, chiefly Assist's device control, plus prompts and a homeassistant://assist/context-snapshot resource. Per-API endpoints such as /api/mcp/assist sit alongside /api/mcp. Documented clients: Claude, ChatGPT, Claude Code, Codex and OpenCode.
- Data and privacy
- The client can read and control every exposed entity with the signing-in user's rights. The server runs in your instance, but with cloud clients entity names and states pass through the AI provider. Text people type into Home Assistant, such as to-do items, reaches the model as-is.
- Cost at scale
- Free with Home Assistant. Remote access through Nabu Casa costs $6.50 a month or $65 a year in the US (£6.50 a month including tax in the UK); the AI client's own subscription is separate.
- Limits
- No sampling, notifications or RFC 7591 dynamic registration. Hostname or forwarded-header mismatches break OAuth discovery behind tunnels and proxies. The coming read-only option covers only /api/mcp, not per-API endpoints.
What's good
- Ships with Home Assistant, no extra process
- OAuth 2.0 with PKCE; no client secret
- Honours Assist entity exposure settings
- Read-only toggle documented for the next release
What's not
- Cloud clients, including Claude Desktop, need your instance on the internet
- Exposes all LLM APIs with admin rights by default
- No dynamic client registration, sampling or notifications
Best for
Home Assistant users who want Claude or another assistant to check and control their devices under Home Assistant's own permissions.
Alternatives
Home Assistant MCP Server: common questions
- Is Home Assistant MCP Server worth it?
- Built into Home Assistant and bound by its own exposure settings, this is the safest way to let an assistant near your locks, once you narrow what it can see. We rate it 4.3 out of 5.
- How much does Home Assistant MCP Server cost?
- Free; included in Home Assistant (Apache 2.0). Cloud-based clients need remote access, through Home Assistant Cloud or your own setup.
- What are the downsides of Home Assistant MCP Server?
- Cloud clients, including Claude Desktop, need your instance on the internet; exposes all LLM APIs with admin rights by default; no dynamic client registration, sampling or notifications.
- Who is Home Assistant MCP Server best for?
- Home Assistant users who want Claude or another assistant to check and control their devices under Home Assistant's own permissions.
- How much does Home Assistant MCP Server cost for a team or in production?
- Free with Home Assistant. Remote access through Nabu Casa costs $6.50 a month or $65 a year in the US (£6.50 a month including tax in the UK); the AI client's own subscription is separate.
- Is Home Assistant MCP Server safe for company data?
- The client can read and control every exposed entity with the signing-in user's rights. The server runs in your instance, but with cloud clients entity names and states pass through the AI provider. Text people type into Home Assistant, such as to-do items, reaches the model as-is.
- What are the best Home Assistant MCP Server alternatives?
- The closest alternatives we have reviewed are Google Workspace MCP servers and Zapier MCP.
Answers checked Oct 22, 2026.