LabscoMCP early access ↗
zorak1103MCP SERVER

Ha MCP

Full Home Assistant control — automations, helpers, scripts, dashboards — from 41 consolidated tools.

by zorak1103 ↗IoT, Smart Home & Embedded HardwareCommunity

LABSCO SUMMARY

The access control is finer than an on/off switch.

read_only: true in the config makes the whole thing observational, but the more useful knob is the tool filter: a blacklist takes glob patterns down to the action level, so manage_*:delete blocks deletion across every management tool while leaving creation and editing intact. That is the setting worth reaching for — full lifecycle control over automations is powerful precisely because it can also remove them. The consolidated tool count is a deliberate trade: fewer, broader tools to reduce an LLM's selection errors, at the cost of each one taking a mode argument.

What it is

A Home Assistant server written in Go that goes well past reading entity states: it creates, edits and deletes automations, scripts, scenes and helpers, queries the registries, validates configuration and reads the logbook. It uses WebSocket for most operations and the REST API for automation, script and scene changes.

What you get

  • Entities — query_entities covers history, statistics and health, with get_state and analyze_entity alongside
  • Registries — get_registry plus manage_area, manage_label, manage_floor, manage_zone, manage_person, manage_tag, manage_entity and manage_device
  • manage_automation is one tool for the whole lifecycle — create, read, update, delete, toggle, coverage, and both JSON Patch and semantic patch
  • manage_helper covers 26 helper types, with helper_action to drive them; manage_script and manage_scene do CRUD plus execute and activate
  • Analysis — get_entity_dependencies, analyze_target and find_references answer what depends on what before you change it
  • Services — call_service and list_services; history — get_logbook with entry correlation
  • Dashboards and media — manage_dashboard, browse_media, manage_camera, sign_media_path
  • System — get_system_info, validate_config, manage_update, manage_blueprint, manage_system_log, manage_hacs
  • Seven guidance topics are readable as resources under skill://ha-mcp/<slug> — format selection, automation patterns, template resilience, helper selection, dashboard safety, entity renaming and debugging workflow
  • After a create, update or delete, the server polls state to confirm the change actually landed

Requirements

A Home Assistant instance and a long-lived access token from your profile page. Distribution is a single binary from the releases page, with RPM and DEB packages, a Docker image (docker pull zorak1103/ha-mcp:latest, port 8080, HA_URL set to your instance), or a source build needing Go 1.26 or later. Start it with --ha-url and --ha-token, or run ha-mcp init to write config.yaml and .env first. Reconnection is automatic with exponential backoff.

Setup effort

Follow the published steps — docker pull zorak1103/ha-mcp:latest