Labsco
MCP SERVER

Home Assistant MCP

by hpohlmann

Find a Home Assistant entity by describing it, then switch it on or off and set an RGB colour and brightness.

IoT, Smart Home & Embedded Hardware
Summary
Small on purpose: search for the entity, then act on it.

Two steps rather than one is the honest shape here — the assistant has to find the entity id before it can control anything, and the README says so rather than pretending otherwise. Colour control only lands on lights that support RGB, and the light has to be on before a colour change takes. The instance URL living in a source file rather than an environment variable is the one rough edge worth knowing about up front.

What it is

A small Home Assistant bridge built around a two-step flow: search for entities in natural language, then act on the entity_id you get back. Lights get colour and brightness control on top of on/off.

What you get
  • Entity search — "find my living room lights" resolves to the entity ids you can then control
  • Turning devices on and off by entity id
  • set_device_color takes an entity and RGB components from 0 to 255, so "set the living room lights to red" becomes a concrete call
  • The same call takes an optional brightness from 0 to 255, which can be combined with a colour change
Requirements

Python 3.11 or higher and a reachable Home Assistant instance. It needs a Long-Lived Access Token, created from your Home Assistant profile page and passed as HOME_ASSISTANT_TOKEN. The instance address defaults to http://homeassistant.local:8123; a different address means editing HA_URL in app/config.py.

Setup effort

One command plus a key — npx -y @smithery/cli install @hpohlmann/home-assistant-mcp --client claude, then supply credentials