Skip to content
Eden Engine

U.S. Grid Status for One Region: Demand, Reserve Margin, Generation Mix, Prices, Weather, Outlook (GridVigil)

gridvigil/grid-status

Current status of one U.S. power grid region from GridVigil (ERCOT, PJM, CAISO, MISO, SPP, NYISO, ISO-NE, Southeast, Mountain West or Florida): the 0 to 100 power pressure score and band, latest demand and recent peak in megawatts, official reserve margin, the generation mix by fuel with megawatts and share, market prices where the operator publishes them, estimated carbon intensity, active NOAA weather alerts, the near-term peak forecast and a multi-year reserve outlook where the sources provide them. Fields a grid does not have are null. Data from GridVigil (gridvigil.com), built on EIA, operator and NOAA public data. Served by Eden Engine; not an official GridVigil product.

activeper callv1

Price

$0.0026 per call

You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $0.50.

Data source

GridVigil

Data from GridVigil (gridvigil.com). Served by Eden Engine; not an official GridVigil product.

Use it

Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.

Connect once and your AI can find and run this tool, and any other it needs.

agent
// 1. search: find the tool
omnial_search({ query: "what you need" })

// 2. inspect: price and input schema
omnial_inspect({ tool: "gridvigil/grid-status" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "gridvigil/grid-status" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "gridvigil/grid-status", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "gridvigil/grid-status", input: { /* ... */ } })

// 5. settle: the call is charged when it finishes, nothing to do

Not connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.

Pricing

Every charge this tool can incur.

