@pipeworx/spp

Connect: https://gateway.pipeworx.io/spp/mcp · Install: one-click buttons

No MCP client? Skip the connection: POST https://gateway.pipeworx.io/v1/tools/search_packs {"query":"..."} to find a tool below, GET /v1/tools/<name> for its schema, POST the same URL with arguments for the data — see For AI agents.

Tools: 4

SPP (Southwest Power Pool) real-time electricity data — generation mix, load and renewable forecast vs actual, five-minute LMPs, and the raw Marketplace file archive back to 2013, for the 14-state footprint from the Texas panhandle to North Dakota.

Tools

  • spp_generation_mix(limit?, detailed?) — MW per fuel per 5-minute interval (coal, gas, nuclear, wind, solar, hydro, diesel fuel oil, energy storage, waste heat, waste disposal, other) plus total load. detailed: true splits each fuel into its Market and Self-scheduled halves over a rolling 365-day feed.
  • spp_load_forecast(limit?, include_future?) — short- and mid-term load, wind and solar forecasts (STLF/MTLF, STWF/MTWF, STSF/MTSF) against actual load, wind and solar.
  • spp_lmp_latest(location?, limit?) — the most recently published RTBM 5-minute interval, per settlement location (~1,600), with LMP split into MEC / MCC / MLC.
  • spp_files(dataset, path?, download?, limit?) — browse or download the Marketplace file archive directly, for a specific historical interval or day.

Auth

Keyless. No registration.

Data sources

Traps

  • marketplace.spp.org 302-redirects to portal.spp.org for every API path. Call portal.spp.org directly so a Worker fetch never depends on redirect handling.
  • The load-forecast CSV is published a week ahead and is newest-first, so the first ~2,000 rows are future intervals with every value blank. A naive rows[0] returns a row of nulls as a clean success. Measured 2026-09-17: 2,017 forecast-only rows in front of 287 settled ones. spp_load_forecast splits on “does this row have an Actual Load”, reports latest_actual from the newest settled row, and exposes forecast_only_intervals so the caller can see the split. This is the pack’s main reason for existing over a raw CSV fetch.
  • Two timezones in one dataset. gen-mix timestamps are GMT; the LMP archive FILENAMES (RTBM-LMP-SL-202609171905.csv) are Central. Mixing them shifts you five or six hours. Inside the LMP file, Interval is Central and GMTIntervalEnd is UTC.
  • Don’t compute the “current” LMP filename. SPP publishes each 5-minute interval a few minutes late, so the filename for right now is usually a 404. spp_lmp_latest lists the day’s By_Interval folder and takes the newest file that exists, falling back to the previous day just after midnight CT.
  • The file-listing endpoint needs no token. SPP’s own UI sends an X-SPP-UI-Token header; the server does not require it (verified 2026-09-17), so this pack sends none rather than forge one.
  • Blank means unknown, not zero. num() returns null for an empty cell.

Tools

  • spp_generation_mix — SPP (Southwest Power Pool — 14 US states from the Texas panhandle to North Dakota) real-time generation by fuel type at 5-minute resolution: coal, natural gas, nuclear, wind, solar, hydro, diesel fuel
  • spp_load_forecast — SPP load, wind and solar forecast vs actual at 5-minute resolution: short-term and mid-term load forecast (STLF/MTLF), wind forecast (STWF/MTWF), solar forecast (STSF/MTSF) and the actual load, wind a
  • spp_lmp_latest — SPP real-time balancing market (RTBM) locational marginal prices — the most recently published 5-minute interval, per settlement location, with the LMP split into its marginal energy (MEC), congestion
  • spp_files — Browse the SPP Marketplace public file archive — the raw published market data behind every SPP report, back to 2013. Lists folders and files (name, path, size, modified) for a dataset, or downloads o

Tools

  • spp_files — Browse the SPP Marketplace public file archive — the raw published market data behind every SPP report, back to 2013. Lists folders and files (name, path, size, modified) for a dataset, or downloads o
  • spp_generation_mix — SPP (Southwest Power Pool — 14 US states from the Texas panhandle to North Dakota) real-time generation by fuel type at 5-minute resolution: coal, natural gas, nuclear, wind, solar, hydro, diesel fuel
  • spp_lmp_latest — SPP real-time balancing market (RTBM) locational marginal prices — the most recently published 5-minute interval, per settlement location, with the LMP split into its marginal energy (MEC), congestion
  • spp_load_forecast — SPP load, wind and solar forecast vs actual at 5-minute resolution: short-term and mid-term load forecast (STLF/MTLF), wind forecast (STWF/MTWF), solar forecast (STSF/MTSF) and the actual load, wind a

Regenerated from source · build September 18, 2026