mcp-misoSAFE
Real-time electricity data for MISO, the grid operator for 15 US states from Louisiana to Minnesota plus Manitoba: generation by fuel type, power demand, five-minute wholesale electricity prices, wind and solar output, and the transmission constraints driving congestion.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
MISO (Midcontinent ISO) real-time electricity data — fuel mix, load, five-minute LMPs, wind/solar forecast-vs-actual and transmission binding constraints for the 15-state footprint from Louisiana to Minnesota plus Manitoba.
Part of Pipeworx — an MCP gateway connecting AI agents to 1683+ live data sources.
Tools
miso_fuel_mix(period?)— MW generated per fuel category (coal, gas, nuclear,
wind, solar, hydro, battery storage, other) plus the footprint total. current (default) = the latest 5-minute interval; today / yesterday = the whole day.
miso_lmp(region?, node?, limit?)— five-minute LMP $/MWh per pricing node with
loss and congestion components and every ancillary-service clearing price (regulation, mileage, spinning, supplemental, short-term reserve, ramp up/down). ~1,600 nodes across the Central, North and South regions.
miso_binding_constraints(kind?)— the flowgates currently binding, with their
shadow price. transmission (default), subregional or reserve.
miso_load()— today's actual load hour by hour against the medium-term load
forecast for the same hours, plus the five-minute total-load series.
miso_wind_solar()— hourly wind and solar forecast vs actual MW.
Auth
Keyless. No registration, no key, no rate-limit documented.
Data sources
- — the live public API. Endpoint index is
rendered as HTML at the root of that host.
- — MISO's own
page for these feeds.
Traps
The endpoint everyone still cites is a silent zero. MISO's long-documented Real-Time Data Broker —
https://api.misoenergy.org/MISORTWDDataBroker/DataBrokerServices.asmx ?messageType=getfuelmix&returnType=json
— still resolves, still answers HTTP 200, and returns
{"error": "no data", "See": "https://www.misoenergy.org/markets-and-operations/rtdataapis"}fo
eec5dfa3d098OBSERVED · 2026-10-11Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.
claude mcp add mcp-miso -- npx -y @pipeworx/[email protected]
{
"mcpServers": {
"mcp-miso": {
"command": "npx",
"args": [
"-y",
"@pipeworx/[email protected]"
]
}
}
}Exposed tools (3)
3 read · 0 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
miso_binding_constraints | read | MISO real-time transmission binding constraints — the specific flowgates and facility limits currently constraining the market, with their shadow price ($/MWh of relief). A binding constraint is why LMPs diverge between nodes. Use for |
miso_load | read | MISO real-time total load (electricity demand) for today, hour by hour in MW, alongside the medium-term load forecast for the same hours so actual-vs-forecast is directly comparable. Use for |
miso_wind_solar | read | MISO wind and solar generation for today — hourly forecast vs actual output in MW for both, from the same feed MISO publishes to its operators. Hours that have not happened yet carry a forecast and a null actual (never a fake 0). Use for |
Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- declared (1 observation(s))
- Shell
- none-observed
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (1)
@modelcontextprotocol/sdk, tsx, typescript, @cloudflare/workers-types
Gates applied: no_behavioural_pass.
eec5dfa3d098full audit observations/trust-audit/mcp-server/pipeworx-io__mcp-miso.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-11 | eec5dfa3d098 | SAFE | B | 89 | first audit |
Questions
What is the mcp-miso MCP server?
Real-time electricity data for MISO, the grid operator for 15 US states from Louisiana to Minnesota plus Manitoba: generation by fuel type, power demand, five-minute wholesale electricity prices, wind and solar output, and the transmission constraints driving congestion.
What tools does mcp-miso expose?
3 in total: 3 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is mcp-miso safe to connect to an agent?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.
What credentials does mcp-miso need?
No credential environment variables were found in its source, so it appears to need none.
How does mcp-miso run?
It speaks stdio and streamable-http, so it runs as a local process your client starts. It is published on npm as @pipeworx/mcp-miso at 0.1.1.
How current is this page?
The grade is for one exact copy of the source (eec5dfa3d098), read on 2026-10-11. The repository is watched and re-audited when it changes.