Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
AESO_API_KEYYesYour AESO APIM API subscription key. Obtainable from https://developer-apim.aeso.ca/

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_market_snapshotA

Returns a cohesive current-state view of the Alberta electricity market including recent pool price, system marginal price, Alberta Internal Load, generation by fuel, net interchange, and operating reserves. Units: prices CAD/MWh, power MW. Timezone: America/Edmonton.

get_pool_pricesA

Returns actual AESO hourly Pool Price observations in CAD/MWh for the requested market interval [start, end). Use get_system_marginal_prices for minute-level real-time pricing. Timestamps are America/Edmonton. Maximum range: 366 days.

get_system_marginal_pricesA

Returns AESO System Marginal Price (SMP) observations in CAD/MWh with minute-level interval boundaries for [start, end). Prefer get_pool_prices for hourly settlement prices. Timestamps are America/Edmonton. Maximum range: 7 days.

get_loadA

Returns Alberta Internal Load (AIL) observations in MW for [start, end). Optionally includes load forecast values when available. Timestamps are America/Edmonton. Maximum range: 90 days.

get_generationA

Returns Alberta generation data. Omit start/end for the current fuel-mix snapshot (all fuels, MW). Provide start and end for historical wind and solar hourly generation. Renewable share uses wind + solar + hydro over total generation.

get_interchangeA

Returns current Alberta interchange flows by path in MW, including net interchange. Positive/negative path signs follow AESO Current Supply Demand conventions.

get_reservesA

Returns current AESO operating reserve indicators in MW, including contingency reserve required/dispatched and fast frequency response volumes when published.

get_outagesA

Returns hourly AESO generator outage capacity by technology/fuel for [start, end) (Total Outage MW plus per-fuel components). Timestamps: America/Edmonton. For transmission planned outages use get_approved_transmission_outages or get_long_range_transmission_outages.

get_approved_transmission_outagesA

Returns AESO-approved planned transmission outages (approval_status=approved). Omit start/end for the current public publication. Historical start/end select publication windows and are tightly bounded. Distinct from generator outages and from long-range tentative outages.

get_long_range_transmission_outagesA

Returns Long Range Significant Transmission Outages covering ~24 months ahead. Entries may be tentative and not AESO-approved (approval_status=tentative). Do not confuse with get_approved_transmission_outages.

get_assetsA

Returns AESO market asset registry records with optional filters for asset ID, pool participant, operating status, and asset type. Results may be truncated by the limit parameter.

get_monthly_cumulative_net_revenueA

Returns the current AESO Monthly Cumulative Settlement Interval Net Revenue (MCSINR) public report. Includes cumulative CAD vs 1/6 annualized unavoidable costs and whether the secondary offer price limit trigger has been reached. Timestamps: America/Edmonton hour-ending intervals.

get_secondary_offer_price_limitA

Returns the current AESO Secondary Offer Price Limit public report: whether the secondary offer cap is in effect and the CAD/MWh limit when posted. A null limit means the cap is not in effect.

compare_market_periodsA

Compares aggregate pool-price and load statistics between two America/Edmonton market periods. Returns averages, min/max/median prices, load stats, and deltas. Does not assert causation.

find_price_eventsA

Detects sustained high Pool Price events in CAD/MWh over [start, end). Threshold may be an absolute CAD/MWh value or a percentile (default 90th). Returns event boundaries, duration, peak/average price, and load context when available.

explain_market_conditionsA

Returns structured evidence for market conditions in a focus window versus a baseline window (default: immediately preceding equal-length window). Includes observed metrics and associated_changes. Does not claim causation; the calling model should produce any natural-language explanation.

compare_forecast_to_actualA

Compares Alberta Internal Load forecast versus actual over [start, end) in MW. Returns mean error, MAE, RMSE, MAPE, and paired intervals. Timestamps are America/Edmonton.

calculate_asset_energy_revenueA

Joins hourly metered energy (MWh) by selected asset to hourly AESO Pool Price (CAD/MWh) over [start, end). Returns gross Pool Price energy revenue, realized capture price, arithmetic average matched market price, capture rate, matched hours, and explicit missing intervals. This is not total settlement revenue.

compare_csd_to_meteredA

Compares hourly operational Historical CSD generation (MW converted to interval MWh) against hourly settlement-metered energy (MWh) by asset. Returns matched-hour differences, percentage errors, and missing-source counts. CSD operational output and metered settlement energy are distinct source concepts.

analyze_rampsA

