ha-mcp
An MCP server for Home Assistant: the agent reads smart-home state and controls devices through your instance
- 7,737 ★ on the repository
- Last commit
- MIT
Broad access
Why this level
- Controls real smart-home devices
- Uses a long-lived Home Assistant access token
- Connected users share the server credentials
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/ha-mcpDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- Controls real smart-home devices
- Uses a long-lived Home Assistant access token
- Connected users share the server credentials
This is third-party code. Review the repository files before installing.
What it does
ha-mcp connects an AI agent to your Home Assistant server over MCP. The agent sees devices, entities and their state, calls services and controls the smart home in natural language. The server runs in HTTP mode via Docker or a PyPI package, points at your Home Assistant URL and a long-lived token, and connects to the client through a secret URL. Remote access has dedicated paths, and sign-in can sit behind an external OIDC provider.
Who it is for. For Home Assistant smart-home owners who want to control it through an AI assistant.
Good fit when
- You want to control Home Assistant devices from an agent chat
- You want the agent to see entity state and call services
- You need remote access to the home through an agent with access protection
Not a fit when
- You have no Home Assistant server
- You cannot issue a long-lived access token
- You need only public data reads, not home control
Example request
Turn off the living room lights and show which doors are open nowMCP
- Transport
- http, stdio
- Authentication
- API key
Environment variables
HA_URLrequired- Your Home Assistant server URL
HA_TOKENrequired, secret- A Home Assistant long-lived access token
Limitations
Requires a Home Assistant instance and a long-lived token. The streamable HTTP transport is recommended; stdio has known connection issues. All authenticated users share the server's Home Assistant credentials.
How to disable. Stop the ha-mcp container or process and remove the server from the client MCP config; revoke the long-lived token in Home Assistant if needed.
FAQ
Is this an official Home Assistant integration?
No, the authors call it an unofficial MCP server for Home Assistant.
Which transport should I use?
Streamable HTTP via Docker or PyPI is recommended. stdio has known connection issues and is left for demos.
Discussion
No questions or reviews yet.
Related
MCP serversMCP server for Home Assistant: an agent reads device states, controls them and edits smart home dashboards
A Node.js MCP server through which an agent controls Home Assistant devices and edits its automations
Vibecode MCP lets Cursor, VS Code and Claude Code write Home Assistant automations and dashboards via an add-on agent
Home Assistant Vibecode Agent
home-assistant-vibecode-agent
A Home Assistant add-on and MCP server: an agent checks the configuration and applies automations. A long-lived token is needed. Not an official project
The Home Assistant integration exposes selected tools to Xiaozhi so its voice agent can control permitted devices.
An MCP server for driving Windows: the agent opens apps, clicks and types, reads window and UI state, and works with files and PowerShell
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| ha-mcp (this card) | no | API key | 7,737 | |
| keenetic-mcp: Keenetic router control | no | key is optional | 31 | MCP server for Keenetic routers |
| homeassistant-mcp | no | API key | 574 | a Node.js MCP server through which an agent controls Home Assistant |
README in short
ha-mcp is an unofficial MCP server for Home Assistant that lets an agent read smart-home state and control devices. It runs in HTTP mode via Docker or the ha-mcp PyPI package and connects to Home Assistant with a URL and a long-lived token. A setup wizard produces ready per-client config. There are remote-access options and OIDC-protected sign-in. MIT licensed.