Skip to main content
Glama
halo-light

halo-light

set_scene

Idempotent

Activates a Philips Hue scene by ID, optionally scoped to its own room or zone via group_id.

Instructions

Activate a scene by id. group_id, if given, must be the scene's own room or zone.

Input Schema

NameRequiredDescriptionDefault
group_idNo
scene_idYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare this is a non-read-only, idempotent, non-destructive, closed-world operation, so the safety profile is covered. The description adds one genuinely useful behavioral detail — the group_id precondition tied to the scene's own room/zone — but says nothing about what activation does to lights, what happens if the precondition is violated, or whether errors are returned.

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

Conciseness5/5

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

Two short sentences, front-loaded with the action and followed by the one non-obvious constraint. Nothing is wasted or buried.

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

Completeness3/5

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

The tool is simple, annotations cover the safety profile, and an output schema exists, so the bar is modest. Still missing is any signal distinguishing this from activate_scene_by_name and any hint about the effect of activation, which matters for an idempotent-but-mutating scene call.

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 0%, so the description must carry parameter meaning. It does explain group_id's constraint (must be the scene's own room or zone), which is not in the schema, but scene_id is left as bare "by id" with no note on accepted string vs integer forms or where the id comes from (e.g., get_all_scenes).

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

Purpose4/5

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

The description names a specific verb and resource ("Activate a scene by id"), which is clearly distinguishable from read siblings like get_all_scenes. However, it does not differentiate itself from the sibling activate_scene_by_name, leaving the agent to infer that this variant is the id-based one.

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

Usage Guidelines3/5

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

Usage is only implied: "by id" hints at when to prefer this over the name-based sibling, but there is no explicit statement of when to use it or when to avoid it. The one conditional it does state (group_id must be the scene's own room or zone) is a constraint, not usage routing.

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