1. Conduid
  2. Developer Tools
  3. Ha MCP
MCP server · Developer Tools

Ha MCP

A Model Context Protocol (MCP) server that provides AI assistants with access to Home Assistant, enabling smart home control and automation management.

64Good

Scored 2 days ago · breakdown

About Ha MCP

Ha MCP is an MCP server published by zorak1103 in the Developer Tools category: a Model Context Protocol (MCP) server that provides AI assistants with access to Home Assistant, enabling smart home control and automation management.

The repository has 3 stars and 0 forks, with the last commit 25 days ago. Recent commit activity is the strongest signal that reported issues will get attention.

Install

From source
git clone https://github.com/zorak1103/ha-mcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about Ha MCP

Powered by Claude · Grounded in docs

I know everything about Ha MCP. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

3 checks have not been run yet.

Releases

v2026.9.4v2026.9.4 · 22 Sep 2026Changelog c00711396de94284c5b824c295103714a10007bd Add pi devcontainer setup (#250) f2b3acd1906b94c06be30774c7bc0850ae2d21ad Fix/go idiom review (#252) c37e09568e8e94b3f914cf7a8cde78eea7b2826a Generalize devcontainer README (#251)…
v2026.9.3v2026.9.3 · 7 Sep 2026Changelog c93f93c620efdb436254c2baaa008b4762107b92 chore(deps): update dependency goreleaser/goreleaser to v2.18.1 (#239) 453c96c909b9958952d32a7259cff04848d10699 chore(deps): update renovatebot/github-action action to v46.2.6 (#243)…
v2026.9.2v2026.9.2 · 5 Sep 2026Changelog d972c96150d7d28061414fb146971edc04673aa9 feat: add manage_statistics tool for recorder long-term statistics (#234) (#236)
v2026.9.1v2026.9.1 · 4 Sep 2026Changelog a0c2cb43cfd90740eff3d1e716ee9dca152cfb82 Fix generic_thermostat's presets config-flow step on create and update (#196) ad6a4d761f1cf3f9dd82e38451c464707cf724c1 chore(deps): update docker/setup-qemu-action digest to 1f40c72 (#199)…
v2026.8.4v2026.8.4 · 27 Aug 2026Changelog 80ad914ba5c33d435378807b92d6c7a9fec33109 Fix/helper silent field drops (#193) 07328dd1f0164605363a93038f79a7d51b9a68c4 chore(deps): update all non-major dependencies (#191) 3dfc74e5c0590fe0f241d90e5daf96b39169d6fc chore(deps):…

README

ha-mcp

GitHub release License CI Go Report Card Go Version Go Reference Docker Hub Docker Pulls Release Renovate

A Model Context Protocol (MCP) server that provides AI assistants with access to Home Assistant, enabling smart home control and automation management.

Features

  • 38 Specialized Tools: Entity queries, automation CRUD, helper management, scripts, scenes, devices, areas, labels, floors, zones, persons, tags, traces, blueprints, updates, todos, calendars, cameras, dashboards, and more
  • Hybrid Architecture: WebSocket for most operations, REST API for automation/script/scene CRUD
  • Complete CRUD: Create, read, update, delete automations/scripts/scenes/helpers
  • Deep System Access: Query registries, analyze dependencies, access logbook, validate config
  • Flexible Output: Natural language (LLM-optimized) and JSON formats
  • Access Control: Read-only mode, whitelist/blacklist, fine-grained action-level control
  • Auto-Reconnect: Automatic reconnection with exponential backoff
  • Post-Mutation Confirmation: Automatic state polling after create/update/delete confirms changes

vs. Other MCP Servers for Home Assistant

Two alternatives exist: the official HA MCP integration (built-in, ~10 intent-based tools) and the community homeassistant-ai/ha-mcp (Python/FastMCP, 95+ tools).

Choose ha-mcp if you need:

  • Full automation/script/scene/helper lifecycle management (create, edit, delete)
  • Advanced analysis (dependencies, cross-references, automation coverage)
  • System administration (registry queries, config validation, logbook, history)
  • Media management (browser, camera streams), HACS, and dashboard access
  • Reliable LLM tool selection — 38 consolidated tools reduce selection errors compared to 95+ fine-grained alternatives

Choose the official integration if you need entity-level security or no external infrastructure.

See docs/feature-comparison.md for a detailed three-way feature matrix.

Installation

From Binary

Download the latest release from the Releases page.

# Linux/macOS
tar -xzf ha-mcp_linux_amd64.tar.gz
chmod +x ha-mcp
sudo mv ha-mcp /usr/local/bin/

# Windows: extract ha-mcp_windows_amd64.zip and add to PATH

From Source

Requires Go 1.26 or later.

git clone https://github.com/zorak1103/ha-mcp.git
cd ha-mcp
go build -o ha-mcp ./cmd/ha-mcp

Linux Packages

RPM and DEB packages are available in the releases:

sudo dpkg -i ha-mcp_amd64.deb   # Debian/Ubuntu
sudo rpm -i ha-mcp_amd64.rpm    # RHEL/Fedora

Docker

docker pull zorak1103/ha-mcp:latest
docker run -d --name ha-mcp -p 8080:8080 \
  -e HA_URL=http://homeassistant.local:8123 \
  zorak1103/ha-mcp:latest

See docs/configuration.md for Docker options, HTTPS/WSS, proxy support, and all environment variables.

Quick Start

  1. Get a long-lived access token from your Home Assistant profile page.

  2. Start the server:

# With flags
ha-mcp --ha-url http://homeassistant.local:8123 --ha-token your-token

# Or initialize config files first
ha-mcp init   # creates config.yaml and .env
ha-mcp        # start with config file
  1. Connect your AI client. Example for Claude Desktop:
{
  "mcpServers": {
    "homeassistant": {
      "type": "http",
      "url": "http://localhost:8080",
      "headers": { "Authorization": "Bearer your-ha-access-token" }
    }
  }
}

See docs/configuration.md for Cline, opencode, and other client configurations.

Available Commands

Command Description
ha-mcp Start the MCP server
ha-mcp init Create config.yaml and .env in current directory
ha-mcp config Display effective configuration (tokens masked)
ha-mcp --help Show help and available flags

Available Tools

38 tools organized by domain. Full reference at docs/tools.md.

Category Count Highlights
Entity 5 query_entities (history/stats/health), get_state, analyze_entity
Registry 10 get_registry, manage_area/label/floor/zone/person/tag/entity/device
Automation 1 manage_automation (CRUD, toggle, coverage, JSON Patch + semantic patch)
Helpers 2 manage_helper (26 types), helper_action
Scripts & Scenes 2 manage_script, manage_scene (CRUD + execute/activate + JSON Patch + semantic patch)
Analysis 3 analyze_entity, get_entity_dependencies, analyze_target
Services 2 call_service, list_services
History/Logbook 2 query_entities modes, get_logbook (entries + correlation)
Dashboards/Media 4 manage_dashboard (JSON Patch + semantic patch), browse_media, manage_camera, sign_media_path
Calendars & Todos 2 manage_calendar, manage_todo
System/Admin 7 get_system_info, validate_config, manage_update, manage_blueprint
HACS 1 manage_hacs (list, download, install, custom repos)

Access Control

ha-mcp provides read-only mode, whitelist, and blacklist filtering at the tool and action level:

# config.yaml — read-only monitoring
server:
  read_only: true

# Or block specific operations
server:
  tool_filter:
    blacklist:
      - "call_service"
      - "manage_*:delete"

See docs/access-control.md for glob patterns, category filtering (*:write), and example scenarios.

Architecture

AI Client → HTTP/JSON-RPC → ha-mcp MCP Server
                                    │
               ┌────────────────────┴────────────────────┐
               │ WebSocket (primary)                      │ REST API
               │ - State queries, service calls           │ - Automation CRUD
               │ - Helper CRUD, Registry access           │ - Script/Scene CRUD
               └────────────────────┬────────────────────┘
                                    │
                             Home Assistant

See docs/architecture.md for project structure, build commands, and integration test setup.

Troubleshooting

See docs/troubleshooting.md for WebSocket connection issues, debug mode, and common error solutions.

Development

Prerequisites: Go 1.26+, golangci-lint v2, Docker (optional)

go build -o ha-mcp ./cmd/ha-mcp    # Build
go test ./...                       # Unit tests
golangci-lint run --timeout=5m ./...  # Lint

See docs/architecture.md for integration test setup and docs/integration-tests.md for the full test suite documentation.

Contributing

  1. Fork the repository and create a feature branch
  2. Make your changes with tests
  3. Ensure CI passes:
    golangci-lint run ./...
    go test -race ./...
    
  4. Open a Pull Request

Pull Request Guidelines

  • Ensure CI checks pass (lint, test, security scans)
  • Update documentation if needed
  • Add tests for new functionality
  • Keep commits focused and atomic

License

GPL-3.0 License - see LICENSE for details.

Acknowledgments

README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About Ha MCP

How do I install Ha MCP?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Ha MCP safe to use with an AI agent?

Its trust score is 64 out of 100 (good). It passes 2 of the 3 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Ha MCP still maintained?

Yes — the latest release is v2026.9.4 (22 Sep 2026), and the last commit was 25 days ago. The repository has 3 stars.