ChargePrice
Per call
$0.0026
Updated
Oct 25, 2026

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "required": [
    "grid_id"
  ],
  "properties": {
    "grid_id": {
      "enum": [
        "ercot",
        "pjm",
        "caiso",
        "miso",
        "spp",
        "nyiso",
        "isone",
        "southeast",
        "mountainwest",
        "florida"
      ],
      "type": "string",
      "description": "Grid region id: ercot (Texas), pjm (Mid-Atlantic and Midwest), caiso (California), miso (Midcontinent), spp (Southwest Power Pool), nyiso (New York), isone (New England), southeast (non-ISO Southeast), mountainwest (non-ISO Mountain West), florida (non-ISO Florida)."
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "required": [
    "grid_id",
    "name",
    "status",
    "demand"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "Display name of the grid."
    },
    "demand": {
      "type": "object",
      "required": [
        "current_mw"
      ],
      "properties": {
        "as_of": {
          "type": "string",
          "description": "Time of that reading, UTC ISO 8601."
        },
        "current_mw": {
          "type": "number",
          "description": "Latest hourly demand in megawatts."
        },
        "recent_peak_mw": {
          "type": "number",
          "description": "Highest demand in the recent window, megawatts."
        }
      },
      "description": "Demand.",
      "additionalProperties": true
    },
    "prices": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "as_of": {
          "type": "string",
          "description": "Time of the price reading, UTC ISO 8601."
        },
        "zones": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "zone": {
                "type": "string",
                "description": "Pricing zone."
              },
              "price_per_mwh": {
                "type": "number",
                "description": "Price per megawatt hour in the zone."
              }
            },
            "additionalProperties": true
          },
          "description": "Per-zone prices where the operator has zones; empty otherwise."
        },
        "currency": {
          "type": "string",
          "description": "Currency, USD."
        },
        "window_hours": {
          "type": "number",
          "description": "Window length in hours."
        },
        "window_intervals": {
          "type": "integer",
          "description": "Intervals in the window."
        },
        "window_low_per_mwh": {
          "type": "number",
          "description": "Lowest price in the window."
        },
        "window_high_per_mwh": {
          "type": "number",
          "description": "Highest price in the window."
        },
        "market_average_basis": {
          "type": "string",
          "description": "How the average was formed: single_zone or zone_mean."
        },
        "market_average_per_mwh": {
          "type": "number",
          "description": "Market average price per megawatt hour."
        },
        "window_negative_intervals": {
          "type": "integer",
          "description": "Intervals with a negative price."
        }
      },
      "description": "Market prices. Null when the operator publishes none to GridVigil.",
      "additionalProperties": true
    },
    "states": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "Two-letter U.S. state code served by the grid."
      },
      "description": "U.S. states the grid covers."
    },
    "status": {
      "type": "object",
      "required": [
        "pressure_score",
        "pressure_band"
      ],
      "properties": {
        "confidence": {
          "type": "string",
          "description": "How complete the inputs to the score were: high, medium or low."
        },
        "pressure_band": {
          "type": "string",
          "description": "Pressure band: good (low pressure), warning (moderate), or a higher band when the grid is tight."
        },
        "pressure_score": {
          "type": "number",
          "description": "Power pressure score, 0 (relaxed) to 100 (tight)."
        },
        "pressure_band_label": {
          "type": "string",
          "description": "Human label of the band."
        }
      },
      "description": "The pressure score.",
      "additionalProperties": true
    },
    "grid_id": {
      "type": "string",
      "description": "The grid id."
    },
    "iso_rto": {
      "type": "string",
      "description": "Operator abbreviation."
    },
    "outlook": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "series": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "label": {
                "type": "string",
                "description": "Season, for example Summer 2027."
              },
              "confidence": {
                "type": "string",
                "description": "Confidence of the projection."
              },
              "reserve_margin_pct": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Projected reserve margin, percent. Null when unknown."
              },
              "projected_demand_mw": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Projected demand, megawatts. Null when unknown."
              }
            },
            "additionalProperties": true
          },
          "description": "Projected reserve margin by season."
        },
        "narrative": {
          "type": "string",
          "description": "Plain-language description of the outlook."
        },
        "horizon_years": {
          "type": "integer",
          "description": "Years the outlook covers."
        }
      },
      "description": "Multi-year reserve outlook. Null when the grid has none.",
      "additionalProperties": true
    },
    "weather": {
      "type": "object",
      "properties": {
        "as_of": {
          "type": "string",
          "description": "Time of the reading, UTC ISO 8601."
        },
        "max_temp_f": {
          "type": [
            "number",
            "null"
          ],
          "description": "Highest temperature in the area, Fahrenheit. Null when unknown."
        },
        "max_severity": {
          "type": [
            "string",
            "null"
          ],
          "description": "Highest NOAA alert severity active. Null when no alert is active."
        },
        "temp_deviation_f": {
          "type": [
            "number",
            "null"
          ],
          "description": "Deviation from normal, Fahrenheit. Null when unknown."
        },
        "active_alert_types": {
          "type": "array",
          "items": {
            "type": "string",
            "description": "A NOAA alert type."
          },
          "description": "NOAA alert types active in the grid's area."
        },
        "max_severity_alert_types": {
          "type": [
            "array",
            "null"
          ],
          "items": {
            "type": "string",
            "description": "An alert type."
          },
          "description": "Alert types at the highest severity. Null when no alert is active."
        }
      },
      "description": "Weather.",
      "additionalProperties": true
    },
    "capacity": {
      "type": "object",
      "properties": {
        "reserve_margin_pct": {
          "type": [
            "number",
            "null"
          ],
          "description": "Official planning reserve margin, percent. Null when the grid has no official figure."
        },
        "reserve_margin_as_of": {
          "type": [
            "string",
            "null"
          ],
          "description": "Period the margin applies to. Null when there is no margin."
        },
        "reserve_margin_source": {
          "type": [
            "string",
            "null"
          ],
          "description": "Where the margin comes from, for example nerc_ltra or ercot_cdr. Null when there is no margin."
        },
        "operational_margin_pct": {
          "type": [
            "number",
            "null"
          ],
          "description": "Real-time operating margin, percent. Null when the operator does not publish one."
        },
        "operational_margin_as_of": {
          "type": [
            "string",
            "null"
          ],
          "description": "Time of the operating margin. Null when there is none."
        }
      },
      "description": "Capacity margins.",
      "additionalProperties": true
    },
    "data_sources": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "source": {
            "type": "string",
            "description": "Source feed id."
          },
          "status": {
            "type": "string",
            "description": "Feed status, for example ok."
          },
          "last_success": {
            "type": "string",
            "description": "Last successful refresh, UTC ISO 8601."
          }
        },
        "additionalProperties": true
      },
      "description": "The feeds behind the document and their health."
    },
    "generated_at": {
      "type": "string",
      "description": "When GridVigil generated the document, UTC ISO 8601."
    },
    "generation_mix": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "fuel_type",
          "mw",
          "share_pct"
        ],
        "properties": {
          "mw": {
            "type": "number",
            "description": "Output in megawatts; negative for storage that is charging."
          },
          "fuel_type": {
            "type": "string",
            "description": "EIA fuel code: NG natural gas, COL coal, NUC nuclear, WND wind, SUN solar, WAT hydro, OIL oil, BAT battery storage, PS pumped storage, GEO geothermal, SNB and WNB solar and wind not broken out, OES and UES other energy storage, OTH other, UNK unknown."
          },
          "share_pct": {
            "type": "number",
            "description": "Share of total generation, percent."
          }
        },
        "additionalProperties": true
      },
      "description": "Generation by fuel at generation_mix_as_of, one entry per fuel the grid reports."
    },
    "schema_version": {
      "type": "string",
      "description": "Version of the GridVigil schema."
    },
    "interconnectors": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {},
        "additionalProperties": true
      },
      "description": "Interconnector flows; empty for the grids that carry none."
    },
    "carbon_intensity": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "as_of": {
          "type": "string",
          "description": "Time of the estimate, UTC ISO 8601."
        },
        "source": {
          "type": "string",
          "description": "How it was derived, for example estimated_from_generation_mix."
        },
        "gco2_per_kwh": {
          "type": "number",
          "description": "Estimated grams of CO2 per kilowatt hour."
        }
      },
      "description": "Carbon intensity. Null when it cannot be estimated.",
      "additionalProperties": true
    },
    "near_term_forecast": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "as_of": {
          "type": "string",
          "description": "Time of the forecast, UTC ISO 8601."
        },
        "series": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "date": {
                "type": "string",
                "description": "Forecast date."
              },
              "peak_forecast_mw": {
                "type": "number",
                "description": "Forecast peak demand, megawatts."
              }
            },
            "additionalProperties": true
          },
          "description": "Forecast days."
        },
        "source": {
          "type": "string",
          "description": "Forecast source."
        }
      },
      "description": "Near-term peak forecast. Null when the operator publishes none.",
      "additionalProperties": true
    },
    "large_load_pipeline": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "as_of": {
          "type": "string",
          "description": "Date of the figure."
        },
        "queue_gw": {
          "type": "number",
          "description": "Large-load interconnection queue, gigawatts."
        },
        "data_center_share_pct": {
          "type": [
            "number",
            "null"
          ],
          "description": "Data center share of the queue, percent. Null when unknown."
        }
      },
      "description": "Large-load queue. Null when the grid publishes none.",
      "additionalProperties": true
    },
    "generation_mix_as_of": {
      "type": "string",
      "description": "Hour the mix describes, UTC ISO 8601."
    }
  },
  "description": "The service's answer. Also present and always null in the sampled grids: energy_mix_today, system_frequency.",
  "additionalProperties": true
}