get_current_kp
Current planetary Kp index: latest value, level (low/moderate/high/severe) and the observed 24-hour maximum.
Takes no parameters.

today.solarstormPublished by solarstorm.todayOfficial publisherv1.0.3Updated Oct 24, 2026
Space weather: Kp index, NOAA 3-day geomagnetic forecast, solar flares, aurora visibility.
Remote MCP server that gives an assistant live NOAA space weather data: Kp index, 3-day geomagnetic forecast, solar flares and aurora visibility by latitude.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/today.solarstorm%2Fsolarstorm/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Add this to your client's mcpServers config.
{
"mcpServers": {
"solarstorm": {
"type": "http",
"url": "https://mcp.solarstorm.today/mcp"
}
}
}[MCP Registry] [Registry version] [tests] [Python] [License: MIT] [Hosted]
Live space weather for AI assistants. This MCP server exposes NOAA SWPC data — the planetary Kp index, the official 3-day geomagnetic forecast, GOES solar flare activity, and aurora visibility for any latitude — as four tools your agent can call directly.
It runs the same logic as solarstorm.today, so answers match what the site shows. No API keys, no accounts, no state.
Ask your assistant: "Will I see the aurora in Vienna tonight?" → it calls
get_aurora_visibility(48.2)and answers from live NOAA data.
Network or format errors from NOAA come back as an error field. The server
never crashes on a bad upstream response.
A public instance is running at https://mcp.solarstorm.today/mcp.
Claude Code
Claude Desktop / claude.ai — add a custom connector pointing at
https://mcp.solarstorm.today/mcp.
Any other MCP client — streamable HTTP transport, same URL, no auth.
Requires Python 3.10+ — the floor set by the mcp SDK.
claude_desktop_config.json:
Claude Code:
Three environment variables control the transport:
/etc/systemd/system/solarstorm-mcp.service:
nginx in front, on a subdomain with a TLS certificate:
One thing that bites people: the MCP SDK rejects requests whose Host header
doesn't match what it expects (DNS-rebinding protection). If handshakes fail
with a 4xx while the service itself is healthy, check what Host your proxy
forwards.
services.swpc.noaa.gov — planetary K-index and its
forecast product, plus GOES primary 0.1–0.8 nm X-ray flux. 10-second timeout,
no caching, no keys.estimated, and
predicted points count toward forecasts.The offline suite runs on every push against Python 3.10–3.13. The live suite
also runs daily on a schedule, because the one bug that reached production
wasn't a logic error: NOAA's observed feed spells its key Kp while the
forecast feed says kp, so valid 200 responses parsed to zero rows. Only a
real call catches that kind of drift.
MIT — see LICENSE.
Source: README.md at commit 6d0fed8
Current planetary Kp index: latest value, level (low/moderate/high/severe) and the observed 24-hour maximum.
Takes no parameters.
Official NOAA 3-day geomagnetic forecast: the maximum expected Kp per calendar day (Europe/Berlin days).
Takes no parameters.
Solar X-ray activity of the past 24 hours from GOES: current flare class and the 24-hour peak class.
Takes no parameters.
Aurora visibility outlook for a geographic latitude (degrees, e.g. 48.2 for Vienna): the Kp you need there, the expected maximum Kp in the next 24 h, and a verdict.
latituderequired100% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
// get_current_kp(){ "kp": 4.33, "level": "moderate", "time_utc": "2026-08-27T18:00:00+00:00", "max_24h": 5.67, "source": "NOAA SWPC"}
// get_kp_forecast_3day(){ "days": [ { "date": "2026-08-27", "max_kp": 5.67, "level": "high" }, { "date": "2026-08-28", "max_kp": 4.0, "level": "moderate" }, { "date": "2026-08-29", "max_kp": 2.33, "level": "low" } ], "timezone": "Europe/Berlin", "source": "NOAA SWPC", "note": "Kp>=5 is a G1 geomagnetic storm on the NOAA scale."}
// get_solar_flares_24h(){ "current_class": "C2.1", "peak_24h_class": "M6.9", "peak_time_utc": "2026-08-27T04:12:00Z", "source": "NOAA GOES (0.1-0.8 nm)"}
// get_aurora_visibility(48.2){ "latitude": 48.2, "kp_needed_naked_eye": 8, "forecast_max_kp_24h": 5.67, "visible_tonight": false, "verdict": "Unlikely: forecast max Kp 5.7 is 2.3 below the ~Kp 8 needed at 48.2°. A camera picks aurora up roughly one Kp level earlier.", "details": "https://solarstorm.today/aurora-tonight/"}claude mcp add --transport http solarstorm https://mcp.solarstorm.today/mcpgit clone https://github.com/newminya/solarstorm-mcp.gitcd solarstorm-mcppip install -r requirements.txtpython server.py # waits for a stdio client; Ctrl+C to quit{ "mcpServers": { "solarstorm": { "command": "python", "args": ["/absolute/path/to/solarstorm-mcp/server.py"] } }}claude mcp add solarstorm -- python /absolute/path/to/solarstorm-mcp/server.pymkdir -p /opt/solarstorm-mcp && cd /opt/solarstorm-mcp# copy server.py and requirements.txt herepython3 -m venv venv && venv/bin/pip install -r requirements.txt[Unit]Description=solarstorm.today MCP serverAfter=network.target
[Service]WorkingDirectory=/opt/solarstorm-mcpEnvironment=MCP_TRANSPORT=streamable-httpEnvironment=MCP_HOST=127.0.0.1Environment=MCP_PORT=8765ExecStart=/opt/solarstorm-mcp/venv/bin/python server.pyRestart=alwaysRestartSec=5
[Install]WantedBy=multi-user.targetsystemctl daemon-reload && systemctl enable --now solarstorm-mcpsystemctl status solarstorm-mcpserver { server_name mcp.example.com; location /mcp { proxy_pass http://127.0.0.1:8765/mcp; proxy_http_version 1.1; proxy_set_header Host $host; proxy_buffering off; proxy_read_timeout 3600s; } # + certbot TLS lines}pip install -r requirements-dev.txtpytest -m "not live" # offline: parsing, thresholds, formattingpytest -m live # hits NOAA, asserts the live response contract