entsoe-mcp
com.entsoemcp/entsoe-mcpEuropean power-market data: day-ahead & balancing prices, load, generation, flows, outages. 47 zones
Score: 100/100
Handshake verified by our own probe.
Tools · 14
List registered ENTSO-E bidding zones.
List supported ENTSO-E endpoint families.
List production-type (psr_type) codes. Pass zone= to scope the answer. Most codes are ENTSO-E's B01..B25 and mean the same thing in every ENTSO-E zone. A few are source-native (source != "entsoe") an…
Generic time-series query for ANY registered series endpoint. One tool covers every (non-outage) endpoint in the registry, so adding a new dataset (call `list_endpoints()` to see the current 14) gets…
Day-ahead clearing price for a bidding zone, in the zone's trading currency (EUR for euro zones; the per-row `currency` column and the response `unit` say which — GB=GBP, PL/RO/BG carry local-currency…
Top-Bottom (TBx) spread — daily battery-arbitrage benchmark. TBx = sum(top X priced hours) − sum(bottom X priced hours) over the day-ahead clearing prices for `zone` on `date`. The day is the SDAC mar…
Actual or forecast load (MW). kind = actual | forecast | both. `start`/`end` default to UTC; `start` inclusive, `end` EXCLUSIVE. For a full calendar month set `end` to the first day of the next month…
Aggregated generation (MW) per production type. `start`/`end` default to UTC; `start` inclusive, `end` EXCLUSIVE. For a full calendar month set `end` to the first day of the next month. Pass `tz="loc…
Cross-border physical flow (MW) between two adjacent zones. `start`/`end` default to UTC; `start` inclusive, `end` EXCLUSIVE. `tz="local"` uses the FROM-zone's timezone; or pass an IANA name.
Generation-unit unavailability events (UMM). `start`/`end` default to UTC; `start` inclusive, `end` EXCLUSIVE. An outage is returned if it overlaps the window. Pass `tz="local"` or an IANA name to in…
Compare one endpoint across multiple zones. `start`/`end` default to UTC; `start` inclusive, `end` EXCLUSIVE. `tz="local"` is rejected (zones may differ); pass an explicit IANA tz like "Europe/Berlin…
Show ingest coverage and lag for (endpoint × zone) — call before queries if you're not sure whether the data is landed yet.
List computed-metric derivations available via get_derivation(). Each derivation is a metric computed on-the-fly from one or more landed endpoints (Tier-2 Parquet). Today: capture_price (monthly VWAP…
Compute **capture price**, **capture rate** (a.k.a. value factor / quality factor / Marktwertfaktor), **TBx battery-arbitrage spreads**, and other generation-weighted market metrics server-side from l…
Resources · 4
entsoe://zones
entsoe://endpoints
entsoe://psr-types
entsoe://coverage
Prompts · 3
Market briefing for one bidding zone: prices, load, mix, balancing.
Solar/wind capture-rate report for a zone and year.
Battery-arbitrage (TBx) spread scan across zones or for one zone.
How to use
Claude Desktop or claude.ai: add a custom connector (Customize → Connectors; on Team and Enterprise plans an owner adds it under Organization settings → Connectors) with this server URL: https://entsoemcp.com/mcp
Cursor or Cline: add to your MCP config:
{
"mcpServers": {
"entsoe-mcp": {
"url": "https://entsoemcp.com/mcp",
"transport": "streamable-http"
}
}
}