Skip to main content
Glama

Tomorrow's sun on the roof (solar roof check)

sun_tomorrow
Read-onlyIdempotent

What the plan behind a solar roof check link will make tomorrow, from the German Weather Service forecast (Bright Sky): expected kWh and the peak, hour by hour, against what a clear sky would give, sunrise and sunset, and the best stretch of the day to run the dishwasher or charge the car slowly from the roof's own power (with how much of the job the roof covers then). A forecast, cached ten minutes; the plan is read from the link, nothing is stored. Takes the link from plan_roof or edit_roof.

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": {
      "link": "<link>"
    },
    "name": "sun_tomorrow"
  }
}

Input Schema

NameRequiredDescriptionDefault
linkYesA solar roof check link (https://pv.skysolar.de/dachcheck/#d=…), as plan_roof, edit_roof or the solar roof check page gave it.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and openWorld, so the safety profile needs no restating. The description still earns credit by adding behaviour the annotations cannot convey: the data comes from an external DWD forecast, results are cached for ten minutes, and 'nothing is stored' — the plan is read from the link. It does not describe the response shape (hour-by-hour granularity, units), but the annotation coverage lowers the bar.

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

Conciseness3/5

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

Nearly every clause carries real information (return contents, source, cache TTL, storage policy, input provenance), so there is little padding. However, the opening sentence is a ~70-word chain with stacked parentheticals ('…charge the car slowly from the roof's own power (with how much of the job the roof covers then)'), which hurts scannability and pushes the practical invocation hint to the very last clause.

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 single-parameter, read-only forecast tool this is close to complete: the agent knows the input source, what the output conceptually contains, that it is a cached forecast, and that nothing is persisted. No output schema exists, yet the description sketches the return concepts (kWh, peak, hourly clear-sky comparison, sunrise/sunset, best appliance window) well enough to set expectations. Only the exact response structure remains unstated.

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?

There is one parameter and schema description coverage is 100% — the schema already explains the link format (https://pv.skysolar.de/dachcheck/#d=…) and its provenance. The description restates the same provenance ('takes the link from plan_roof or edit_roof'), adding no new constraint such as link expiry or handling of an unchanged plan. Baseline 3 is appropriate when the schema carries the semantics.

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 concrete resource and scope: tomorrow's expected kWh and peak, hour by hour, against a clear-sky baseline for the plan behind a given link. It also names the rowing siblings that produce the link (plan_roof, edit_roof), which helps separate it from the sizing/planning tools. The phrasing 'What the plan behind a solar roof check link will make tomorrow' is grammatically awkward enough to require a second read, keeping it off 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?

Clearly orients the agent: use it with a link previously returned by plan_roof or edit_roof, in order to see tomorrow's forecast. It states the data source (German Weather Service via Bright Sky) and the caching window, but gives no explicit when-not guidance and never contrasts with the other forecast-adjacent siblings such as area_figures or size_system.

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