Skip to main content
Glama
Home Assistant MCP Server

Home Assistant MCP Server

Official

List Groups

ha_config_list_groups
Read-onlyIdempotent

Lists Home Assistant entity groups with their member entity IDs, state fields, and object_id, and supports pagination via limit and offset to inspect large group sets.

Instructions

List Home Assistant entity groups with their member entities.

Returns one page of old-style groups created via the group.set service or YAML configuration (platform-specific groups such as light or cover groups are separate entities); total_count and has_more report the full set. Each group carries Core's state fields and attributes, its members as entity_ids, and its object_id. auto is true for a group created by ha_config_set_group (group.set) and false for a YAML group. Core does not expose a group's all/any mode.

EXAMPLE: ha_config_list_groups(offset=100)

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "ha_config_list_groups"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNoMax groups to return per page
offsetNoNumber of groups to skip for pagination

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv8.6.0
    • changedInput schema / properties / limit / description
      Previous value: -"Max groups to return per page (default: 100)"New value: +"Max groups to return per page"
    • changedInput schema / properties / offset / description
      Previous value: -"Number of groups to skip for pagination (default: 0)"New value: +"Number of groups to skip for pagination"
  2. First observedv7.14.2

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds genuinely non-obvious behavior: one page is returned while total_count/has_more report the full set, `auto` distinguishes service-created from YAML groups, and Core does not expose all/any mode — a useful limitation disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core purpose, then scope exclusion, then return shape, then a one-line example — logically ordered and free of filler. It is somewhat dense with detail (auto flag, all/any limitation) that could be trimmed, but each sentence carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only paginated list tool with an output schema and full annotation coverage, this covers scope, pagination, member representation, and a known Core limitation. Nothing an agent needs before calling is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and both limit/offset are documented there, so the baseline is 3. The description adds value by explaining the pagination contract (one page returned, total_count/has_more signal the remainder) and gives a concrete offset example, tying the parameters to observable behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb+resource (list Home Assistant entity groups with members) plus an explicit scope boundary: old-style group.set/YAML groups, not platform-specific light/cover groups. An agent can distinguish it from ha_config_set_group and from entity-level tools without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clearly frames when this applies (old-style groups created via group.set or YAML) and warns that platform-specific groups are separate entities, which is a real selection criterion. It stops short of naming a sibling tool for the platform-group case, so it is context-rich but not a full when-to-use/when-not matrix.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools