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.
Install
uvx solar-mcp # run it; nothing to install
Tools
| 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), each band rated on the scale in BAND-OUTLOOK.md |
get_version_info | Service version + upstream spec version (fleet identity attestation) |
Quick Start
No credentials needed — just install and configure your MCP client.
Configure your MCP client
Claude Desktop
Add to claude_desktop_config.json (~/Library/Application Support/Claude/ on macOS, %APPDATA%\Claude\ on Windows):
{
"mcpServers": {
"solar": {
"command": "uvx",
"args": ["solar-mcp"]
}
}
}
Claude Code
Add to .claude/settings.json:
{
"mcpServers": {
"solar": {
"command": "uvx",
"args": ["solar-mcp"]
}
}
}
ChatGPT Desktop
{
"mcpServers": {
"solar": {
"command": "uvx",
"args": ["solar-mcp"]
}
}
}
Cursor
Add to .cursor/mcp.json (project-level) or ~/.cursor/mcp.json (global):
{
"mcpServers": {
"solar": {
"command": "uvx",
"args": ["solar-mcp"]
}
}
}
VS Code / GitHub Copilot
Add to .vscode/mcp.json in your workspace:
{
"servers": {
"solar": {
"command": "uvx",
"args": ["solar-mcp"]
}
}
}
Gemini CLI
Add to ~/.gemini/settings.json (global) or .gemini/settings.json (project):
{
"mcpServers": {
"solar": {
"command": "uvx",
"args": ["solar-mcp"]
}
}
}
Ask questions
"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?"
Data Sources
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 |
Testing Without Network
SOLAR_MCP_MOCK=1 solar-mcp
MCP Inspector
solar-mcp --transport streamable-http --port 8008
Development
git clone https://github.com/qso-graph/solar-mcp.git
cd solar-mcp
uv sync --group dev
uv run pytest
License
GPL-3.0-or-later
Tool Reference
Generated from the released server's own tool definitions.
get_version_info
Get solar-mcp service version and upstream spec version.
Returns the running PyPI version of solar-mcp and the NOAA SWPC endpoint set revision currently in use. Use this to confirm fleet alignment across MCP deployments — agents can compare service_version and spec_version across servers to detect drift without going outside the MCP protocol.
No parameters.
solar_alerts
Get active NOAA space weather alerts and warnings.
Shows current solar flare alerts, geomagnetic storm warnings, radiation storm alerts, and other SWPC bulletins.
No parameters.
solar_band_outlook
Get HF band-by-band propagation outlook based on current conditions.
Derives a propagation assessment for each HF band (160m through 6m) from the current SFI and Kp values. Useful for deciding which band to operate on right now.
Each band is rated "<status> — <comment>", the status one of five words defined in BAND-OUTLOOK.md: Excellent (wide open, strong long-lasting DX), Good (regular DX openings in the band's usual hours), Fair (short, patchy or weak openings; DX possible, not dependable), Poor (likely closed for DX, or degraded by absorption and noise), Sporadic (not graded from the indices: 6m opens by sporadic-E, and by F2 at high solar flux). The thresholds are rules of thumb on SFI and Kp, not a propagation model.
No parameters.
solar_conditions
Get current solar conditions — SFI, Kp, and NOAA space weather scales.
Returns the latest 10.7 cm solar flux index (SFI), planetary Kp index, and NOAA R/S/G scales (radio blackout, solar radiation, geomagnetic storm). Includes an HF band outlook derived from current indices.
No parameters.
solar_forecast
Get the NOAA 27-day solar flux and geomagnetic forecast.
Shows predicted SFI and Kp values for the next 27 days, useful for planning DX operations, contests, and POTA/SOTA activations.
No parameters.
solar_wind
Get real-time DSCOVR L1 solar wind data.
Shows interplanetary magnetic field (Bz component), solar wind speed, and proton density from the DSCOVR satellite at L1 (~1.5M km sunward). Southward Bz (negative) drives geomagnetic storms.
No parameters.
solar_xray
Get GOES X-ray flux and solar flare status.
Shows the current X-ray classification (A, B, C, M, X) from GOES satellite data. M and X class flares can cause HF radio blackouts.
No parameters.