Solarstorm

today.solarstorm由 solarstorm.today 發布官方發布者v1.0.3更新於 Oct 24, 2026

Space weather: Kp index, NOAA 3-day geomagnetic forecast, solar flares, aurora visibility.

已驗證Streamable HTTP可網頁執行位置與生活資料與分析

概覽

AI 產生的概覽

遠端 MCP 伺服器,讓助理取得 NOAA 即時太空天氣資料:Kp 指數、3 天地磁預報、太陽閃焰,以及依緯度計算的極光可見度。

可以做什麼
  • 讀取目前地磁活動:最新行星 Kp 值、等級與觀測到的 24 小時最大值
  • 讀取 NOAA 官方 3 天預報:每個日曆日(歐洲/柏林日)的最大預期 Kp
  • 讀取太陽 X 射線活動:目前 GOES 閃焰等級,以及 24 小時峰值與峰值時間
  • 查詢某緯度的極光機率:該地所需 Kp、未來 24 小時預報最大 Kp,以及白話結論
適用情境
適合回答某地今晚看不看得到極光、目前地磁活動有多強、接下來幾天太空天氣如何這類問題。它唯讀、不需要帳號,偶爾觀星或詢問太空天氣時加入成本很低。
執行需求
需要一個遠端 streamable HTTP 端點;不需 API 金鑰、帳號或狀態。README 另說明可用 Python 3.10+ 與 mcp SDK 在本機執行,或以 MCP_TRANSPORT、MCP_HOST、MCP_PORT 自行架設。伺服器本身需連線 NOAA SWPC 資料。
安裝前請注意
唯讀:只回報資料,不會變更任何內容。數值來自 NOAA SWPC,逾時 10 秒且不快取,上游出錯時以 error 欄位回傳。預報以歐洲/柏林時間劃分日期,且模型未納入行星際磁場 Bz 分量,因此極光結論只是機率而非保證。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Solarstorm,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/today.solarstorm%2Fsolarstorm/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "solarstorm": {
      "type": "http",
      "url": "https://mcp.solarstorm.today/mcp"
    }
  }
}

README

solarstorm.today MCP server

[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.

Tools

ToolReturns
get_current_kp()Latest planetary Kp, level (low/moderate/high/severe), observed 24-hour maximum
get_kp_forecast_3day()Maximum forecast Kp per calendar day for the next 3 days (Europe/Berlin days)
get_solar_flares_24h()Current GOES X-ray flare class and the 24-hour peak, with peak time
get_aurora_visibility(latitude)Kp needed at that latitude, forecast max Kp for the next 24 h, and a plain-language verdict
Example responses
jsonc
// 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/"}

Network or format errors from NOAA come back as an error field. The server never crashes on a bad upstream response.

Use the hosted server (no install)

A public instance is running at https://mcp.solarstorm.today/mcp.

Claude Code

bash
claude mcp add --transport http solarstorm https://mcp.solarstorm.today/mcp

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.

Run it locally (stdio)

Requires Python 3.10+ — the floor set by the mcp SDK.

bash
git 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

claude_desktop_config.json:

json
{  "mcpServers": {    "solarstorm": {      "command": "python",      "args": ["/absolute/path/to/solarstorm-mcp/server.py"]    }  }}

Claude Code:

bash
claude mcp add solarstorm -- python /absolute/path/to/solarstorm-mcp/server.py

Self-host it (streamable HTTP)

Three environment variables control the transport:

VariableDefaultPurpose
MCP_TRANSPORTstdioSet to streamable-http for a network server
MCP_HOST0.0.0.0Bind address — use 127.0.0.1 behind a reverse proxy
MCP_PORT8765Listen port
systemd + reverse proxy
bash
mkdir -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

/etc/systemd/system/solarstorm-mcp.service:

ini
[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.target
bash
systemctl daemon-reload && systemctl enable --now solarstorm-mcpsystemctl status solarstorm-mcp

nginx in front, on a subdomain with a TLS certificate:

nginx
server {    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}

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.

How the numbers are derived

  • Data sources. 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.
  • Daily maxima are bucketed by Europe/Berlin calendar days, matching the site's German-language audience. Only observed-blank, estimated, and predicted points count toward forecasts.
  • Flare classes convert X-ray flux to the standard A/B/C/M/X scale (X ≥ 1e-4 W/m², M ≥ 1e-5, and so on).
  • Aurora thresholds are European-sector guide values for naked-eye visibility: Kp 1 above 66°, 3 above 62°, 4.5 above 58°, 6 above 55°, 7 above 52°, 8 above 48°, 9 above 44.5°. Below ~44.5° only extreme historical storms qualify. A camera typically catches aurora about one Kp level earlier than the eye does.
  • Not modelled: the Bz component of the interplanetary magnetic field. A southward Bz makes a given Kp far more productive, and it can't be forecast days ahead — treat verdicts as odds, not promises.

Related

Tests

bash
pip install -r requirements-dev.txtpytest -m "not live"    # offline: parsing, thresholds, formattingpytest -m live          # hits NOAA, asserts the live response contract

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.

License

MIT — see LICENSE.

來源:README.md,提交 6d0fed8

工具

4

get_current_kp

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

無需輸入參數。

get_kp_forecast_3day

Official NOAA 3-day geomagnetic forecast: the maximum expected Kp per calendar day (Europe/Berlin days).

無需輸入參數。

get_solar_flares_24h

Solar X-ray activity of the past 24 hours from GOES: current flare class and the 24-hour peak class.

無需輸入參數。

get_aurora_visibility

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.

輸入參數latitude必填

版本歷史

1
  1. v1.0.3最新Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分