关于 solarstorm
solarstorm 是为 AI 助手提供实时空间天气数据的 MCP 服务,数据来自 NOAA SWPC。它提供 Kp 指数、地磁预报、太阳耀斑和按纬度估算的极光可见性。
主要功能
- 01查询当前 Kp 指数及级别
- 02获取未来 3 天地磁预报
- 03查看 24 小时太阳耀斑活动
- 04按纬度估算极光可见性
- 05处理 NOAA 响应错误
适用场景
- 01判断某地当晚是否可能看到极光
- 02查看近期地磁活动趋势
- 03检查 GOES 太阳耀斑强度
MCP 相关
该 MCP 服务向客户端提供四种空间天气查询工具,数据取自 NOAA SWPC。可通过托管的 streamable HTTP 端点或本地 stdio 连接。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.solarstorm.today/mcpclaude mcp add --transport http today-solarstorm-solarstorm https://mcp.solarstorm.today/mcp{"mcpServers":{"today-solarstorm-solarstorm":{"type":"http","url":"https://mcp.solarstorm.today/mcp"}}}在 Cursor 中打开{"servers":{"today-solarstorm-solarstorm":{"type":"http","url":"https://mcp.solarstorm.today/mcp"}}}在 VS Code 中打开{"mcpServers":{"today-solarstorm-solarstorm":{"type":"http","url":"https://mcp.solarstorm.today/mcp"}}}{"mcpServers":{"today-solarstorm-solarstorm":{"serverUrl":"https://mcp.solarstorm.today/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
4此工具无需参数。
详细介绍
solarstorm.today MCP 服务
为 AI 助手提供实时太空天气。此 MCP 服务公开 NOAA SWPC 数据——行星 Kp 指数、官方 3 天地磁预报、GOES 太阳耀斑活动,以及任意纬度的极光可见性——并提供 4 个可由 Agent 直接调用的工具。
它运行的逻辑与 solarstorm.today 相同,因此回答与网站显示的内容一致。无需 API 密钥、无需账户,也不保存状态。
问问你的助手: “今晚我在维也纳能看到极光吗?” → 它会调用
get_aurora_visibility(48.2),并根据 NOAA 实时数据作答。
工具
| 工具 | 返回内容 |
|---|---|
get_current_kp() | 最新行星 Kp 指数、等级(low/moderate/high/severe)、观测到的 24 小时最大值 |
get_kp_forecast_3day() | 接下来 3 天每个日历日的最大预报 Kp 指数(按 Europe/Berlin 时区划分日期) |
get_solar_flares_24h() | 当前 GOES X 射线耀斑等级和 24 小时峰值,以及峰值时间 |
get_aurora_visibility(latitude) | 该纬度所需的 Kp 指数、未来 24 小时的预报最大 Kp 指数,以及通俗易懂的结论 |
响应示例
// 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/"
}
NOAA 返回的网络或格式错误会显示在 error 字段中。上游响应异常时,服务绝不会崩溃。
使用托管服务(无需安装)
公共实例运行在 https://mcp.solarstorm.today/mcp。
Claude Code
claude mcp add --transport http solarstorm https://mcp.solarstorm.today/mcp
Claude Desktop / claude.ai — 添加一个指向
https://mcp.solarstorm.today/mcp 的自定义连接器。
其他任意 MCP 客户端 — 使用可流式 HTTP 传输,URL 相同,无需身份验证。
在本地运行(stdio)
需要 Python 3.10+——这是 mcp SDK 要求的最低版本。
git clone https://github.com/newminya/solarstorm-mcp.git
cd solarstorm-mcp
pip install -r requirements.txt
python server.py # waits for a stdio client; Ctrl+C to quit
claude_desktop_config.json:
{
"mcpServers": {
"solarstorm": {
"command": "python",
"args": ["/absolute/path/to/solarstorm-mcp/server.py"]
}
}
}
Claude Code:
claude mcp add solarstorm -- python /absolute/path/to/solarstorm-mcp/server.py
自托管(可流式 HTTP)
以下 3 个环境变量用于控制传输:
| 变量 | 默认值 | 用途 |
|---|---|---|
MCP_TRANSPORT | stdio | 设置为 streamable-http 以运行网络服务 |
MCP_HOST | 0.0.0.0 | 绑定地址——在反向代理后方时使用 127.0.0.1 |
MCP_PORT | 8765 | 监听端口 |
systemd + 反向代理
mkdir -p /opt/solarstorm-mcp && cd /opt/solarstorm-mcp
# copy server.py and requirements.txt here
python3 -m venv venv && venv/bin/pip install -r requirements.txt
/etc/systemd/system/solarstorm-mcp.service:
[Unit]
Description=solarstorm.today MCP server
After=network.target
[Service]
WorkingDirectory=/opt/solarstorm-mcp
Environment=MCP_TRANSPORT=streamable-http
Environment=MCP_HOST=127.0.0.1
Environment=MCP_PORT=8765
ExecStart=/opt/solarstorm-mcp/venv/bin/python server.py
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
systemctl daemon-reload && systemctl enable --now solarstorm-mcp
systemctl status solarstorm-mcp
在前端使用 nginx,通过带有 TLS 证书的子域名提供服务:
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
}
有一点容易让人踩坑:MCP SDK 会拒绝 Host 标头与预期不符的请求(DNS 重绑定保护)。如果握手失败并返回 4xx,但服务本身运行正常,请检查代理转发的 Host 是什么。
- 数据来源。
services.swpc.noaa.gov— 行星 K 指数及其预报产品,以及 GOES 主 X 射线通量(0.1–0.8 nm)。超时时间为 10 秒,不缓存,无需密钥。 - 每日最大值按 Europe/Berlin 日历日分组,以匹配该网站的德语受众。只有观测值为空、
estimated和predicted的数据点才计入预报。 - 耀斑等级将 X 射线通量换算为标准 A/B/C/M/X 等级(X ≥ 1e-4 W/m²,M ≥ 1e-5,依此类推)。
- 极光阈值是欧洲区域肉眼可见度的参考值:纬度高于 66° 时 Kp 1,高于 62° 时 Kp 3,高于 58° 时 Kp 4.5,高于 55° 时 Kp 6,高于 52° 时 Kp 7,高于 48° 时 Kp 8,高于 44.5° 时 Kp 9。在约 44.5° 以下,只有极端历史磁暴才符合条件。相机通常能比肉眼早一个 Kp 等级捕捉到极光。
- **未建模因素:**行星际磁场的 Bz 分量。向南的 Bz 会让相同 Kp 值产生强得多的效果,而且无法提前数天预测——请将判定视为概率,而非保证。
相关内容
- solarstorm.today — 本项目镜像的网站(EN/DE)
- 今晚的极光 — 包含 NOAA OVATION 椭圆的实时地图
- 3 日预报
- 关于此 MCP 服务
测试
pip install -r requirements-dev.txt
pytest -m "not live" # offline: parsing, thresholds, formatting
pytest -m live # hits NOAA, asserts the live response contract
每次推送时,离线测试套件都会针对 Python 3.10–3.13 运行。在线测试套件也会按计划每天运行,因为曾进入生产环境的唯一一个 bug 并非逻辑错误:NOAA 的观测数据源将键写作 Kp,而预报数据源则写作 kp,因此有效的 200 响应被解析成了零行。只有实际调用才能发现这类变化。
许可证
MIT — 详见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。