How much more can a transmission line carry when you actually look at the weather?
A Dynamic Line Rating (DLR) demo: free NWP forecast data → IEEE 738 conductor ampacity along an 8-span demo corridor near Boise, Idaho — live, per span, per hour, as MCP tools any AI agent can call.
Why this exists
Static line ratings assume the worst day of the year: 40 °C air, 2 ft/s of wind, full sun. Real weather is almost always better — and wind direction matters as much as speed, because crosswind cools a conductor far better than parallel wind. This server turns that physics into per-span, per-hour ampacity so the headroom (and the limiting span) is visible at a glance.
This is the productization layer around forecasts — data plumbing, IEEE 738 heat balance, forecast verification, and a clean tool interface. It is deliberately not the science layer (mesoscale modeling, CFD, line sensors).
The five tools
| Tool | Returns |
|---|---|
get_dlr_rating | Per-span IEEE 738 ampacity, limiting span, % uplift vs static rating |
get_corridor_forecast | Per-span hourly 80 m wind, 2 m temperature, solar radiation (HRRR / GFS / ECMWF) |
get_forecast_skill | Forecast vs KBOI observations: bias / MAE / RMSE for temp and wind |
get_station_observations | Latest ASOS/METAR ground truth |
get_fire_weather_alerts | Active NWS alerts at the corridor midpoint |
Verification, not vibes
A rating is only as good as its forecast, so the server verifies itself.
Sample run (July 8, 2026): last 3 days of Open-Meteo forecasts vs 500
hourly KBOI observations — the get_forecast_skill tool
recomputes this live on every call:
| Variable | n | Bias | MAE | RMSE |
|---|---|---|---|---|
| Temperature (°C) | 500 | +0.02 | 0.91 | 1.21 |
| Wind speed (m/s) | 485 | −0.29 | 1.02 | 1.28 |
Physics validated against the published IEEE 738 worked example for 795 kcmil ACSR "Drake" — this implementation reproduces 1025 A with matching heat-balance components (qc ≈ 82 W/m, qr ≈ 39 W/m).
Connect
MCP endpoint (Streamable HTTP): https://gridweather.publicmcp.org/mcp Claude Code: claude mcp add --transport http gridweather https://gridweather.publicmcp.org/mcp
Then ask: "What's the line rating on the corridor right now, and how does tomorrow afternoon look?"
Stack
- Python · FastMCP · httpx — one file, ~400 lines, no database, no scheduler
- Open-Meteo forecast API (HRRR / GFS / ECMWF; free non-commercial) + NWS api.weather.gov
- IEEE 738 simplified steady-state heat balance; conservative fallbacks when fields are null
- Hosted on the PUBLICMCP infrastructure, but private: unlisted, not in the registry