My HA MCP Server – Natural Language Automation Builder

I’ve created a new MCP Server that gives you all the bells and whistles of other MCPs — but simpler.

When connected to my Agent in Letta, my agent can also create Home Assistant automations in plain, natural language.


:bulb: Example

I can say:

Create an automation for 11PM to turn off the living room lights, set the night light on at 25%, set the home thermostat to 73, close the garage door, and lock all the doors.

…and it will automatically build the full YAML automation with the right triggers, conditions, and actions, and ADD it to Home Assistant — no YAML hand-coding required.


:gear: Current Automation Features

Triggers
• Specific times, weekdays/weekends, exact days
• Sun events with offsets (e.g., 1 hour after sunrise)
• Weather states (cloudy, rainy, stormy, etc.) with polling + rate limits
• Motion events (with scene snapshot/restore)

Time Windows
• “Between sunrise and 11pm” (sunrise → clock)
• “Between 10:00am and 1 hour before sunset” (clock → sunset)
• “During daylight”

Actions
• Lights: on/off by name, area, list, or “all lights” — with optional color temp, brightness %, and fade/transition
• Brightness phrasing: “set light name brightness to 50%”
• Climate: set thermostat temperature
• Locks: lock all doors or specific doors
• Garage doors: open/close
• Motion snapshot/restore flows

Safety Features
• Rate-limit condition (default 30 min) for weather/daylight/time-window automations
• Guard to only turn on lights if at least one is currently off
• Automatic de-duplication of actions/entities


:hammer_and_wrench: Other HA Tools in the MCP

Besides automation building, the MCP Server also provides:

list_entities – List all entities in your HA instance
toggle – Toggle an entity’s state
get_entity_state – Get the current state of any entity
fuzzy_find_entity – Find entities by partial name
get_entities_by_area – List entities in a given HA area
describe_entity – Describe an entity with attributes
list_available_services – Show all services available in HA
control_light – Control lights with brightness and color
list_areas – List all areas in HA
get_calendar_event – Fetch events from HA calendars


:rocket: Next Steps

I’ve tested it extensively — once I’m happy it’s bug-free, I will:
• Post it to GitHub
• Release a YouTube walkthrough

If anyone’s interested in beta-testing or seeing NL → YAML examples, let me know.
This setup makes Home Assistant feel like it speaks your language — because now, it does.

3 Likes

I just added a tool to also allow my AI Agent to use the conversation engine in HA to fire automations. Now I can tell my Agent, outside of HA to “Close up shop” and he will fire the “Close up shop” automation. Currently working on a new tool to allow my agant to create scenes.

I’d def test, have a significant experience

Hey. Have you made more progress with this? I built one as well just for myself. It’s not very clean for release atm but perhaps something I can do and would love to compare notes