Connect
MCP server URL
https://chat.scadaminer.com/mcpAdd this URL to your agent as a remote MCP server (some apps call it a connector). You sign in to NEM Explorer the first time it's used; there's no key to paste.
- 1In claude.ai or the Claude desktop app, open Settings → Connectors.
- 2Click Add → Add custom connector, name it NEM Explorer and paste the URL.
- 3Click Connect and sign in. When Claude first asks to use a tool, choose Always allow: every NEM Explorer query tool is read-only.
Free plans can add one custom connector. On Team and Enterprise, an Owner adds it first under Organization settings → Connectors → Add → Custom → Web, then each member connects it.
Don't see your agent? Most agents can add a remote MCP server by URL. Ask yours how: “How do I add a remote MCP server at https://chat.scadaminer.com/mcp?”
Authentication
Every tool requires authentication. NEM Explorer uses OAuth 2.0 (via WorkOS) with Dynamic Client Registration, so MCP clients register themselves and you never paste a client ID or secret. The connector uses your existing account, and sign-in happens in a browser window the first time a tool is called.
Tools
The recommended flow is start_question → search_entities → get_data_freshness → run_capability (preferred) or execute_sql → build_chart.
Orient
Work out what the question refers to and where the data lives.
start_question- Register the question you are about to answer; returns a question_id that groups a turn’s tool calls into one auditable trace.
search_entities- Resolve a term to NEM entities (DUID, station, region, interconnector or fuel type) with ranked, scored candidates.
get_data_freshness- The latest available SETTLEMENTDATE and current NEM time, for clamping date ranges. Scan-free.
list_tables- The warehouse table catalogue with summaries, domains, time columns and data-availability bounds.
search_columns- Find columns by keyword when you know the measure but not the table.
get_table_schema- Full column metadata for one table (units, valid values) plus curated caveats and join hints.
get_concept- An authoritative explainer for an AEMO market mechanism, read before describing how it works.
get_writing_style- The house writing guide for published analysis.
Query
Validated capabilities first, raw SQL when nothing fits.
list_capabilities- Validated, deterministic query builders for common question shapes, with a recommended match for your question.
run_capability- Build and optionally run a capability. Returns pre-validated SQL, a chart and often a deterministic answer.
execute_sql- Run one read-only ClickHouse statement (CTEs, window functions and joins included). Large results come back as a preview plus a result handle.
fetch_result_rows- Page through the full rows of a parked result.
store_result- Save a SELECT into a private scratch table to re-query and JOIN in later calls (when the scratchpad is enabled).
list_results- The scratch tables stored for the current question.
report_gap- Tell us what the user needed that the tools could not deliver. Optional and free.
Present & share
Turn results into charts, pages, downloads and live URLs.
build_chart- Turn a query result into a web-ready Plotly chart.
share_artifact- Publish a public page. Pass its token back to update that page in place.
export_data- Save a query result as a private, expiring CSV download.
pin_live_query- Keep a live data link alive. It re-runs the SQL and serves the latest rows as JSON or CSV.
list_live_queries- The live data links you own.
Dashboards
Saved dashboards that re-run against live data on every view.
get_dashboard_guide- How to write a dashboard spec.
list_dashboards- Your saved dashboards.
get_dashboard- Read one dashboard’s spec.
save_dashboard- Create or update a dashboard of named queries and panels.
delete_dashboard- Remove a dashboard.
share_dashboard- Mint or revoke a dashboard’s public link.
Limits
- Queries are read-only. Writes and DDL are rejected.
- A query returns at most 10,000 rows. Past the first 100, or about 20 KB of rows when they are wide, the rows are parked behind a result handle: page through them with
fetch_result_rowsor download them as CSV, so they never flood the agent's context. - Each query has resource and timeout caps. Scans predicted to read too much are rejected before they run; add a time filter, or use
get_data_freshnessandlist_tablesfor coverage. - All times are NEM time: a fixed UTC+10, with no daylight saving.
Troubleshooting
- No tools appear, or sign-in loops
- Remove and re-add the connector, and check the URL ends in
/mcp. - Claude asks to approve every tool call
- That is Claude’s permission gate for custom connectors. Choose Always allow on the first prompt for the read-only tools, or set the read-only group to Always allow under Settings → Connectors → NEM Explorer. Tools that write (share_artifact, export_data, store_result) stay behind a prompt by design.
- “Connector unavailable”
- The service may be briefly down. Retry, or check chat.scadaminer.com.
- Empty results for recent dates
- Data lands with a short lag. Call
get_data_freshnessand clamp the range to the latest available date.
Support
For help, bug reports and feature requests, email support@scadaminer.com. Common questions are answered in the FAQ. See also the Privacy Policy and Terms of Service.