Skip to main content
📖 The AI Tool Bible
Home Assistant MCP logo

Home Assistant MCP

Not yet source-checked

Open-source MCP server that lets any LLM control and observe a Home Assistant smart home in real time.

Machine-drafted from the vendor's site · not yet source-checkedProfile updated Link checked How we rate

Free· Free and open source (Apache 2.0). Self-hosted; only cost is your own Home Assistant instance and the LLM client you connect to it.MCP Servers

In short

Home Assistant MCP is a free, open-source server that lets LLMs control smart home devices via natural language. It supports real-time state monitoring and add-on management for self-hosted users.

Best for

Home Assistant power users and home-lab developers who want an MCP-compatible LLM (Claude Desktop, Cursor, custom agents) to control real devices, watch state changes over SSE, and manage add-ons through natural language.

Skip if

Users without a self-hosted Home Assistant instance, or anyone expecting a hosted, click-to-install cloud smart-home assistant with no networking or Docker involved.

Home Assistant MCP is an open-source Model Context Protocol server that exposes a local Home Assistant instance to any MCP-compatible LLM client, letting language models discover devices, read state, and issue service calls through natural language. Built in TypeScript and runnable via Node.js or Docker Compose, it wraps the Home Assistant REST API and event bus behind a clean set of MCP tools covering lights, climate, covers, switches, sensors, media players, fans, locks, vacuums and cameras, plus system-level surfaces like add-on management, HACS package installs, and automation CRUD. A built-in Server-Sent Events channel streams real-time state changes so an assistant can react to triggers rather than only responding to prompts, and token-based auth with rate limiting keeps the bridge from becoming an open control plane. Typical setups drop the server on the same network as Home Assistant, point Claude Desktop, Cursor, Continue, or another MCP host at it, and immediately get conversational control over the entire smart-home graph without writing YAML or juggling the REST cookbook. It is aimed at home-lab tinkerers, HA power users, and developers building custom voice or chat frontends who want their LLM to actually touch hardware rather than just describe it. The project is actively maintained with ~95% test coverage advertised and covers the awkward parts of HA integration — long-running SSE subscriptions, service schema discovery, and add-on lifecycle — so that prompt authors can focus on intent rather than endpoint plumbing.

Editor's take

This is one of the more complete community MCP servers for Home Assistant — most alternatives stop at read-only state, but this one exposes services, add-ons, and an SSE firehose. If you already run HA and use an MCP-aware client, it's the shortest path from prompt to smart-plug. Just scope your subscriptions so you don't drown the model in event traffic.

— The AI Tool Bible editorial team

Pros

  • ✅ Broad domain coverage — lights, climate, covers, media, locks, vacuums, cameras, and more mapped to MCP tools out of the box
  • ✅ Real-time SSE subscriptions let an LLM react to state changes and automation triggers, not just poll
  • ✅ Docker Compose setup and clear env-var config make it easy to run alongside an existing Home Assistant install
  • ✅ Exposes system-level surfaces most HA wrappers skip: add-on management, HACS package installs, automation CRUD
  • ✅ Token auth plus rate limiting on the bridge, so it isn't a trivially open control plane
  • ✅ Apache 2.0 licensed, TypeScript, 500+ GitHub stars and active commits — reasonable community traction for an MCP project

Cons

  • ⚠️ Requires a working Home Assistant instance and long-lived access token — not useful without one
  • ⚠️ Self-hosted only; you own the reverse-proxy, TLS, and network exposure decisions
  • ⚠️ Model-agnostic by design, so quality of device control depends heavily on which LLM client you attach
  • ⚠️ Single-maintainer community project — issue triage and roadmap can be slower than vendor MCP servers
  • ⚠️ Broad tool surface can flood an LLM's context window if you don't scope subscriptions to specific domains

Facts

API available
Yes
Open source
Yes (license: Apache-2.0)
GitHub stars
576 (checked Oct 29, 2026)
Last GitHub push
Jan 25, 2026
First commit
Dec 2024

Where this tool sits

Use cases

Conversational smart-home control from Claude Desktop or CursorLLM-driven Home Assistant automationsReal-time device state monitoring via SSEVoice-agent frontends that call HA servicesBulk add-on and HACS package management through chatPrototyping custom home-lab AI assistantsNatural-language climate and lighting scenesCamera snapshot and motion event triaging

Frequently asked

How much does Home Assistant MCP cost?
It is free and open source under the Apache 2.0 license. The only costs are your own Home Assistant instance and the LLM client you connect to it, as it is self-hosted.
Which LLM clients are compatible with this tool?
It works with any MCP-compatible LLM client, including Claude Desktop, Cursor, Continue, and custom agents. You point these hosts at the server to enable conversational control over your smart home.
Do I need a hosted cloud service to use it?
No, it is self-hosted. You need a local Home Assistant instance and must run the server via Node.js or Docker Compose on the same network. It is not a click-to-install cloud service.
What smart home features can the LLM control?
It covers lights, climate, covers, switches, sensors, media players, fans, locks, vacuums, and cameras. It also manages add-ons, HACS packages, and automations through natural language service calls.
Can the assistant react to real-time changes?
Yes, a built-in Server-Sent Events channel streams real-time state changes. This allows the assistant to react to triggers immediately rather than only responding to user prompts.
Is it secure to expose my smart home to an LLM?
It uses token-based authentication and rate limiting to prevent the bridge from becoming an open control plane. This helps secure the connection between the LLM client and your Home Assistant instance.
See alternatives to Home Assistant MCP →

Explore related

Reviews