Server profile

Home Assistant MCP Server

Home Assistant MCP Server connects assistants to smart-home controls, state monitoring, and administration. It documents HTTP APIs, live events, automation management, and optional HACS and Supervisor operations.

Server facts

Home Assistant MCP Server

Project

Author
tevonsb
License
Apache-2.0

Tech

Runtime / language
nodeTypeScript
Transports
stdio
Remote available
No
Authentication
Not specified

Activity

GitHub stars
577
Last commit
Data as of

Tags

  • Automation
  • Device Control
  • Home Assistant
  • Smart Home
  • Typescript

Overview

Home Assistant MCP Server bridges a local Home Assistant installation and language-model applications. Its documented scope ranges from changing lights, climate settings, covers, media players, and other devices to inspecting states and historical information. Automation features include creating, editing, duplicating, enabling, disabling, and manually triggering rules. System-management functions extend to add-ons and HACS packages when the corresponding Home Assistant capabilities are available. Device grouping by area and floor supplies organizational context for assistant requests.

The README describes HTTP endpoints for state, context, actions, and sequential action batches, alongside SSE subscriptions and WebSocket events for live updates. Authentication uses tokens, and rate limiting is documented for API traffic. Installation starts from a cloned repository, with npm dependency installation and a build step; Docker Compose is the recommended deployment path. Configuration points to the Home Assistant host and WebSocket endpoint and supplies a long-lived access token. Node.js 20.10 or newer is listed among prerequisites. HACS is necessary for package management, and Supervisor access is necessary for add-on operations. The Claude Desktop process configuration shown in the README is incomplete and explicitly separate from Docker usage, so the reliable reproduced launch here is the Compose command. The supplied material establishes a broad home-control bridge, but does not provide a complete Docker-to-MCP-client connection example.

Install & configure

Requirements

  • A cloned homeassistant-mcp checkout
  • Docker Compose
  • Running Home Assistant instance
  • Home Assistant long-lived access token
  • HACS for package features
  • Supervisor access for add-on features
Documented launch / install command
docker compose up -d

Run from the cloned repository after configuring its .env file. The README documents an HTTP API on http://localhost:3000 and a /health check; these are not specified as an MCP endpoint. Its process-based Claude Desktop example is incomplete and does not work with the Docker method. Node.js 20.10+ and npm are listed for source setup.

Config file · macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows: %APPDATA%\Claude\claude_desktop_config.json

Use Settings → Developer → Edit Config when available. Do not assume a Linux configuration path; check the client documentation for your platform. Remote servers use the app’s connector flow when supported, not the local stdio file shown here. Merge this example with existing settings; do not overwrite unrelated servers.

No install command stated in the README — see repo. Check the client documentation for a supported connection method.

Read the Claude Desktop setup guide

Config file · Project: .cursor/mcp.json

User: ~/.cursor/mcp.json

The project path is relative to the workspace root. The tilde denotes your user home directory. Use Cursor’s MCP settings to confirm which configuration and scope your installed version is reading. Merge this example with existing settings; do not overwrite unrelated servers.

No install command stated in the README — see repo. Check the client documentation for a supported connection method.

Read the Cursor setup guide

Config file · Workspace: .vscode/mcp.json

For user scope, use the “MCP: Open User Configuration” command if available. Do not guess a user configuration path across operating systems, profiles, containers, or remote workspaces; check the client documentation. Merge this example with existing settings; do not overwrite unrelated servers.

No install command stated in the README — see repo. Check the client documentation for a supported connection method.

Read the VS Code setup guide

Config file · macOS/Linux: ~/.codeium/windsurf/mcp_config.json

Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json

Open the MCP configuration through Windsurf’s settings when possible to confirm the active file. Paths can differ in managed or future releases; check the client documentation if this location is not present. Merge this example with existing settings; do not overwrite unrelated servers.

No install command stated in the README — see repo. Check the client documentation for a supported connection method.

Read the Windsurf setup guide

Config file · Project scope: .mcp.json at the repository root

The project file uses mcpServers. For user scope, use claude mcp add --scope user rather than assuming .mcp.json in your home directory is the user configuration. Check the client documentation for managed settings and storage details. Merge this example with existing settings; do not overwrite unrelated servers.

No install command stated in the README — see repo. Check the client documentation for a supported connection method.

Read the Claude Code setup guide

Examples are translated from the published configuration. Supply your own credentials and verify requirements in the upstream README. Remote connectors are shown only where a supported configuration format is known.

Tools

Source: repository README. Tool descriptions are a documented snapshot, not a live capability check.

ToolWhat it does
controlSend device commands such as toggling entities or changing light settings.
addonList, install, or change the running state of Home Assistant add-ons.
packageList or install HACS packages by category and repository.
automation_configCreate, modify, or duplicate Home Assistant automation configurations.

Names, permissions, and defaults can change. Check the current upstream documentation before granting access.

Use cases

  • Adjust lights, climate, covers, or media playback conversationally.
  • Monitor entity changes through event subscriptions.
  • Create and modify Home Assistant automations.
  • Manage HACS packages when HACS is installed.
  • Administer add-ons with Supervisor access.

Strengths

  • Covers device control, automation, and system administration.
  • Documents SSE and WebSocket event updates.
  • Includes a Docker Compose deployment path.

Limitations

  • Package and add-on features need HACS and Supervisor respectively.
  • Requires a Home Assistant long-lived access token.
  • The supplied Claude Desktop launch example is incomplete.

Frequently asked questions

Yes. The README describes creation, editing, duplication, enable/disable operations, and manual triggering.

The package-management operations use the Home Assistant Community Store.

Yes. The README requires Supervisor access for add-on management.

Yes. SSE subscriptions and WebSocket events are documented.

The supplied facts conflict: metadata says Apache-2.0, while the visible README badge says MIT. The provided input does not resolve that difference.

Independent listing, not an affiliation or security review. Grant the least access needed and verify the upstream instructions before running code.

Related MCP servers

Desktop Commander MCP

Mobile & Desktop Automation

Desktop Commander MCP gives assistants local file, document, terminal, and process-management tools. It supports interactive and long-running commands alongside search, focused edits, and workflows involving spreadsheets, PDFs, and Word files.

Mobile Next Mobile MCP

Mobile & Desktop Automation

Mobile Next Mobile MCP lets agents interact with iOS and Android apps on simulators, emulators, and real devices. It uses accessibility data where available and screenshot-based coordinates when needed.

Windows-MCP

Mobile & Desktop Automation

Let an AI assistant interact with Windows applications, windows, and input controls. Windows-MCP supports native UI automation, optional browser DOM inspection, and local or network transports.

iOS Simulator MCP Server

Mobile & Desktop Automation

Let an MCP assistant inspect and operate an iOS simulator on macOS. Tools cover accessibility inspection, gestures, app lifecycle actions, screenshots, and video capture for development and QA.

iMCP

Mobile & Desktop Automation

Connect an MCP assistant to selected macOS personal-data services through a menu-bar app. iMCP exposes calendar, contacts, messages, reminders, location, maps, and weather capabilities with explicit system permissions.

Android MCP Server

Mobile & Desktop Automation

Android MCP Server exposes ADB-based device operations to MCP clients. Developers can inspect installed packages, capture screenshots, examine clickable UI elements, and run device commands.