Solar indices and space weather MCP server. SFI, SSN, Kp, DSCOVR, NOAA alerts.
Runs on your machine from its package; the steps are below.
At most: only reads or looks up information.
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally over stdio
This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).
Run
uvx solar-mcp
MCP client config
{
"mcpServers": {
"solar": {
"command": "uvx",
"args": [
"solar-mcp"
]
}
}
}MCP server for space weather and HF propagation conditions — live solar flux, Kp index, DSCOVR solar wind, X-ray flux, alerts, 27-day forecast, and band-by-band outlook through any MCP-compatible AI assistant.
Part of the qso-graph project. No authentication required — all data from NOAA SWPC public endpoints.
uvx solar-mcp # run it; nothing to install
| Tool | Description |
|---|---|
solar_conditions | Current SFI, Kp, and NOAA R/S/G space weather scales |
solar_forecast | 27-day SFI and Kp forecast from NOAA |
solar_alerts | Active space weather alerts and warnings |
solar_wind | Real-time DSCOVR L1 solar wind (Bz, speed, density) |
solar_xray | GOES X-ray flux and solar flare classification |
solar_band_outlook | HF band-by-band propagation assessment (160m-6m) |
get_version_info | Service version + upstream spec version (fleet identity attestation) |
No credentials needed — just install and configure your MCP client.
Add to claude_desktop_config.json (~/Library/Application Support/Claude/ on macOS, %APPDATA%\Claude\ on Windows):
{
"mcpServers": {
"solar": {
"command": "uvx",
"args": ["solar-mcp"]
}
}
}
Add to .claude/settings.json:
{
"mcpServers": {
"solar": {
"command": "uvx",
"args": ["solar-mcp"]
}
}
}
{
"mcpServers": {
"solar": {
"command": "uvx",
"args": ["solar-mcp"]
}
}
}
Add to .cursor/mcp.json (project-level) or ~/.cursor/mcp.json (global):
{
"mcpServers": {
"solar": {
"command": "uvx",
"args": ["solar-mcp"]
}
}
}
Add to .vscode/mcp.json in your workspace:
{
"servers": {
"solar": {
"command": "uvx",
"args": ["solar-mcp"]
}
}
}
Add to ~/.gemini/settings.json (global) or .gemini/settings.json (project):
{
"mcpServers": {
"solar": {
"command": "uvx",
"args": ["solar-mcp"]
}
}
}
"What are the current solar conditions?"
"Is the solar wind causing any geomagnetic disturbance?"
"What's the 27-day solar forecast look like?"
"Are any bands open right now on HF?"
"Are there any active space weather alerts?"
"What class solar flare is happening?"
Every value comes from a public NOAA Space Weather Prediction Center endpoint at services.swpc.noaa.gov:
| Data | Endpoint | Used by |
|---|---|---|
| 10.7 cm solar flux (SFI) | /products/summary/10cm-flux.json | solar_conditions, solar_band_outlook |
| Planetary K-index | /products/noaa-planetary-k-index.json | solar_conditions, solar_band_outlook |
| NOAA R/S/G scales | /products/noaa-scales.json | solar_conditions |
| Space weather alerts | /products/alerts.json | solar_alerts |
| 27-day outlook | /text/27-day-outlook.txt | solar_forecast |
| Solar wind (real-time, 1 minute) | /json/rtsw/rtsw_wind_1m.json, /json/rtsw/rtsw_mag_1m.json | solar_wind |
| GOES X-ray flux | /json/goes/primary/xrays-6-hour.json | solar_xray |
SOLAR_MCP_MOCK=1 solar-mcp
solar-mcp --transport streamable-http --port 8008
git clone https://github.com/qso-graph/solar-mcp.git
cd solar-mcp
uv sync --group dev
uv run pytest
GPL-3.0-or-later