Calculates cadence-aware up/down ramps for AIL, net load, wind, solar, or selected asset CSD generation. Supports hourly and five-minute cadence where the source supports it, skips non-consecutive observations, reports MW per interval and MW/hour, and never fills missing values.

analyze_supply_surplus_eventsA

Aligns official AESO supply-surplus status runs with observed Pool Price, AIL, and wind/solar generation. Durations are reported only when the official sequence provides an explicit end boundary. Results are descriptive associations, not causation.

get_energy_merit_orderA

Returns one historical AESO Energy Merit Order report date as paginated offer blocks. Reports are released with a 60-day delay. Prices are CAD/MWh and volumes are MW; timestamps use America/Edmonton.

get_unit_commitmentsA

Returns AESO generating-unit commitment directives for an inclusive date range, paginated and bounded to 31 days. Includes issue, begin, operation-start, and operation-end timestamps in America/Edmonton.

get_generation_capacityA

Returns hourly AIES maximum and available generation capability plus operating and mothball outages by fuel class. The inclusive date range is bounded to 31 days; values are MW and output is paginated.

get_load_outage_forecastA

Returns AESO hourly load-outage forecast observations in MW for an inclusive, maximum 31-day range. Timestamps use America/Edmonton and output is paginated.

get_intertie_capabilityA

Returns hourly import/export ATC, TTC, reliability margins, and gross offers for AESO interties and flowgates. Supports hour-ending bounds and optional versioned reports; date ranges are limited to 100 days and output is paginated.

get_intertie_outagesA

Returns outages affecting AESO interties or flowgates for an inclusive date range. Includes affected paths and event boundaries in America/Edmonton; output is paginated.

get_metered_volumesA

Returns hourly AESO metered energy in MWh by asset. Filter by up to 20 asset IDs or 20 pool-participant IDs (not both); unfiltered requests are limited to 16 days and all output is paginated.

get_operating_reserve_offer_controlA

Returns one historical AESO Operating Reserve Offer Control report date as paginated blocks. Reports are released with a 60-day delay; prices are CAD/MWh, volumes are MW, and timestamps use America/Edmonton.

summarize_market_historyA

Returns compact hourly, daily, weekly, or monthly Pool Price statistics and optional Alberta Internal Load statistics for [start, end). Use this before requesting raw series for long periods; summaries are capped at 400 buckets.

assess_supply_tightnessA

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.

get_historical_generationA

Returns official AESO CSD individual-asset generation over [start, end), at hourly or five-minute resolution. Supports bounded asset/fuel filters and pagination. This operational CSD archive is not settlement-metered data.

sync_historical_storeA

Incrementally ingests selected AESO generation, pool-price, and load datasets into the configured local DuckDB index and partitioned Parquet snapshots. Reports gaps and duplicate source observations and refreshes preliminary intervals. Requires the optional analytics dependencies.

get_historical_store_statusA

Reports local DuckDB/Parquet coverage, detected cadence gaps, source-file and partition counts, schema version, and whether optional storage dependencies are installed.

get_forecastA

Returns typed official AESO actual and forecast observations over [start, end) for AIL, Pool Price, wind, solar, or combined wind/solar where the requested source horizon exists.

get_uc_settlement_summaryA

Returns the public AESO hourly Unit Commitment settlement amount in CAD and charged volume in MW for an inclusive market-date range.

get_price_statisticsA

Calculates count, mean, median, range, population standard deviation, negative/high price hours, and requested percentiles from complete hourly Pool Price observations.

get_price_duration_curveA

Returns an evenly sampled Pool Price duration curve sorted from highest to lowest with exceedance percentages over [start, end).

analyze_market_eventA

Compares structured price, demand/forecast, supply, merit-order, intertie, commitment, and operating-reserve evidence in a focus window against a supplied or immediately preceding baseline. Returns descriptive associations, not causal claims.

calculate_capture_pricesA

Joins hourly Pool Price to official CSD generation and calculates generation-weighted capture price and capture rate by requested asset and/or fuel group.

analyze_net_loadA

Calculates hourly Alberta Internal Load minus selected CSD renewable generation (wind and solar by default), including average, peak, and minimum net load.

analyze_supply_stackB

Analyzes one historical Energy Merit Order hour: price-sorted offer blocks, offered and dispatched MW, and the highest dispatched offer price.

analyze_intertie_utilizationA

Summarizes gross offers relative to available intertie transfer capability by path and direction. This is an offer-to-capability proxy, not metered flow.

analyze_generation_mixA

Aggregates official hourly individual-asset CSD generation into energy, share, average MW, and peak MW by fuel type.

analyze_asset_dispatchB

