hass-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HASS_URL | Yes | The URL of your Home Assistant instance (e.g., http://homeassistant.local:8123) | |
| HASS_TOKEN | Yes | Your Home Assistant long-lived access token |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ha_get_stateB | Get Home Assistant entity state by entity_id. |
| ha_list_statesA | List Home Assistant entity states (can be large). |
| ha_list_servicesA | List Home Assistant services and their fields. |
| ha_list_areasA | List Home Assistant areas from the area registry. |
| ha_list_devicesA | List Home Assistant devices from the device registry. |
| ha_list_entity_registryA | List Home Assistant entity registry entries. |
| ha_light_turn_onC | Turn on a light by entity_id. |
| ha_light_turn_offB | Turn off a light by entity_id. |
| ha_area_lights_offA | Turn off all lights in an area (by area_id). |
| ha_area_lights_onA | Turn on all lights in an area (by area_id). |
| ha_get_logbookA | Fetch logbook entries since an ISO time (optionally for an entity). |
| ha_get_historyC | Fetch history since an ISO time (optionally for an entity). |
| ha_call_serviceC | Call a Home Assistant service (domain/service) with data payload. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 13 tools
Most tools have distinct purposes (get vs list vs control), but ha_call_service can duplicate any service-specific tool like ha_light_turn_on. Descriptions clearly delineate scope, so selection is unambiguous in practice.
All tools share the 'ha_' prefix and snake_case, but the order varies: 'ha_light_turn_on' (noun_verb) vs 'ha_get_state' (verb_noun). This is a minor deviation from a fully consistent pattern.
13 tools is well within the ideal range and matches the server's clear purpose for Home Assistant integration. Each tool covers a meaningful operation without redundancy.
Covers state reads, lists, registries, light control (individual and area), logbook, history, and a generic service caller, so most workflows are possible. Specific controls are limited to lights, but ha_call_service fills the gap for other domains.