Skip to content
Home Assistant MCP Server

Home Assistant MCP Server

Apache-2.0
home-assistantsmart-homeiothome-automationassistoauth

Summary

Home Assistant's built-in MCP Server integration — lets Claude, ChatGPT and other MCP clients see and control exactly the smart-home entities you choose to expose.

Features

  • Built-in Home Assistant integration — no third-party server to run
  • Exposes tools, prompts and a read-only state resource over MCP
  • Actions run through Home Assistant's Assist API
  • Respects existing per-entity voice-assistant exposure settings
  • OAuth via IndieAuth, or long-lived access tokens for clients without OAuth
  • Reachable from stdio-only clients through a local MCP proxy

Installation

Set up this MCP server in your favorite AI agent — copy a ready-made configuration below.

Any MCP-compatible agent

Most agents (Claude, Cursor, Windsurf, VS Code, and more) read a standard mcpServers configuration.

  1. Open your agent's MCP configuration file.
  2. Merge the snippet below into it.
  3. Restart the agent — the "Home Assistant MCP Server" tools will be available.
{
  "mcpServers": {
    "home-assistant": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://<your-home-assistant-url>/api/mcp"
      ]
    }
  }
}

Description

Home Assistant ships MCP support in both directions; this is the server half, where Home Assistant is the thing being controlled and the LLM application is the client. Enable the Model Context Protocol Server integration and your instance exposes an MCP endpoint that Claude, ChatGPT, Cursor or any other client can connect to in order to read state and take action in the house.

What it exposes

Three things, matching the protocol's own shape:

  • Tools — actions, backed by Home Assistant's Assist API, so an agent can turn on a light, set a thermostat or run a script.
  • Prompts — instructions telling the model how those tools are meant to be invoked.
  • Resources — a read-only snapshot of the current state of exposed entities, so the agent can answer questions about the house without calling anything.
Exposure is the control surface

This is the part worth understanding before connecting anything. The integration does not hand over your whole instance: it respects Home Assistant's existing entity-exposure settings, the same ones that govern voice assistants. An entity the agent cannot see is one you have not exposed. That gives per-entity control over what any given client is able to touch, configured in one familiar place rather than in the MCP client.

Connecting

The endpoint lives at https://<your-home-assistant-url>/api/mcp. OAuth via IndieAuth is the recommended path — the client ID is the LLM application's base URL, e.g. https://claude.ai — with long-lived access tokens available for clients that do not implement OAuth. Clients that only speak stdio can reach it through a local proxy such as mcp-remote.

Available since Home Assistant 2025.2; add it from Settings → Devices & Services.

Related MCP Servers

MCP: Slack

by Zencoder

New

Read and post to Slack from an AI client — channels, threads, reactions, and user lookup.

Productivity
New

Official instance-level MCP server that lets AI agents discover, run, and edit workflows on your n8n instance.

Productivity

MCP: Airtable

by Domenic Rosati

New

Read and write Airtable bases from an AI client — records, schemas, fields, and views.

Productivity
New

Open-source MCP server connecting agents to Taskade workspaces — projects, tasks, AI agents, and automations.

Productivity
Browse all MCP servers →