๐Ÿ  Home Assistant via MCP protocol

The skill for control Home Assistant smart home devices and query states using MCP protocol.

Alone

@al-one

What This Skill Does

Controls Home Assistant smart home devices and queries their states via the MCP protocol using the mcporter CLI. Supports turning lights, fans, and other devices on/off, setting brightness and fan speed, and retrieving live context.

Replaces manually toggling devices through the Home Assistant UI or building custom integrations by providing a single command-line interface for all MCP-connected devices.

When to Use It

  • Turn on a specific light or fan from a terminal or script
  • Query the current state of all Home Assistant devices
  • Set brightness of a light to a specific percentage
  • Control devices in a specific area (e.g., Bedroom) by domain
  • Automate device state changes in shell scripts or cron jobs

Install

$ openclaw skills install @al-one/mcp-hass

Home Assistant

Control Home Assistant smart home and query states using MCP protocol.

Prerequisites

Enable MCP server in Home Assistant:

  • Browse to your Home Assistant instance.
  • Go to Settings > Devices & services.
  • In the bottom right corner, select the + Add Integration button.
  • From the list, select Model Context Protocol.
  • Follow the instructions on screen to complete the setup.

Usage

# Get states
mcporter call home-assistant.GetLiveContext

# Turn on the device
mcporter call home-assistant.HassTurnOn(name: "Bedroom Light")
mcporter call home-assistant.HassTurnOn(name: "Light", area: "Bedroom")

# Turn off the device
mcporter call home-assistant.HassTurnOff(name: "Bedroom Light")
mcporter call home-assistant.HassTurnOff(area: "Bedroom", domain: ["light"])

# Control light
# brightness: The percentage of the light, where 0 is off and 100 is fully lit.
# color: Name of color
mcporter call home-assistant.HassLightSet(name: "Bedroom Light", brightness: 50)

# Control fan
# percentage: The percentage of the fan, where 0 is off and 100 is full speed.
mcporter call home-assistant.HassFanSetSpeed(name: "Fan", area: "Bedroom", percentage: 80)

Execute the following command to learn about specific usage methods:

  • mcporter list home-assistant --schema --all-parameters

Config

When prompted that the MCP server does not exist, remind the user to configure the HASS_BASE_URL and HASS_ACCESS_TOKEN environment variables by executing the following command to add the configuration:

mcporter config add home-assistant \
  --transport http \
  --url "${HASS_BASE_URL:-http://homeassistant.local:8123}/api/mcp" \
  --header "Authorization=Bearer \${HASS_ACCESS_TOKEN}"

About mcporter

Top skills in this category