Skip to main content
Glama

Get a scene's stored config

automations_get_scene_config
Read-onlyIdempotent

Retrieve a Home Assistant scene's stored configuration—member entities and their target states—by scene ID, returning None if not found. Use it to inspect scene definitions, not runtime state.

Instructions

Get a scene's stored config (member entities and their target states).

Requests /api/config/scene/config/<id> over HTTP and returns the parsed JSON, or None on a 404.

Not for: the scene's current runtime state — use automations_list_scenes or entities_get_entity for that. Returns: dict with id, name and entities (mapping entity_id to its target state dict), or None when no scene has that id.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
scene_idYesScene id to look up, bare (e.g. 'movie_night') or prefixed ('scene.movie_night'); the 'scene.' prefix is stripped if present.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.25.1
    • addedInput schema / properties / scene_id / description
      Added value: +"Scene id to look up, bare (e.g. 'movie_night') or prefixed ('scene.movie_night'); the 'scene.' prefix is stripped if present."
  2. Addedv0.18.1

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is covered. The description adds genuinely useful behavior beyond that: the underlying HTTP route and that a 404 yields None rather than an error. It stops short of describing caching, permissions, or failure modes other than 404, so it is not a full 5.

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 purpose, then usage boundary, then return shape; each block is short and earns its place. The 'Returns:' block overlaps with the existing output schema, which is mild redundancy but not bloat.

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 one-parameter read tool with full annotations and an output schema, the description covers purpose, the exclusion case, the transport, and the empty-result behavior. Nothing an agent needs to invoke it correctly is missing.

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

Parameters3/5

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

Schema description coverage is 100% and the single scene_id parameter is already well documented in the schema, including the bare-vs-prefixed form and prefix stripping. The description adds no parameter meaning beyond the schema, so the baseline 3 applies.

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 ('Get a scene's stored config') with a parenthetical that names the contents (member entities and their target states), which separates it from runtime-state tools. The 'Not for' clause explicitly disambiguates it from automations_list_scenes and entities_get_entity.

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?

Explicitly states what this tool is NOT for (current runtime state) and names two concrete alternatives for that use case. The when-to-use condition is unambiguous, and the 404 behavior is stated so the caller knows how absence is signalled.

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