Skip to main content
Glama

Assess Supply Tightness

assess_supply_tightness
Read-onlyIdempotent

Assess electricity supply tightness by combining current market snapshot with available generation and outages, returning a deterministic tight, watch, or comfortable screening signal.

Instructions

Combines the current market snapshot with hourly available generation capability and outages. Returns transparent supply-margin arithmetic plus a deterministic tight/watch/comfortable screening signal; it is not an AESO declaration or a causal price explanation.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
metadataYesProvenance and semantic metadata attached to dataset responses.
warningsNo
methodologyYes
observed_atYes
tightness_signalYes
mothball_outage_mwNo
net_interchange_mwNo
operating_outage_mwNo
aeso_supply_cushion_mwNo
gross_supply_margin_mwNo
aeso_supply_cushion_codeNo
alberta_internal_load_mwNo
aeso_supply_cushion_statusNo
reserve_adjusted_margin_mwNo
aeso_supply_adequacy_statusNo
contingency_reserve_required_mwNo
aeso_supply_adequacy_status_codeNo
maximum_generation_capability_mwNo
available_generation_capability_mwNo
reserve_adjusted_margin_pct_of_loadNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changedv0.3.0
    • addedOutput schema / properties / aeso_supply_adequacy_status
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null
      +}
    • addedOutput schema / properties / aeso_supply_adequacy_status_code
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null
      +}
    • addedOutput schema / properties / aeso_supply_cushion_code
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null
      +}
    • addedOutput schema / properties / aeso_supply_cushion_mw
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null
      +}
    • addedOutput schema / properties / aeso_supply_cushion_status
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null
      +}
    • changedOutput schema / properties / metadata / properties / provider / enum
      Previous value: -[
      -  "gridstatus",
      -  "aeso_apim",
      -  "aeso_public_report",
      -  "derived"
      -]New value: +[
      +  "gridstatus",
      +  "aeso_apim",
      +  "aeso_public_report",
      +  "aeso_csd_archive",
      +  "derived"
      +]
  2. Addedv0.2.0

TDQS

A4.4/5.0
Behavior4/5

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

The annotations already mark the tool as readOnly, idempotent, and openWorld. The description adds useful behavioral context by emphasizing the output is deterministic and transparent arithmetic, and clarifying it carries no official AESO status. This goes beyond the structured annotations and sets correct expectations for downstream use.

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?

Two sentences, front-loaded with the core computation and return type, plus a clarifying exclusion. Every sentence contributes meaning and no length is wasted.

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 zero-parameter tool with an output schema and safety annotations, the description adequately covers what the tool computes, what kind of signal it returns, and the caveat about non-official status. It could be more explicit about exactly when to choose it over sibling supply-analysis tools, but the core context is present.

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?

With zero parameters, there is no schema burden for the description to carry, and the baseline for 0-param tools is 4. The description also names the implicit inputs (market snapshot, generation capability, outages) which helps an agent conceptualize what the tool evaluates.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states exactly what the tool does: it combines market snapshot, generation capability, and outages to compute supply-margin arithmetic and a deterministic screening signal. It also distinguishes the output from an AESO declaration or causal price explanation, so an agent can tell it apart from analytical siblings like explain_market_conditions or get_supply_adequacy.

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?

The description gives clear context for when to use the tool: when a transparent, deterministic supply-tightness screening signal is needed. It explicitly states what it is not for (not an AESO declaration, not a causal price explanation), but does not name alternative tools or provide an explicit 'when to use vs get_supply_adequacy' routing statement.

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