@cyanheads/noaa-spaceweather-mcp-server

v0.1.4 pre-1.0

Query NOAA SWPC space weather: geomagnetic storm scales, Kp index, aurora forecasts, solar wind, solar activity, and alerts via MCP. STDIO or Streamable HTTP.

@cyanheads/noaa-spaceweather-mcp-server
claude mcp add --transport http noaa-spaceweather-mcp-server https://noaa-spaceweather.caseyjhand.com/mcp
codex mcp add noaa-spaceweather-mcp-server --url https://noaa-spaceweather.caseyjhand.com/mcp
{
  "mcpServers": {
    "noaa-spaceweather-mcp-server": {
      "url": "https://noaa-spaceweather.caseyjhand.com/mcp"
    }
  }
}
gemini mcp add --transport http noaa-spaceweather-mcp-server https://noaa-spaceweather.caseyjhand.com/mcp
{
  "mcpServers": {
    "noaa-spaceweather-mcp-server": {
      "command": "bunx",
      "args": [
        "@cyanheads/noaa-spaceweather-mcp-server@latest"
      ]
    }
  }
}
{
  "mcpServers": {
    "noaa-spaceweather-mcp-server": {
      "type": "http",
      "url": "https://noaa-spaceweather.caseyjhand.com/mcp"
    }
  }
}
curl -X POST https://noaa-spaceweather.caseyjhand.com/mcp \
  -H "Content-Type: application/json" \
  -H "MCP-Protocol-Version: 2025-11-25" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"curl","version":"1.0.0"}}}'

Tools

6

noaa_spaceweather_get_conditions

open-world

Current space-weather snapshot: NOAA R/S/G storm scales (today + 3-day forecast), latest Kp index with its G-scale equivalent and aurora-visibility latitude, and a plain-language status summary. The quickest way to answer "is anything happening right now?" — use before deciding whether to drill into solar wind (noaa_spaceweather_get_solar_wind), aurora (noaa_spaceweather_get_aurora_forecast), or alert details (noaa_spaceweather_get_alerts).

read
invocation
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "noaa_spaceweather_get_conditions",
    "arguments": {}
  }
}
schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
view source ↗

noaa_spaceweather_get_alerts

open-world

Active SWPC alerts, watches, and warnings — parsed into structured records with product type, severity level, issue time, validity window, and plain text. Covers geomagnetic storms, radio blackouts, radiation storms, and aurora bulletins. With active_only=false, also returns informational summaries and expired notices. max_age_hours controls how far back to look (default 48 h); the SWPC feed keeps all historical records and has no built-in expiry.

read
invocation
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "noaa_spaceweather_get_alerts",
    "arguments": {}
  }
}
schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "active_only": {
      "default": true,
      "description": "When true (default), return only Warnings, Watches, and Alerts; exclude Summaries and Other. Set false to return all products.",
      "type": "boolean"
    },
    "max_age_hours": {
      "default": 48,
      "description": "Maximum age of alerts to return, in hours (default 48). The SWPC feed retains all historical records — this window prevents returning weeks of historical notices as \"active.\"",
      "type": "number",
      "minimum": 1,
      "maximum": 720
    }
  },
  "required": [
    "active_only",
    "max_age_hours"
  ],
  "additionalProperties": false
}
view source ↗

noaa_spaceweather_get_kp_index

open-world

Planetary K-index (0–9 geomagnetic activity scale) — recent observed 3-hour values with their NOAA G-scale equivalents and aurora-latitude guidance, plus the 3-day Kp forecast series. Kp is the primary driver of aurora visibility and geomagnetic storm severity: Kp≥5 is G1, Kp≥7 is G3 (aurora to ~50°), Kp≥9 is G5 extreme. Use noaa_spaceweather_get_conditions for a combined snapshot including storm scales; use this tool when you need the Kp time series or forecast detail.

read
invocation
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "noaa_spaceweather_get_kp_index",
    "arguments": {}
  }
}
schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "window_days": {
      "default": 1,
      "description": "Number of past days of observed Kp to return (1–7, default 1). Larger windows show trend context.",
      "type": "integer",
      "minimum": 1,
      "maximum": 7
    }
  },
  "required": [
    "window_days"
  ],
  "additionalProperties": false
}
view source ↗

noaa_spaceweather_get_solar_wind

open-world

Real-time solar wind data from DSCOVR at L1: proton speed (km/s), density (n/cm³), temperature (K), and the critical Bz component (southward Bz = negative = storm driver). Returns the recent plasma and magnetic field time series within the requested window. Bz < −10 nT for sustained periods is a primary geomagnetic storm trigger — use alongside noaa_spaceweather_get_kp_index to see whether elevated solar wind has translated into a geomagnetic storm.

read
invocation
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "noaa_spaceweather_get_solar_wind",
    "arguments": {}
  }
}
schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "window_hours": {
      "default": 3,
      "description": "Hours of recent solar wind history to return (1–168, default 3). Feeds update ~every 1 min.",
      "type": "integer",
      "minimum": 1,
      "maximum": 168
    }
  },
  "required": [
    "window_hours"
  ],
  "additionalProperties": false
}
view source ↗

noaa_spaceweather_get_solar_activity

open-world

Solar flare and radiation storm picture: recent GOES X-ray flux with flare-class labels (A/B/C/M/X), 3-day flare-class probabilities (C/M/X), active solar regions with per-region flare probabilities, and GOES integral proton flux at ≥10 MeV with NOAA S-scale. For operators tracking HF radio blackout (R-scale, driven by X-ray) and radiation storm risk (S-scale, driven by protons). Active region data helps identify which region is driving current activity.

read
invocation
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "noaa_spaceweather_get_solar_activity",
    "arguments": {}
  }
}
schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "include_regions": {
      "default": true,
      "description": "Include active solar region details (default true). Set false to skip region data and reduce response size.",
      "type": "boolean"
    }
  },
  "required": [
    "include_regions"
  ],
  "additionalProperties": false
}
view source ↗

noaa_spaceweather_get_aurora_forecast

open-world

OVATION model aurora forecast for the next ~30–60 min: global grid of aurora probability percentages by latitude/longitude (1° resolution). With optional coordinates, returns the local aurora probability at the nearest grid point, the minimum Kp needed for aurora at that latitude, and a plain-language go/no-go verdict. Without coordinates, returns only global metadata. Data updates every ~5 minutes. Coordinates are geographic (WGS84), not geomagnetic.

read
invocation
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "noaa_spaceweather_get_aurora_forecast",
    "arguments": {}
  }
}
schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "latitude": {
      "description": "Geographic latitude in degrees (−90 to 90). Provide with longitude for a local aurora probability lookup.",
      "type": "number",
      "minimum": -90,
      "maximum": 90
    },
    "longitude": {
      "description": "Geographic longitude in degrees (−180 to 180). Provide with latitude for a local aurora probability lookup.",
      "type": "number",
      "minimum": -180,
      "maximum": 180
    }
  },
  "additionalProperties": false
}
view source ↗