Atlas / MCP servers / pipeworx-io / mcp-miso

mcp-misoSAFE

mcp/pipeworx-io/mcp-miso

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.

Verdict
SAFE
Grade
B
Trust score
89 /100
Exposed tools
3 3r · 0w · 0d
Transport
stdio · streamable-http
License
MIT
Stars
0
01

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

Read from source at commit eec5dfa3d098OBSERVED · 2026-10-11
02

Connect

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-code
claude mcp add mcp-miso -- npx -y @pipeworx/[email protected]
claude-desktop
{
  "mcpServers": {
    "mcp-miso": {
      "command": "npx",
      "args": [
        "-y",
        "@pipeworx/[email protected]"
      ]
    }
  }
}
03

Exposed tools (3)

3 read · 0 write · 0 destructive.

ToolRiskDescription
miso_binding_constraintsreadMISO 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_loadreadMISO 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_solarreadMISO 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
04

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.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codePASS
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (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)

LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
package.json
@modelcontextprotocol/sdk, tsx, typescript, @cloudflare/workers-types
Why it matters. 4 dependency range(s) float
Fix. pin exact versions or ship a lockfile

Gates applied: no_behavioural_pass.

Audited 2026-10-11 · audit v0.4.1 · source sha eec5dfa3d098full audit observations/trust-audit/mcp-server/pipeworx-io__mcp-miso.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-11eec5dfa3d098SAFEB89first audit
06

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.

Advertisement