hass-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HASS_URL | Yes | The URL of the Home Assistant instance (e.g., http://homeassistant.local:8123) | |
| HASS_TOKEN | Yes | A long-lived access token for Home Assistant authentication |
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. |
| ha_render_templateC | Render a Jinja2 template and return the result. |
| ha_get_error_logsB | Fetch the latest Home Assistant error logs. |
| ha_update_entity_registryC | Update an entity registry entry (e.g., change name, entity_id, or area_id). |
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 16 tools
Each tool has a distinct purpose with clear boundaries. Light control by area vs by entity are separate, state retrieval is split between single and list, and generic service call covers remaining operations without overlap.
All tools follow consistent ha_verb_noun pattern using snake_case, e.g., ha_area_lights_off, ha_get_state, ha_list_areas. No mixing of conventions.
16 tools is well-scoped for a Home Assistant server, covering core operations like state management, entity/area/device queries, history/logs, and template rendering without being overwhelming.
Covers all essential Home Assistant interactions: state queries, listings, light control, service calls, logs, history, and templates. Missing specific tools for common entities like switches or covers, but the generic ha_call_service fills gaps.