Australian NEM battery (BESS) data for AI agents: revenue, dispatch, FCAS, events. Free, no auth.
Connect Remote server
claude mcp add --transport http nempulse https://nempulse.com.au/mcp
{
"mcpServers": {
"nempulse": {
"url": "https://nempulse.com.au/mcp"
}
}
}
{
"servers": {
"nempulse": {
"type": "http",
"url": "https://nempulse.com.au/mcp"
}
}
}
Settings > Connectors > Add custom connector
URL: https://nempulse.com.au/mcp
Tools 11 found in our last check
list_bess_unitsReference list of every NEM-registered grid-scale battery. Call this first to turn a station name into the DUID the other tools need. Returns the whole fleet in one response (no filters): DUID, station, region, MW/MWh, MLF, coordinates, is_commissioning, commercial_context, unit…
get_fleet_summaryFleet-wide snapshot for the NEM battery fleet: unit_count, active_unit_count, total_mw, total_mwh, fleet_rev_mtd, avg_efficiency_pct, last_interval and spot_prices (latest price per region, $/MWh). Covers month-to-date unless date_from and date_to are given. fleet_rev_mtd is gro…
get_battery_detailDeep-dive metrics for one battery by DUID (e.g. HPR1 = Hornsdale): revenue, dispatch, SOC, FCAS. WARNING: rev_today, energy_rev_today, fcas_rev_today and contingency_fcas_rev_today are MONTH-TO-DATE by default, not daily (matching the rev_mtd keys in fcas_breakdown) — do not rep…
query_nem_dataLast resort for ad hoc questions the other tools cannot answer. Not for live or current prices: NEMPulse publishes daily price summaries only; use get_regional_prices for daily min/max/mean RRP and AEMO NEMWEB DISPATCHPRICE for the live 5-minute feed. Takes a plain-English quest…
get_battery_revenueDaily gross-spot revenue by market (energy + FCAS) for one battery (DUID) over a date range. Daily grain only. This is the tool for total revenue questions — use get_battery_optimal only for the actual-vs-perfect-foresight benchmark, not as a revenue source (its 'actual' figure…
get_battery_optimalActual vs LP-optimal dispatch revenue, per-DUID summary, over a date range (energy-only, perfect-foresight benchmark). NOT a revenue-total source — use get_battery_revenue for that. Both the 'actual' AND the 'optimal' figures here are MLF-adjusted (get_battery_revenue's is gross…
list_eventsList NEM spot-price events, newest first. An event is a run of 5-minute intervals in one region where the price stays above $500/MWh or below -$200/MWh (short gaps are bridged), typed by its peak price: negative (below -$200), elevated (peak $500 to $1,000), spike ($1,000 to $5,…
get_event_detailOne price event by event_id (take the id from list_events), with the response of every battery that was online, ranked by est_revenue. Event fields are as in list_events. Each battery row has duid, station, region, response (DISCH = discharging, CHRG = charging, IDLE, OFFLINE =…
get_regional_pricesDaily minimum, maximum and mean regional reference price (RRP, $/MWh) for one NEM region over a date range. Daily summary only: the raw 5-minute price series is not exposed (it is published by AEMO on NEMWEB). Use it for price context around revenue or events. For individual pri…
get_simulator_revenueModelled revenue for a hypothetical 1 MW battery of a given duration in one region (not a real unit), from NEMPulse's optimal-dispatch model on real prices. Returns P10/P50/P90 revenue for three tiers: realistic (forecast-informed result scaled by the capture ratio real batterie…
get_rankingsLeague table of merchant NEM batteries over a date range, ranked by capture rate by default (actual revenue as a share of the forecast-informed benchmark; capture_perfect_pct is the share of the perfect-foresight ceiling). Each row has rank, duid, station, region, capacity, dura…
Details
| Endpoint | https://nempulse.com.au/mcp (Streamable HTTP) |
| First published | 4 Oct 2026 |
| Last updated | 4 Oct 2026 |
| Registry name | au.com.nempulse/nempulse |
More ai and media servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