Summarizes official hourly CSD dispatch for selected assets: energy, average/peak generation, available capacity factor, and hourly ramp extremes.

analyze_outage_impactB

Joins hourly generator outage capacity to Pool Price and reports high-outage versus other-hour price differences plus Pearson correlation as non-causal associations.

analyze_forecast_errorA

Calculates forecast-minus-actual bias, MAE, RMSE, denominator-aware MAPE, error percentiles, and breakdowns by market hour and lead time for AIL, Pool Price, wind, solar, or combined wind/solar when the official source provides paired values.

get_supply_adequacyA

Returns the official AESO hourly Supply Adequacy and Market Supply Cushion status bands. These published categorical metrics are distinct from the derived assess_supply_tightness screening label.

get_supply_surplusA

Returns official AESO hourly Supply Surplus status observations. Zero-price states are forecasts/statuses; they are not inferred from observed Pool Price.

get_ffr_net_scheduleA

Returns the bounded official FFR Net Schedule archive. AESO defines scheduled imports as negative and exports as positive; this is not FFR offered or dispatched.

get_dispatch_down_serviceA

Returns bounded official AESO Dispatch Down Service availability publications. DDS is distinct from energy-market dispatch and metered generation.

get_tmr_reference_priceA

Returns the official AESO Transmission Must-Run reference price by effective date; the published value is returned without independent recomputation.

get_system_eventsA

Returns bounded official AIES Event Log messages with a deterministic descriptive classification. Raw published comments remain authoritative and no event end is inferred.

get_operating_reserve_pricesA

Returns daily active and standby operating-reserve price components and volumes by regulating, spinning, or supplemental product and time block. Active price, standby premium, activation strike, and clearing blended price remain distinct.

get_operating_reserve_forecastA

Returns the current public seven-day hourly forecast of active and standby regulating, spinning, and supplemental operating-reserve volumes in MW.

get_operating_reserve_activationsA

Returns hourly standby operating-reserve activation volume and volume-weighted activation price for an inclusive market-date range.

summarize_operating_reserve_marketB

Summarizes active prices or standby clearing blended prices and volumes by reserve product; optionally joins standby activations using volume-weighted activation price.

Prompts

Interactive templates invoked by user choice

NameDescription
daily_market_briefPrepare a concise, evidence-based Alberta electricity market brief for a market date, using current and historical AESO tools as appropriate.
investigate_price_eventInvestigate sustained high Alberta Pool Price events with load and market-condition context, while keeping the result observational rather than causal.
compare_market_daysCompare two Alberta market days using bounded Pool Price and load statistics, with optional supply and grid context.

Resources

Contextual data attached and managed by the client

NameDescription
glossaryAESO market terminology used by this server.
datasetsCatalog of datasets exposed by AESO MCP.
pool_price_methodologyInterpretation notes for Pool Price data.
smp_methodologyInterpretation notes for System Marginal Price data.
methodology
methodology
methodology
methodology
methodology
methodology
methodology
methodology
methodology
methodology
methodology
methodology
methodology
methodology
methodology
methodology
methodology
methodology
methodology
methodology
methodology
methodology
methodology
methodology
capabilities

TDQS

A3.6/5.0

Scored across 57 tools

Disambiguation3/5

The descriptions are unusually careful about distinguishing related reports, but the 57-tool surface contains dense clusters with overlapping semantics: get_generation/historical_generation/capacity, get_outages/generation_capacity/outage_impact, and supply_adequacy/supply_surplus/assess_supply_tightness/analyze_supply_surplus_eents. An agent could easily select the wrong tool despite the disclaimers, especially among the many analyze_* and summarize_* helpers.

Naming Consistency5/5

Every tool follows snake_case verb_noun (or verb_adjective_noun) naming: get_, analyze_, calculate_, compare_, summarize_, assess_, explain_, find_, sync_. Acronyms like uc, ffr, and tmr are used consistently within the same pattern. No camelCase or mixed verb styles appear.

Tool Count2/5

57 tools is far beyond the 25+ threshold and will cause selection overhead even if the AESO domain is broad. Many tools could be consolidated behind parameters, such as one outages tool with a type flag, one operating-reserve tool with a report type, or one supply-status tool with an official/derived flag. The set feels like a full REST report catalog rather than a curated MCP surface.

Completeness4/5

The set covers the core AESO market surface very thoroughly: prices, load, generation, outages, interties, operating reserves, forecasts, settlements, and analytics. Obvious minor gaps exist, such as historical interchange flows and some single-date report lookups, but agents can usually work around these with existing tools.

Maintenance

ActivityMaintained
ResponsivenessNo issues