Skip to main content
Glama

List all devices unfiltered

areas_list_devices
Read-onlyIdempotent

Fetch every device entry from Home Assistant's registry with all fields intact. Ideal for accessing raw data when slimmed views omit needed details.

Instructions

List all devices in Home Assistant's device registry, unfiltered.

Calls WS config/device_registry/list via ha_client and returns every registry entry exactly as Home Assistant reports it, with every field (unlike the slimmed projection other tools apply).

Use when: you need the complete raw device registry, including fields not exposed elsewhere. Not for: a smaller per-field view — use devices_list_devices, which projects each entry down to id/name/area_id/manufacturer/model/ entry_type plus config_entries/disabled_by; devices scoped to one area — use devices_list_devices_in_area; fuzzy name-based search — use search_search_devices. Returns: list of full device registry dicts as returned by config/device_registry/list.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A4.6/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 still adds real value by naming the underlying WS command (`config/device_registry/list`), stating that entries are returned verbatim with every field rather than the slimmed projection used elsewhere, and describing the return shape.

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 cleanly sectioned into Use when / Not for / Returns. The 'Returns' line largely restates what the output schema already provides, which is the only redundancy; otherwise every sentence earns its place.

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 zero-parameter read-only list tool with full annotation coverage and an output schema, nothing an agent needs to call it correctly is missing — scope, alternatives, and data shape are all covered.

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?

The tool takes zero parameters, so the baseline is 4. There is nothing for the description to disambiguate, and it correctly avoids inventing filter parameters.

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?

States a specific verb and resource ('List all devices in Home Assistant's device registry, unfiltered') and explicitly positions itself against three sibling list/search tools. An agent can identify exactly what this returns without opening any schema.

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

Usage Guidelines5/5

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

Provides explicit 'Use when' and 'Not for' sections, naming the alternatives (`devices_list_devices`, `devices_list_devices_in_area`, `search_search_devices`) and the condition that selects each. Routing is fully determined by the text.

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