Live · NOAA SWPC + USGS · streaming

The Sun is shouting.
AuroraLens listens.

Real-time solar-storm + seismic operations on a living 3D planet — deterministic risk scores, hash-chained audit seals, and an MCP tool interface coding agents can call. Zero API keys.

2.00

Planetary Kp

347 km/s

Solar wind

-1.3 nT

IMF Bz

11

M4.5+ quakes / 24h

26.7 · Unsettled

Storm score

Kp 2.00 planetary indexSolar wind 347 km/sIMF Bz -1.3 nTFlare C2.2Flare C2.6Flare C4CONTINUED ALERT: Electron 2MeV Integral Flux exceeded 1,000pfuALERT: Type II Radio EmissionWATCH: Geomagnetic Storm Category G1 PredictedM6.1 — 156 km SE of Hasaki, JapanStorm score 26.7 (Unsettled)Kp 2.00 planetary indexSolar wind 347 km/sIMF Bz -1.3 nTFlare C2.2Flare C2.6Flare C4CONTINUED ALERT: Electron 2MeV Integral Flux exceeded 1,000pfuALERT: Type II Radio EmissionWATCH: Geomagnetic Storm Category G1 PredictedM6.1 — 156 km SE of Hasaki, JapanStorm score 26.7 (Unsettled)

01 — Live

Two planetary feeds, one normalized stream

NOAA's Space Weather Prediction Center and the USGS earthquake feed, polled through cached API routes with sealed offline fallbacks — the demo never goes dark.

Solar wind · L1 point

Speed
347 km/s
Density
3.3 p/cm³
Bz / Bt
-1.3 / 4.9 nT
Source
live

Flares + alerts

  • C2.211-06 11:03
  • C2.611-06 08:36
  • C411-06 08:00
  • ⚠ CONTINUED ALERT: Electron 2MeV Integral Flux exceeded 1,000pfu
  • ⚠ ALERT: Type II Radio Emission

Strongest quakes · 24h

  • M6.1 · 156 km SE of Hasaki, Japan11-06
  • M6.1 · Fiji region11-05
  • M5.0 · 130 km NE of Thang, India11-05
  • M4.9 · 41 km SW of Balangonan, Philippines11-06

02 — Engine

One deterministic score, fully itemized

No black boxes: six weighted factors turn Kp, solar wind, Bz, flares, alerts and seismic context into a 0–100 score. The same function powers this page, the REST API and every MCP tool.

26.7Unsettled
Planetary K-indexKp 2.00 · 22.2 × 0.3

Kp 0-9 linearly scaled. Kp≥5 is NOAA G1 storm threshold.

Solar wind speed347 km/s · 9.3 × 0.2

300 km/s = calm baseline, 800 km/s = extreme driver.

IMF Bz (southward)Bz -1.3 nT · 6.3 × 0.2

Southward Bz (negative) reconnects with Earth's field. -20 nT = full points.

Strongest flareC2.2 · 30 × 0.15

GOES X-ray class: A/B background, C minor, M radio-blackout risk, X extreme.

Active SWPC alerts10 active · 100 × 0.1

Count of live NOAA watches/warnings, capped at 10.

Seismic contextM6.1 max · 45.7 × 0.05

Largest M4.5+ quake in 24h. Context only — quakes do not cause storms.

03 — Planet

The whole storm, on one globe

USGS quakes as glowing points, storm-impact arcs and pulsing auroral-oval rings on a night-earth globe. Drag to take over — it resumes its watch when you let go.

Igniting 3D planet…

3D by react-globe.gl · 11 quakes plotted · live feed

04 — Agents

Your coding agent can fly this

A JSON-RPC MCP interface over the exact same data and engine. Prove it to yourself — the console below is live.

MCP JSON-RPC · POST /api/mcp
Click "Run full demo" — tools/list → assess_storm, live in this page.

curl it

curl -s https://aurora-lens-ruddy.vercel.app/api/mcp \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
       "params":{"name":"assess_storm","arguments":{}}}'

mcp.json — add to your agent

{
  "mcpServers": {
    "aurora-lens": {
      "url": "https://aurora-lens-ruddy.vercel.app/api/mcp",
      "transport": "streamable-http"
    }
  }
}

05 — Integrity

Every score is sealed, every seal replays

Each assessment carries SHA-384(prevSeal ‖ canonicalJson) — a hash chain anchored to a daily genesis. Replay any record through /api/verify.

prevSeal e1b09bbd387938b628ef6b329b1f18bdf56d9b83f3678f3bd90b9032c4f4815a…

seal     6bf52c18ff4ef3941b1d8ae62d95c34872ef3ba739c132dcbfb516903c0fa0d8…

verify → POST /api/verify { records: [...] } → { ok: true, checked: n }

Safety note: AuroraLens is an educational space-weather dashboard, not an operational warning system. For grid, aviation or satellite decisions always consult official NOAA SWPC alerts directly.