ha-mcp
Home Assistant MCP Server - Complete control of Home Assistant through MCP
What it is and what it does
ha-mcp is a Model Context Protocol server that bridges AI assistants and Home Assistant. It exposes Home Assistant's device control, state queries, service calls, and automation management through an MCP interface, allowing AI models to interact with smart homes using natural language. The package can run as a Home Assistant custom component (in-process, recommended), a standalone add-on, Docker container, or via PyPI/uvx as an HTTP server. It depends on fastmcp for MCP protocol handling, httpx for HTTP requests, pydantic for data validation, python-dotenv for environment configuration, cryptography and truststore for secure connections, and packaging utilities.
The server supports multiple deployment modes and authentication strategies—webhook-based remote access through Nabu Casa or reverse proxies, local-only operation, optional Home Assistant account sign-in, and OIDC integration for external identity providers. A Home Assistant sidebar panel allows administrators to manage tools, feature flags, and settings. The package is actively maintained (last commit 2026-08-14) and marked Production/Stable.
Use it for:
- Control smart home devices (lights, locks, thermostats) via natural language through Claude, ChatGPT, or other MCP-compatible AI clients.
- Query device states and automations from an AI assistant without manual Home Assistant dashboard navigation.
- Execute Home Assistant services and automations through conversational AI on local network or remote access.
- Integrate Home Assistant into AI workflows for home automation decision-making and multi-step tasks.
- Deploy ha-mcp in Home Assistant OS, Supervised, Container, or Core installations with a single install method.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides a Model Context Protocol (MCP) server that connects AI assistants to Home Assistant, enabling natural-language control of smart home devices, state queries, service execution, and automation management.
Yes. Active maintenance, low install friction, permissive MIT license, no known vulnerabilities, and broad Python 3.13–3.14 support make it a solid choice. The custom component integration path is particularly smooth for Home Assistant users. Install if you want AI assistants to control your smart home; the recommended in-process setup requires no separate token management.
Install
ha-mcp on PyPI
pip
pip install ha-mcpuv
uv add ha-mcppoetry
poetry add ha-mcpInstalling ha-mcp
Before you install
Low friction: pure Python wheel with no compiled dependencies. Active maintenance—last release 4 days ago, repository at 4381 stars. Requires Python 3.13 or 3.14 only; supports current versions.
License in practice
MIT license (permissive): you may use, modify, and distribute freely with minimal restrictions. No copyleft obligations.
Quickstart
pip install ha-mcp
ha-mcp --help
# Or via uvx:
uvx ha-mcp@latest
Requires Python 3.13 or 3.14 (requires_python: <3.15,>=3.13). Home Assistant instance and access token needed for actual operation.
Verify before relying
- Performance characteristics under concurrent AI client connections.
- Full feature parity across all Home Assistant installation types (OS, Supervised, Container, Core) in practice.
- Stability of the in-process custom component on long-running Home Assistant instances.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (<3.15,>=3.13) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 9 — fastmcp, httpx, pydantic, python-dotenv, truststore, cryptography, pydantic-monty, tzdata, packaging |
| Maintenance | actively maintained — 4 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 427,611/month — #6,748 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: ha_mcp-8.2.0-py3-none-any.whl
Keywords: mcp, home-assistant, ai, automation, smart-home
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
ha-mcp-devAn MCP server that lets AI assistants control…
permissive · top 15,000 on PyPI
hass-nabucasahass-nabucasa is a Python library that provides…
copyleft · top 15,000 on PyPI
nextcloud-mcp-serverProvides a Model Context Protocol (MCP) server…
agpl · top 15,000 on PyPI
astro-airflow-mcpProvides AI assistants with programmatic access…
unclear · top 15,000 on PyPI
plugwiseProvides Python interface to networked Plugwise…
permissive · top 15,000 on PyPI
mcpforunityserverRuns a Model Context Protocol server that lets…
permissive · top 15,000 on PyPI
aiohomematicAn async Python library for controlling and…
permissive · top 15,000 on PyPI
excel-mcp-serverProvides a Model Context Protocol server that…
unclear · top 15,000 on PyPI
python-matter-serverProvides a WebSocket-based Matter controller…
permissive · top 15,000 on PyPI
arcade-mcp-serverArcade MCP Server provides a FastAPI-like…
permissive · top 15,000 on PyPI