Skip to main content
Glama

Renewably

Cheapest window

find_cheapest_window
Read-onlyIdempotent

The cheapest (or lowest-carbon) run of duration_hours starting from the next half hour and finishing by the next finish_by – when to set a washing machine or dishwasher's delay timer.

Input Schema

NameRequiredDescriptionDefault
kwhNoEnergy the run uses, kWh (0-20), for its cost – on the energy label, or kW times hours. Leave out for no cost.
exportNoHow export is paid: `paired` (the tariff's own export tariff, default), `fixed` (with export_rate), `fit` (the Feed-in Tariff's deemed export: paid whatever is exported, so the sun used at home gives nothing up), `none`, or an export tariff's key from list_tariffs?direction=export (used where the tariff can have it, else its own).
regionYesAgile region: a letter A-P or the slug from list_regions (eg `C` or `london`); list_regions lists well-known places in each.
tariffNoA tariff's key from list_tariffs (default `agile`), eg `go`, `edf-go-electric`, `eon-next-drive`.agile
optimiseNo`cost` (default) or `carbon` (NESO's regional forecast, about two days ahead).cost
finish_byNoLocal time it must finish by, HH:MM (default 07:00) – the next one at least `duration_hours` away.07:00
solar_kwpNoThe home's solar panels, kWp (0.2-50): the answer then counts their forecast spare sun – see the docs' Solar panels section.
export_rateNoA fixed export rate, p/kWh (0-100).
solar_pitchNoTheir angle from flat, degrees (0-90, default 35).
solar_facingNoThe way they face: S, SE, SW, E, W, NE, NW or N – or a bearing in degrees (south is 180). Default S.
duration_hoursNoHow long it runs, 0.5-12 in half hours (default 3.5).
solar_inverter_kwNoThe inverter's limit, kW (0.5-50), if smaller than the panels.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

B3.4/5.0
Behavior3/5

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

The annotations already declare safe, read-only, idempotent, open-world behavior, so the safety profile is covered. The description adds the useful temporal scoping (start at the next half hour, end by finish_by) that shapes the result, but says nothing about error behavior for unknown tariff/region keys, how forecast horizon limits results, or what the returned window looks like.

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?

A single front-loaded sentence with the core outcome first and the practical application last; no filler. It is a little densely packed around the em-dash, but every clause contributes.

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?

For a 12-parameter forecasting tool with no output schema, the description covers the what and a use case but omits what is actually returned (a window start/end, with cost or carbon figure?) and the dependency on region plus tariff. Annotations handle safety, so the remaining gap is mainly about result shape, which matters more here because no output schema exists.

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%, so every parameter including region, tariff, optimise and the solar fields is already fully documented. The description only echoes duration_hours and finish_by and glosses 'cheapest (or lowest-carbon)', adding little meaning beyond the schema, which is the expected baseline when the schema carries the load.

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 outcome (cheapest or lowest-carbon run of duration_hours) plus the scheduling boundaries (starts from the next half hour, finishes by finish_by), so the agent knows exactly what is being located. It stops short of distinguishing itself from planning siblings such as plan_ev_charging or get_home_battery_times, leaving the agent to infer that this is the generic appliance-timing variant.

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?

The trailing clause 'when to set a washing machine or dishwasher's delay timer' gives a concrete use case, which implies when to reach for it. However, it names no alternatives and no exclusions – nothing says to prefer plan_ev_charging for cars or get_home_battery_times for batteries, so sibling selection is left to inference.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources