GridHub Electricity Market Data

io.github.jalcodevPublished by GitHub account jalcodevv1.0.2Updated Oct 24, 2026

Live and historical electricity prices and demand for 25 grids; carbon intensity for GB.

The publisher's own server: nohumans.directory

VerifiedStreamable HTTPWeb executableFinanceData & Analytics

Overview

AI-generated overview

Hosted MCP server giving assistants live and historical electricity prices, demand and carbon intensity for 25 grid zones, with zone comparison and freshness.

What you can do
List the 25 covered grid zones with sources, timezones, currencies and licences, and check ingestion freshness per source and zone (both free). Fetch the latest value of every metric one zone publishes, with units and timestamps. Get a composite zone brief ranking current price, demand and carbon intensity against the zone's own last ~30 days, with 24h trends and generation mix. Pull time series for one metric in one zone over a start/end window. Compare or rank headline values across all 25 zones in a single call.
When to use it
Useful when an assistant needs to answer questions about current or past electricity prices, demand, carbon intensity or generation mix in US ISOs, European bidding zones, Great Britain or Australian NEM regions, or to compare and rank zones.
Requirements
Remote Streamable HTTP endpoint; nothing to install. Works without credentials in sample mode (truncated data). A free API key (email signup, 500 requests/day) is sent as the Authorization Bearer header, as an optional api_key tool argument for clients that cannot send headers, or via GRIDHUB_API_KEY when using the optional local stdio bridge. Pay-per-call access uses USDC on Base via the X-PAYMENT header.
Before you install
The Authorization header carries an API key; keep it private. Sample mode returns truncated data, so conclusions drawn without a key may be incomplete. Pay-per-call mode spends USDC on Base at $0.001–$0.02 per call. Data comes from third-party sources (EIA, ENTSO-E, NESO, Elexon, AEMO) and each response carries licence and attribution requirements.

Installation

In SourceWeft

  1. Open GridHub Electricity Market Data in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.jalcodev%2Fgridhub/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "gridhub-electricity-market-data": {
      "type": "http",
      "url": "https://api.grid-hub.app/mcp"
    }
  }
}

README

GridHub MCP Server

Live and historical electricity market data for AI agents, over the Model Context Protocol.

Endpoint: https://api.grid-hub.app/mcp — hosted, Streamable HTTP, stateless. Nothing to install.

Covers 25 grid zones — US ISOs (CAISO, ERCOT, PJM, MISO, NYISO, ISO-NE, SPP), 12 European bidding zones, Great Britain, and the five Australian NEM regions — normalised into one JSON schema. Sourced from EIA, ENTSO-E, NESO, Elexon and AEMO; every response carries its licence and attribution.

Tools

ToolWhat it returns
get_zone_briefCurrent price / demand (and carbon intensity for GB) ranked against the zone's own last 30 days (percentile, vs-median, min/max), 24h trend, generation mix (GB, US-CAISO), and a one-sentence summary. Best for "is electricity cheap or clean in X right now?"
get_latestMost recent value of every metric one zone publishes, with unit and timestamp
get_historyTime series for one metric over a start/end window (up to 31 days per call)
get_map_snapshotHeadline values for all 25 zones at once — compare or rank zones
list_zonesZone ids, names, sources, currencies, licences (free)
get_statusIngestion freshness per source and zone (free)

Access

Three levels, no signup needed to start:

  1. Sample mode — connect with no credentials. Tools return real, current data, truncated (history capped at 50 rows; brief returns one context block). Results are clearly marked.
  2. Free API key — 500 requests/day. Instant email signup at grid-hub.app/developers, or POST https://api.grid-hub.app/v1/keys/signup with {"email": "..."}. Send as Authorization: Bearer <ghk_key>.
  3. x402 pay-per-call — USDC on Base, $0.001–$0.02 per call, via the X-PAYMENT header. See the x402 flow.

Setup

Claude Code

bash
claude mcp add --transport http gridhub https://api.grid-hub.app/mcp \  --header "Authorization: Bearer YOUR_KEY"

Cursor / Windsurf / VS Code (mcp.json)

json
{  "mcpServers": {    "gridhub": {      "url": "https://api.grid-hub.app/mcp",      "headers": { "Authorization": "Bearer YOUR_KEY" }    }  }}

Claude Desktop / claude.ai — add https://api.grid-hub.app/mcp as a custom connector. These clients don't send custom headers; pass the key as the optional api_key tool argument, or use sample mode.

Local stdio bridge — for clients that only support local (stdio) servers. It proxies to the hosted endpoint via mcp-remote; nothing runs locally except the bridge.

json
{  "mcpServers": {    "gridhub": {      "command": "npx",      "args": ["-y", "github:jalcodev/gridhub-mcp"],      "env": { "GRIDHUB_API_KEY": "YOUR_KEY" }    }  }}

Or with Docker: docker build -t gridhub-mcp . && docker run -i -e GRIDHUB_API_KEY=YOUR_KEY gridhub-mcp. Omit the key for sample mode.

Any client, no key — omit the header. You'll get sample-mode data and a note on how to upgrade.

Protocol

  • Streamable HTTP, stateless: one JSON-RPC message per POST, JSON response. No sessions, no SSE.
  • Speaks MCP 2026-07-28 (header-mirrored requests, no handshake) and 2025-03-26 through 2025-11-25 (initialize handshake).
  • Tool results include structuredContent alongside the text block.
  • Rate limits and quotas are those of the underlying REST API; the MCP layer adds none of its own.

Related

License

The code in this repository is MIT licensed. Data returned by the service is subject to each source's licence, stated in every response (license and attribution fields).

Source: README.md at commit 452883f

Tools

6

list_zones

List zones

List the 25 electricity grid zones GridHub covers, with id, name, data source (EIA, ENTSO-E, NESO, AEMO), timezone, currency, licence and required attribution. Free, no credentials needed. Call this first if you are unsure which zone id to use.

Takes no parameters.

get_status

Data freshness

Ingestion health per source and zone: last successful fetch timestamp and last error, if any. Free. Use it to explain stale or missing values before drawing conclusions from them.

Takes no parameters.

get_latest

Latest values for a zone

The most recent value of every metric one zone publishes (price and demand for every zone; generation by fuel for GB and US-CAISO; carbon intensity for GB; interchange where available), each with unit and timestamp. This is the right tool for 'what is the price/demand/carbon intensity in X right now'. Note: some European sources publish day-ahead prices, so the price timestamp can be up to ~36h in the future; use get_zone_brief for a strictly at-or-before-now value with historical context. Authentication: send 'Authorization: Bearer <ghk_key>' on the MCP connection (free key, 500 requests/day, instant email signup at https://grid-hub.app/developers), or pay per call with x402 (USDC on Base) via the X-PAYMENT header. With no credentials, data tools run in free sample mode: real, current data but truncated (history capped at 50 rows; brief returns one context block). Sample results are clearly marked.

Parameterszonerequiredapi_key

get_zone_brief

Zone brief (current state in context)

Composite, interpretation-ready snapshot of one zone: current price / demand / carbon intensity where published (strictly at-or-before now), each ranked against that zone's own last ~30 days (percentile, vs-median %, min/max, sample count and the actual data window), a 24h trend per metric, the generation mix where published (GB, US-CAISO), and a one-sentence plain-English summary. Best tool for questions like 'is electricity cheap/clean in X right now' or 'is this a good time to run a flexible workload'. A raw price means little without this context. Authentication: send 'Authorization: Bearer <ghk_key>' on the MCP connection (free key, 500 requests/day, instant email signup at https://grid-hub.app/developers), or pay per call with x402 (USDC on Base) via the X-PAYMENT header. With no credentials, data tools run in free sample mode: real, current data but truncated (history capped at 50 rows; brief returns one context block). Sample results are clearly marked.

Parameterszonerequiredapi_key

get_history

Historical time series

Time series for one metric in one zone over a start/end window (Unix seconds). Rows are returned oldest-first and the 'limit' truncates from the OLDEST end, so a small limit over a wide window returns old data, not recent data — for 'the latest N points' set start close to now, or use get_latest / get_zone_brief for current values. Default window is the last 24h (last ~400 days for capacity, which is annual). Max window 31 days per call (400 for capacity); paginate with start/end for more. Metrics: price (wholesale, local currency per MWh), demand (MW), generation (per fuel, 'fuel' field set; % or MW depending on zone; GB and US-CAISO only), carbon-intensity (gCO2/kWh; GB only), interchange (net imports, MW), capacity (installed MW per fuel; European zones only). Authentication: send 'Authorization: Bearer <ghk_key>' on the MCP connection (free key, 500 requests/day, instant email signup at https://grid-hub.app/developers), or pay per call with x402 (USDC on Base) via the X-PAYMENT header. With no credentials, data tools run in free sample mode: real, current data but truncated (history capped at 50 rows; brief returns one context block). Sample results are clearly marked.

Parametersendzonerequiredlimitstartmetricrequiredapi_key

get_map_snapshot

All zones right now

Current headline values for all 25 zones in one call — the cheapest way to compare zones (e.g. 'which European zone has the lowest price right now', 'rank US ISOs by demand'). Rebuilt every 5 minutes. Authentication: send 'Authorization: Bearer <ghk_key>' on the MCP connection (free key, 500 requests/day, instant email signup at https://grid-hub.app/developers), or pay per call with x402 (USDC on Base) via the X-PAYMENT header. With no credentials, data tools run in free sample mode: real, current data but truncated (history capped at 50 rows; brief returns one context block). Sample results are clearly marked.

Parametersapi_key

Version history

1
  1. v1.0.2LatestSep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Nohumans integrations