Skip to content
NEMPulse logo

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

← Back to NEMPulse

Whose server it is
  • 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.

When we asked itchecked 2026-10-21
  • 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.

Should an agent connect itNot proven either way yet
  • 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.

Measured dailydaily checks: 3, the first on 2026-10-21
  • 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 →

Tools it offers11 tools · read 2026-10-21
  • list_bess_units

    Reference 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_summary

    Fleet-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_detail

    Deep-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_data

    Last 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_revenue

    Daily 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_optimal

    Actual 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_events

    List 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_detail

    One 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_prices

    Daily 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_revenue

    Modelled 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_rankings

    League 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/mcp

Add to CursorAdd to VS Code

claude.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.