Skip to main content
Glama

set_temperature

Destructive

Hold an ecobee thermostat at chosen heat, cool, or both setpoints for 1-24 hours, using explicit Fahrenheit or Celsius units and preserving omitted setpoints.

Instructions

Set a 1–24 hour temperature hold. Supply heat, cool, or both with explicit F/C units. Keeps any omitted setpoint. Requires account write permission and the client write scope when hosted, or server --allow-writes locally.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
coolNo
heatNo
unitYes
hoursYes
thermostat_idYesExact thermostat id returned by list_thermostats.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare destructive=true, openWorldHint=true, and non-idempotent. The description goes beyond them by disclosing the partial-update behavior (omitted setpoints are kept) and the exact authorization requirements for hosted vs local use, which is genuinely useful context for a mutation tool.

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?

Three tight sentences: purpose and scope first, then parameter behavior, then permissions. No filler, and the most important constraint (the 1–24 hour hold) is front-loaded.

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

Completeness4/5

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

For a write tool, the description pairs annotations (destructive, open-world) with authorization requirements, expiry semantics, and partial-update behavior. No output schema exists, but that is acceptable for a setter; the only gap is the absence of alternative-tool routing.

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 description coverage is only 20% (just thermostat_id), so the description must compensate, and it does: it explains that heat/cool may be supplied singly or together, that units must be explicit F/C, and that omitted setpoints persist. It still does not fully enumerate all five parameters, so it is not exhaustive.

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?

States a specific verb and resource plus a scoping constraint ('Set a 1–24 hour temperature hold'), which clearly separates it from set_hvac_mode and resume_schedule. It never names a sibling explicitly, so it falls short of the 'distinguishes from siblings' bar for a 5.

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?

Gives concrete operating conditions ('Supply heat, cool, or both with explicit F/C units. Keeps any omitted setpoint') and prerequisites (account write permission, client write scope, or --allow-writes locally). It does not state when NOT to use this versus resume_schedule or set_hvac_mode, so no exclusions or alternative routing.

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