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.
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.
- 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
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.
One command plus a key — npx -y @smithery/cli install @hpohlmann/home-assistant-mcp --client claude, then supply credentials
