Skip to content

On Home Assistant 2026.10 or older? Open it in HACS

Independent directory, made by the developer of Vulpo. Not affiliated with Home Assistant or the Open Home Foundation.

Screenshots From the README of homeassistant-ai/ha-mcp.

Demo with Claude Desktop

About

The Unofficial and Awesome Home Assistant MCP Server

Description from homeassistant-ai/ha-mcp

Shows in Vulpo

Quick Toggle card, Apple Watch, Control Center.

Supports

  • Works locallyTalks to your devices on your own network. No vendor cloud in between.
  • From the MarketplaceInstalled through the Marketplace, formerly HACS.
  • Actively maintainedIts author released or pushed a change in the last six months.

Provides

  • Switches

Setting it up

Install it from the Marketplace and restart Home Assistant, then add it under Settings, Devices and services.

HA-MCP Server

  • Remote access through Home AssistantLets MCP clients connect through a Home Assistant webhook, which works wherever Home Assistant is reachable (including Nabu Casa). Home Assistant sign-in: clients such as claude.ai log in with a Home Assistant administrator account. Legacy OAuth: a Client ID and Secret to paste into clients that need one. Secret URL: the webhook link itself is the only credential - anyone who has it can use every tool.
  • Network accessWho can connect to the server's own port directly. This machine only is the safe default. Local network lets other devices on your network connect with the secret direct-access URL shown on the Configure screen.
  • Administrator access tokenA long-lived access token of an administrator account. Your own works: open your profile (your name at the bottom of the sidebar), select the Security tab, and under Long-lived access tokens select Create token. Your own token also works from outside your home network if it ever leaks, and Home Assistant records the server's changes under your name. Safer: an account made just for HA-MCP, with Local access only on (see the fields below).
  • Or: user name of a local-only account made for HA-MCPOnly for an account you created just for HA-MCP, under Settings → People → Add person with Allow login, Local access only and Administrator on. Never enter your own login here: to use your own account, paste its token above instead. HA-MCP creates this account's token (named HA-MCP Server), so nobody has to log in as it, and the password is not kept. Its token works only from your local network, where the server runs, and Home Assistant records the server's changes under this account.
  • That account's passwordUsed once, to create the token. Never your own password.

After setup

  • Extra file pathsPaths relative to the config directory, including exact filenames such as sensor.yaml, or paths under /share, /media, and /ssl (read-only on HAOS and Supervised). Each entry is granted read and write for that path and anything below it; enter every path as a separate list item. Entries are matched literally; wildcards such as * are not supported. Traversal and other disallowed paths are dropped.
  • Extra YAML write keysTop-level keys ha_config_set_yaml may write in addition to the built-in ones, for YAML-first integrations on this install (e.g. alert2). Trust-boundary keys are dropped.
  • MCP server listening portThe port this server listens on. The ha-mcp app (add-on) uses 9583, so this defaults to 9584 to let both run side by side - if you don't run the app (add-on), any free port works.
  • Network accessWho can connect to the MCP server port directly. Local network makes it reachable from your local network, with the secret path as the credential, like the app (add-on). This machine only allows connections from the Home Assistant machine itself - the webhook URL and the sidebar panel work either way.
  • Authentication modeHow MCP clients prove themselves at the webhook URL. With the secret URL, the link itself is the only credential - OAuth still runs for clients that use it, and a sign-in that returns to an allowed callback URL (see below) is approved automatically: no login and no Client ID or Secret needed. With Home Assistant sign-in, clients such as claude.ai log in with a Home Assistant administrator account (OAuth). With legacy OAuth, this integration runs its own sign-in service and issues a Client ID and Secret to paste into clients that require one - a Home Assistant restart may be needed to fully turn it on or off.
  • Legacy OAuth: custom Client ID (optional)Replaces the auto-generated legacy OAuth Client ID. Leave empty to keep the current one. Only used while Authentication mode is set to legacy OAuth.
  • Legacy OAuth: custom Client Secret (optional)Replaces the auto-generated legacy OAuth Client Secret. Leave empty to keep the current one. Only used while Authentication mode is set to legacy OAuth.
  • Legacy OAuth: regenerate Client ID/Secret nowOne-time action: mints a fresh Client ID and Secret for legacy OAuth mode. It takes effect only after the Home Assistant restart the repair prompt asks for - until you restart, the previous Client ID and Secret keep working and the new ones do not. Also clears the two override fields above.
  • Developer: ha-mcp package overrideLeave empty to run the ha-mcp server this component release installed. Only for testing a specific ha-mcp build (a version pin, a pull-request tarball or a wheel URL); applied by reloading the server, without restarting Home Assistant. Clear it to return to the paired server.
  • Home Assistant URL (advanced)The URL the in-process server uses to reach your Home Assistant (usually this instance itself). Leave empty to derive it from this instance's port and SSL settings; set a value only when the server needs a different route.
  • External URL (optional)Shown as the primary connect URL - use this when Home Assistant sits behind your own domain or reverse proxy. Enter the full base address including the scheme. It must point directly at Home Assistant - opening it in a browser should reach your HA login page - and must not contain a port such as :8123 (or any other port), or remote MCP clients won't be able to reach it. Leave empty to use Nabu Casa / the local address automatically.
  • Custom webhook secret (optional)Replaces the random webhook secret in the connect URL (/api/webhook/...). The URL is the credential - use a long, hard-to-guess value. Leave empty to keep the current one.
  • Custom direct-access path (optional)Replaces the random path used for direct access on the server port. Same rule: the path is the credential. Leave empty to keep the current one.
  • Regenerate connect secrets nowOne-time action: mints a fresh random webhook secret and direct-access path, invalidating the old connect URLs immediately. Also clears the two override fields above.
  • Remote access via webhookTurn off for local-only mode: the Home Assistant webhook is not registered at all, so nothing - including Nabu Casa - can reach the server through Home Assistant. The direct server port and the sidebar panel keep working.
  • Conversation-agent LLM API
  • Conversation-agent tool exposure

Texts from the code of homeassistant-ai/ha-mcp.

Entities

  • SwitchesAccess

Troubleshooting

  • DiagnosticsDownloads a diagnostics file to attach to a bug report.
  • Repair noticesNotices it can show in Settings, Repairs:The HA-MCP in-process server failed to start, The HA-MCP in-process server package could not be installed, Update the HA-MCP Custom Component, Restart Home Assistant to apply the legacy OAuth settings, HA-MCP needs an administrator access token

From the README

Breaking change (v7.3.0): ha_config_set_yaml has been moved to beta.

A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with Home Assistant.

From the README of homeassistant-ai/ha-mcp, MIT License. Shortened.

Information

Installs
19k sharing analytics
GitHub stars
5.4k
Connection
Works locally
Upkeep
Updated in the last 6 months
Version
v9.1.0,
Category
AI and voice, AI models
Kind
Marketplace integration
Needs
Needs the Marketplace (HACS on 2026.10 and older)
Domain
ha_mcp_tools

You might also like

Independent directory, made by the developer of Vulpo. Not affiliated with Home Assistant or the Open Home Foundation. About these numbers

Looking for an app? The best Home Assistant apps for iPhone, by need.