Skip to main content
Glama

power_report

Read-onlyIdempotent

Compare grid generation capacity to machine power draw and see free megawatts, with nameplate vs measured load and starved generators flagged.

Instructions

Grid generation capacity vs machine draw, nameplate and measured, and what is free now.

Nameplate: everything built running at once. Measured: each machine weighted by its 300 s productivity window. Generation is capacity on both, except a generator out of fuel or water whose monitor read zero is listed starved: those MW will not arrive.

Input Schema

NameRequiredDescriptionDefault
saveNo
as_ofNopin to one save: the sav:… token an earlier answer printed
worldNo
biomassNocount hand-fed biomass burners as generation; omitted: the shared setting

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed14 schema fields changedv0.3.0
    • removedInput schema / properties / as_of / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • changedInput schema / properties / as_of / description
      Previous value: -"pin to one world state: a sav:… token from an earlier answer"New value: +"pin to one save: the sav:… token an earlier answer printed"
    • removedInput schema / properties / as_of / title
      Removed value: -"As Of"
    • addedInput schema / properties / as_of / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedInput schema / properties / biomass / anyOf
      Removed value: -[
      -  {
      -    "type": "boolean"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / biomass / title
      Removed value: -"Biomass"
    • addedInput schema / properties / biomass / type
      Added value: +[
      +  "boolean",
      +  "null"
      +]
    • removedInput schema / properties / save / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / save / title
      Removed value: -"Save"
    • addedInput schema / properties / save / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedInput schema / properties / world / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / world / title
      Removed value: -"World"
    • addedInput schema / properties / world / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedInput schema / title
      Removed value: -"power_reportArguments"
  2. Changed1 schema field changedv0.2.0
    • addedInput schema / properties / biomass
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "boolean"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "count hand-fed biomass burners as generation; omitted: the shared setting",
      +  "title": "Biomass"
      +}
  3. Changed1 schema field changed
    • addedInput schema / properties / as_of
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "pin to one world state: a sav:… token from an earlier answer",
      +  "title": "As Of"
      +}
  4. First observedv0.1.0

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/destructive=false, so the safety bar is low; the description instead adds genuine behavioral semantics beyond them — the 300 s productivity window for measured draw, and the 'starved' state where generators with zero monitor readings are reported but their MW will not actually arrive. That starvation caveat is exactly the kind of non-obvious detail that prevents a misread of the numbers.

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?

Short, front-loaded: the comparison is stated first, then each term is defined in one clause. Dense but every sentence carries vocabulary needed to read the report; no filler.

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?

With no output schema, the description rightly explains the report's vocabulary (nameplate, measured, starved), which is the bulk of what an agent needs to interpret results. However it says nothing about scoping (which save/world is reported on when 'save' and 'as_of' are omitted) or the effect of toggling biomass, leaving those behaviors unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 50%: 'save', 'world' and the required semantics of 'as_of' are undocumented in both schema and description. The description never mentions any parameter — not even that 'biomass' toggles whether hand-fed burners count, despite that being a visible modeling decision in the output.

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 opening sentence names the exact resource pair being compared (grid generation capacity vs machine draw) plus the 'free now' headroom, which no sibling tool covers — the sibling list is all factory/plan/recipe tooling. It stops short of naming a sibling it is distinct from, but the scope is unmistakable.

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?

'what is free now' implies the use case (checking power headroom), and the nameplate/measured definitions imply the two modes of comparison. There is no explicit when-to-use, no prerequisite, and no alternative tool named, so guidance is only implied.

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