Skip to main content
Glama
thermoslop

thermoslop

by martellj

adjust_temperature

Raise or lower thermostat setpoints by a delta of up to 5 degrees, keeping results within 55–80°F for selected thermostats or houses.

Instructions

Raise or lower the setpoint by delta degrees (F unless unit says otherwise; at most 5). In auto mode both setpoints move. The result must stay within 55–80°F.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "delta": "<delta>"
    },
    "name": "adjust_temperature"
  }
}

Input Schema

NameRequiredDescriptionDefault
unitNoUnit of the temperatures in this call; defaults to the server's (see the description).
deltaYes
houseNoOnly thermostats in this house, e.g. 'cabin'.
thermostatNoThermostat alias or name prefix, e.g. 'upstairs'. See list_thermostats.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare a non-readonly, non-destructive, non-idempotent mutation, and the description adds real value on top: the ±5 cap, the fact that auto mode moves both setpoints, and the 55–80°F safety bound. It does not say what happens when the bound or cap is violated (error vs. clamp), which is the main remaining gap.

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?

Two compact sentences, front-loaded with the core action and constraint. 'At most 5' mildly duplicates the schema's min/max, but the surrounding clauses about auto mode and the safety range earn their place.

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 mutation tool with annotations covering the safety profile and no output schema, the description covers mode interaction, unit default, and valid range. Only the failure behavior at the boundaries is left unstated.

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 75%, so baseline is high, and the description still adds meaning: delta is in degrees, direction is signed, and unit defaults to Fahrenheit unless overridden. It adds nothing about the house/thermostat targeting parameters, but those are documented in the schema.

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 gives a specific verb and resource ('raise or lower the setpoint by delta degrees'), which implicitly distinguishes this relative adjustment from the sibling set_temperature. It never names that sibling explicitly, so the differentiation is inferential rather than stated.

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 implied: relative nudges of up to 5 degrees, with auto-mode behavior noted. There is no explicit statement of when to prefer this over set_temperature or set_comfort, leaving the agent to infer the boundary from the word 'delta'.

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