
NEMPulse MCP server
Which servers in the official MCP registry are NEMPulse's own, whether they answer, and what they offer. A program checked each of these, nobody copied them from a product page.
read 2026-10-21
- Registry nameau.com.nempulse/nempulseverified in the MCP registry
The registry name sits under nempulse.com.au. The registry only lets a publisher use that namespace after proving control of the domain through DNS or HTTP.
- Stateanswerschecked 2026-10-21
- Tools11
- Server calls itselfNEMPulse MCP
- Server version1.1.1
- Protocol version2025-06-18
On 2026-10-21 the server answered initialize and tools/list without a sign-in. First answer in 219 ms.
- Whether its tools do the product's job has not been judged yet.
- Checked on 3 of the 7 days it takes to judge reliability.
Said by rules from the measurements above. The likely first call is a model's pick from the tool list; read its description before relying on it.
- INITE MCP scoreafter a weeka score needs 7 daily checks: 3 so far
- Answeredmeasuring3 of the 7 daily checks it takes to print a share
- Median first answer720 ms
- Space in an agent's context≈ 3,825 tokensthe definitions of all its tools (11), which an agent carries on every turn
- Tool definitionsA · 100 of 100
- Typed results0 of 11 toolsdeclared outputSchema: results come typed, read once
- Every tool passes all six checks.
Worth a look
None of the five warning signs in these definitions.
A program checks the server once a day: initialize and tools/list, no model. Tokens are the definitions' length at about four characters a token. The grade averages six checks of every tool's name, description, schema and annotations; it says how well the tools are described, not whether they work. The score weighs what was measured and nothing else: answering (30%), doing the product's job (25%), definitions (20%), context (10%) and use (15%). A part that was not measured is left out, and a hidden instruction caps the score at 40. The state of vendors' MCP servers: method and numbers →
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…
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…
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…
query_nem_dataLast resort for ad hoc questions the other tools cannot answer. Takes a plain-English question, generates SQL over NEMPulse's tables, and returns the SQL, the result rows and a short explanation. It is the slowest tool (can take close to…
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…
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…
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…
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 =…
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…
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…
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…
How to connect
Add the server to your MCP client config. Claude Desktop, Cursor and most other clients read this shape:
{
"mcpServers": {
"nempulse": {
"type": "http",
"url": "https://nempulse.com.au/mcp"
}
}
}Add it
Claude Code, in a terminal
claude mcp add --transport http nempulse https://nempulse.com.au/mcpclaude.ai, ChatGPT and other clients: add https://nempulse.com.au/mcp as a custom connector in the settings.
OpenAPI spec
15 paths, read 2026-10-21. Open the spec ↗
Each line is something a program found when it went looking: the registry entry, the server's own answer, a spec that parses. A missing line means we did not find it, not that it does not exist.
Cookies
Before we count this visit
Analytics and ad measurement tell us which pages and which of our ads do their job: Google Analytics and Google Ads, the Meta pixel, Yandex Metrica, and one first-party id of our own. Nothing is stored until you answer, and declining changes nothing about the site.