Skip to main content
Glama

Get Space Weather Conditions

noaa_spaceweather_get_conditions
Read-onlyIdempotent

Current space-weather snapshot: NOAA R/S/G storm scales (the previous UTC day, today, and the 3-day forecast), latest Kp index with its G-scale equivalent and aurora-visibility latitude, and a plain-language status summary. Optionally includes the SWPC forecast discussion explaining what is driving the forecast. 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).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
include_discussionNoAlso fetch SWPC's forecaster-written Forecast Discussion, which explains why the forecast looks the way it does (CME versus coronal-hole stream, expected arrival). Costs one extra upstream request.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
errorNoPresent when the call failed. Absent on success.
todayNoObserved R/S/G levels for today.
summaryNoPlain-language status, e.g. "G2 moderate geomagnetic storm in progress."
forecastNo3-day scale forecast, oldest first; starts with today (the date of observedAt).
currentKpNoLatest observed planetary K-index (0–9).
yesterdayNoR/S/G levels assessed for the previous UTC day (a date, no time). Null when the feed lacks that period or a level; null never means level 0.
discussionNoSWPC Forecast Discussion; null unless include_discussion is true.
observedAtNoISO 8601 UTC time of the scales data period, e.g. "2026-06-04T15:00:00Z".
currentGScaleNoG level (0–5) for currentKp.
auroraLatitudeNoAurora guidance for currentKp, e.g. "Aurora possible to ~55° geomagnetic latitude".

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed39 schema fields changed
    • changedOutput schema / properties / auroraLatitude / description
      Previous value: -"Aurora visibility guidance for current conditions, e.g. \"Aurora possible to ~55° geomagnetic latitude\"."New value: +"Aurora guidance for currentKp, e.g. \"Aurora possible to ~55° geomagnetic latitude\"."
    • changedOutput schema / properties / currentGScale / description
      Previous value: -"NOAA G-scale equivalent for current Kp (0–5)."New value: +"G level (0–5) for currentKp."
    • changedOutput schema / properties / discussion / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "description": "SWPC Forecast Discussion — the forecaster's narrative behind the storm scales. Null when include_discussion is false.",
      -    "properties": {
      -      "issued": {
      -        "description": "ISO 8601 UTC time the discussion was issued, from the product's \":Issued:\" line, e.g. \"2026-06-04T12:30:00Z\". Null when the product carries no such line.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "sections": {
      -        "description": "One entry per topic section, in product order.",
      -        "items": {
      -          "additionalProperties": false,
      -          "description": "One topic section of the discussion — its heading and the forecaster's text.",
      -          "properties": {
      -            "forecast": {
      -              "description": "Forecast text for the next 3 days, or null when the section carries no \".Forecast...\" block.",
      -              "type": [
      -                "string",
      -                "null"
      -              ]
      -            },
      -            "summary": {
      -              "description": "Past-24 h summary text, or null when the section carries no \".24 hr Summary...\" text.",
      -              "type": [
      -                "string",
      -                "null"
      -              ]
      -            },
      -            "topic": {
      -              "description": "Section heading, e.g. \"Solar Activity\", \"Energetic Particle\", \"Solar Wind\", \"Geospace\".",
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "topic",
      -            "summary",
      -            "forecast"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "issued",
      -      "sections"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "description": "SWPC forecaster's narrative behind the scales.",
      +    "properties": {
      +      "issued": {
      +        "description": "ISO 8601 UTC issue time from the \":Issued:\" line; null when absent.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "sections": {
      +        "description": "Topic sections, in product order.",
      +        "items": {
      +          "additionalProperties": false,
      +          "description": "One topic section.",
      +          "properties": {
      +            "forecast": {
      +              "description": "Next-3-day forecast text; null when the section has none.",
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "summary": {
      +              "description": "Past-24 h summary text; null when the section has none.",
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "topic": {
      +              "description": "Section heading, e.g. \"Solar Activity\".",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "topic",
      +            "summary",
      +            "forecast"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "issued",
      +      "sections"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedOutput schema / properties / discussion / description
      Previous value: -"SWPC Forecast Discussion when include_discussion is true, otherwise null."New value: +"SWPC Forecast Discussion; null unless include_discussion is true."
    • changedOutput schema / properties / forecast / description
      Previous value: -"SWPC's 3-day NOAA scale forecast, oldest first. The series starts with today — the same calendar day as observedAt — and covers the next two days."New value: +"3-day scale forecast, oldest first; starts with today (the date of observedAt)."
    • changedOutput schema / properties / forecast / items / description
      Previous value: -"One day of the NOAA scale forecast series."New value: +"One forecast day."
    • changedOutput schema / properties / forecast / items / properties / G / description
      Previous value: -"Geomagnetic storm scale forecast for this day."New value: +"Forecast G level."
    • changedOutput schema / properties / forecast / items / properties / G / properties / label / description
      Previous value: -"NOAA scale string, e.g. \"G2\", \"R1\", \"S0\"."New value: +"Label, e.g. \"G2\"."
    • changedOutput schema / properties / forecast / items / properties / G / properties / scale / description
      Previous value: -"Storm scale level 0–5."New value: +"Level 0–5."
    • changedOutput schema / properties / forecast / items / properties / G / properties / text / description
      Previous value: -"Human-readable scale descriptor, e.g. \"Moderate\". Empty when scale is 0."New value: +"Descriptor, e.g. \"Moderate\"; \"none\" at level 0."
    • changedOutput schema / properties / forecast / items / properties / R / description
      Previous value: -"Radio blackout outlook for this day."New value: +"R outlook: a level, probabilities, or neither."
    • changedOutput schema / properties / forecast / items / properties / R / properties / label / description
      Previous value: -"NOAA scale string, e.g. \"R1\", or null when no level was issued."New value: +"Label, e.g. \"R1\"; null when no level was issued."
    • changedOutput schema / properties / forecast / items / properties / R / properties / majorProbPercent / description
      Previous value: -"Probability (%) of an R3 or greater strong radio blackout on this day, or null when SWPC issued none."New value: +"Chance (%) of an R3+ blackout this day; null when none issued."
    • changedOutput schema / properties / forecast / items / properties / R / properties / minorProbPercent / description
      Previous value: -"Probability (%) of an R1–R2 minor-to-moderate radio blackout on this day, or null when SWPC issued none."New value: +"Chance (%) of an R1–R2 blackout this day; null when none issued."
    • changedOutput schema / properties / forecast / items / properties / R / properties / scale / description
      Previous value: -"R-scale level 0–5, or null — SWPC forecasts a radio-blackout probability for a future day rather than a level."New value: +"R level 0–5; null when SWPC issued a probability, not a level."
    • changedOutput schema / properties / forecast / items / properties / R / properties / text / description
      Previous value: -"Human-readable R-scale descriptor, or null when no level was issued."New value: +"R descriptor; null when no level was issued."
    • changedOutput schema / properties / forecast / items / properties / S / description
      Previous value: -"Solar radiation storm outlook for this day."New value: +"S outlook: a level, a probability, or neither."
    • changedOutput schema / properties / forecast / items / properties / S / properties / label / description
      Previous value: -"NOAA scale string, e.g. \"S1\", or null when no level was issued."New value: +"Label, e.g. \"S1\"; null when no level was issued."
    • changedOutput schema / properties / forecast / items / properties / S / properties / probPercent / description
      Previous value: -"Probability (%) of an S1 or greater solar radiation storm on this day, or null when SWPC issued none."New value: +"Chance (%) of an S1+ radiation storm this day; null when none issued."
    • changedOutput schema / properties / forecast / items / properties / S / properties / scale / description
      Previous value: -"S-scale level 0–5, or null — SWPC forecasts a radiation-storm probability for a future day rather than a level."New value: +"S level 0–5; null when SWPC issued a probability, not a level."
    • changedOutput schema / properties / forecast / items / properties / S / properties / text / description
      Previous value: -"Human-readable S-scale descriptor, or null when no level was issued."New value: +"S descriptor; null when no level was issued."
    • changedOutput schema / properties / forecast / items / properties / date / description
      Previous value: -"Forecast date string, e.g. \"2026-06-04\"."New value: +"Forecast date, e.g. \"2026-06-04\"."
    • changedOutput schema / properties / observedAt / description
      Previous value: -"ISO 8601 UTC date and time of the NOAA scales data period this snapshot reflects, e.g. \"2026-06-04T15:00:00Z\"."New value: +"ISO 8601 UTC time of the scales data period, e.g. \"2026-06-04T15:00:00Z\"."
    • changedOutput schema / properties / summary / description
      Previous value: -"Plain-language status summary suitable for display, e.g. \"Quiet conditions\" or \"G2 moderate geomagnetic storm in progress.\""New value: +"Plain-language status, e.g. \"G2 moderate geomagnetic storm in progress.\""
    • changedOutput schema / properties / today / description
      Previous value: -"Current observed NOAA storm scales for today."New value: +"Observed R/S/G levels for today."
    • changedOutput schema / properties / today / properties / G / description
      Previous value: -"Today's geomagnetic storm scale."New value: +"Today's G level."
    • changedOutput schema / properties / today / properties / G / properties / label / description
      Previous value: -"NOAA scale string, e.g. \"G2\", \"R1\", \"S0\"."New value: +"Label, e.g. \"G2\"."
    • changedOutput schema / properties / today / properties / G / properties / scale / description
      Previous value: -"Storm scale level 0–5."New value: +"Level 0–5."
    • changedOutput schema / properties / today / properties / G / properties / text / description
      Previous value: -"Human-readable scale descriptor, e.g. \"Moderate\". Empty when scale is 0."New value: +"Descriptor, e.g. \"Moderate\"; \"none\" at level 0."
    • changedOutput schema / properties / today / properties / R / description
      Previous value: -"Today's radio blackout scale."New value: +"Today's R level."
    • changedOutput schema / properties / today / properties / R / properties / label / description
      Previous value: -"NOAA scale string, e.g. \"G2\", \"R1\", \"S0\"."New value: +"Label, e.g. \"G2\"."
    • changedOutput schema / properties / today / properties / R / properties / scale / description
      Previous value: -"Storm scale level 0–5."New value: +"Level 0–5."
    • changedOutput schema / properties / today / properties / R / properties / text / description
      Previous value: -"Human-readable scale descriptor, e.g. \"Moderate\". Empty when scale is 0."New value: +"Descriptor, e.g. \"Moderate\"; \"none\" at level 0."
    • changedOutput schema / properties / today / properties / S / description
      Previous value: -"Today's solar radiation storm scale."New value: +"Today's S level."
    • changedOutput schema / properties / today / properties / S / properties / label / description
      Previous value: -"NOAA scale string, e.g. \"G2\", \"R1\", \"S0\"."New value: +"Label, e.g. \"G2\"."
    • changedOutput schema / properties / today / properties / S / properties / scale / description
      Previous value: -"Storm scale level 0–5."New value: +"Level 0–5."
    • changedOutput schema / properties / today / properties / S / properties / text / description
      Previous value: -"Human-readable scale descriptor, e.g. \"Moderate\". Empty when scale is 0."New value: +"Descriptor, e.g. \"Moderate\"; \"none\" at level 0."
    • changedOutput schema / properties / yesterday / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "description": "NOAA R/S/G levels SWPC assessed for the previous UTC day. Carries a date and no time: the feed states when it was generated, not when that day was observed.",
      -    "properties": {
      -      "G": {
      -        "additionalProperties": false,
      -        "description": "Geomagnetic storm level SWPC assessed for the previous UTC day.",
      -        "properties": {
      -          "label": {
      -            "description": "NOAA scale string, e.g. \"G2\", \"R1\", \"S0\".",
      -            "type": "string"
      -          },
      -          "scale": {
      -            "description": "Storm scale level 0–5.",
      -            "type": "number"
      -          },
      -          "text": {
      -            "description": "Human-readable scale descriptor, e.g. \"Moderate\". Empty when scale is 0.",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "scale",
      -          "text",
      -          "label"
      -        ],
      -        "type": "object"
      -      },
      -      "R": {
      -        "additionalProperties": false,
      -        "description": "Radio blackout level SWPC assessed for the previous UTC day.",
      -        "properties": {
      -          "label": {
      -            "description": "NOAA scale string, e.g. \"G2\", \"R1\", \"S0\".",
      -            "type": "string"
      -          },
      -          "scale": {
      -            "description": "Storm scale level 0–5.",
      -            "type": "number"
      -          },
      -          "text": {
      -            "description": "Human-readable scale descriptor, e.g. \"Moderate\". Empty when scale is 0.",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "scale",
      -          "text",
      -          "label"
      -        ],
      -        "type": "object"
      -      },
      -      "S": {
      -        "additionalProperties": false,
      -        "description": "Solar radiation storm level SWPC assessed for the previous UTC day.",
      -        "properties": {
      -          "label": {
      -            "description": "NOAA scale string, e.g. \"G2\", \"R1\", \"S0\".",
      -            "type": "string"
      -          },
      -          "scale": {
      -            "description": "Storm scale level 0–5.",
      -            "type": "number"
      -          },
      -          "text": {
      -            "description": "Human-readable scale descriptor, e.g. \"Moderate\". Empty when scale is 0.",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "scale",
      -          "text",
      -          "label"
      -        ],
      -        "type": "object"
      -      },
      -      "date": {
      -        "description": "The previous UTC calendar day these levels were assessed for, e.g. \"2026-06-03\".",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "date",
      -      "G",
      -      "R",
      -      "S"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "description": "Levels SWPC assessed for the previous UTC day.",
      +    "properties": {
      +      "G": {
      +        "additionalProperties": false,
      +        "description": "Assessed G level.",
      +        "properties": {
      +          "label": {
      +            "description": "Label, e.g. \"G2\".",
      +            "type": "string"
      +          },
      +          "scale": {
      +            "description": "Level 0–5.",
      +            "type": "number"
      +          },
      +          "text": {
      +            "description": "Descriptor, e.g. \"Moderate\"; \"none\" at level 0.",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "scale",
      +          "text",
      +          "label"
      +        ],
      +        "type": "object"
      +      },
      +      "R": {
      +        "additionalProperties": false,
      +        "description": "Assessed R level.",
      +        "properties": {
      +          "label": {
      +            "description": "Label, e.g. \"G2\".",
      +            "type": "string"
      +          },
      +          "scale": {
      +            "description": "Level 0–5.",
      +            "type": "number"
      +          },
      +          "text": {
      +            "description": "Descriptor, e.g. \"Moderate\"; \"none\" at level 0.",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "scale",
      +          "text",
      +          "label"
      +        ],
      +        "type": "object"
      +      },
      +      "S": {
      +        "additionalProperties": false,
      +        "description": "Assessed S level.",
      +        "properties": {
      +          "label": {
      +            "description": "Label, e.g. \"G2\".",
      +            "type": "string"
      +          },
      +          "scale": {
      +            "description": "Level 0–5.",
      +            "type": "number"
      +          },
      +          "text": {
      +            "description": "Descriptor, e.g. \"Moderate\"; \"none\" at level 0.",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "scale",
      +          "text",
      +          "label"
      +        ],
      +        "type": "object"
      +      },
      +      "date": {
      +        "description": "Previous UTC day, e.g. \"2026-06-03\".",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "date",
      +      "G",
      +      "R",
      +      "S"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedOutput schema / properties / yesterday / description
      Previous value: -"NOAA R/S/G levels SWPC assessed for the previous UTC day — answers what happened yesterday without a history call. Null when the scales feed carries no previous-day period, or carries one missing a level; null never means level 0."New value: +"R/S/G levels assessed for the previous UTC day (a date, no time). Null when the feed lacks that period or a level; null never means level 0."
  2. Changed3 schema fields changed
    • changedOutput schema / anyOf
      Previous value: -[
      -  {
      -    "not": {
      -      "required": [
      -        "error"
      -      ]
      -    },
      -    "required": [
      -      "observedAt",
      -      "currentKp",
      -      "currentGScale",
      -      "auroraLatitude",
      -      "today",
      -      "forecast",
      -      "summary",
      -      "discussion"
      -    ]
      -  },
      -  {
      -    "required": [
      -      "error"
      -    ]
      -  }
      -]New value: +[
      +  {
      +    "not": {
      +      "required": [
      +        "error"
      +      ]
      +    },
      +    "required": [
      +      "observedAt",
      +      "currentKp",
      +      "currentGScale",
      +      "auroraLatitude",
      +      "yesterday",
      +      "today",
      +      "forecast",
      +      "summary",
      +      "discussion"
      +    ]
      +  },
      +  {
      +    "required": [
      +      "error"
      +    ]
      +  }
      +]
    • changedOutput schema / properties / error / properties / data / properties / reason / description
      Previous value: -"Machine-readable failure mode. Declared by this tool: `feed_unavailable`: SWPC feed returns 5xx or 429, times out, or answers with a body that is not parseable JSON. Retried before failing. `feed_moved`: SWPC feed path returns a permanent 4xx (404, 410, 401, 403), or a feed answers without the shape it is documented to have — the scales feed no longer carrying its \"0\" (today) period, or the forecast discussion carrying no topic section. Fails in one attempt. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `feed_unavailable`: SWPC feed returns 5xx or 429, times out, or answers with a body that is not parseable JSON. Retried for up to 45 seconds in total before failing. `feed_moved`: SWPC feed path returns a permanent 4xx (404, 410, 401, 403), or a feed answers without the shape it is documented to have — the scales feed no longer carrying its \"0\" (today) period, or the forecast discussion carrying no topic section. Fails in one attempt. Other values are possible when a failure originates below the handler."
    • addedOutput schema / properties / yesterday
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "description": "NOAA R/S/G levels SWPC assessed for the previous UTC day. Carries a date and no time: the feed states when it was generated, not when that day was observed.",
      +      "properties": {
      +        "G": {
      +          "additionalProperties": false,
      +          "description": "Geomagnetic storm level SWPC assessed for the previous UTC day.",
      +          "properties": {
      +            "label": {
      +              "description": "NOAA scale string, e.g. \"G2\", \"R1\", \"S0\".",
      +              "type": "string"
      +            },
      +            "scale": {
      +              "description": "Storm scale level 0–5.",
      +              "type": "number"
      +            },
      +            "text": {
      +              "description": "Human-readable scale descriptor, e.g. \"Moderate\". Empty when scale is 0.",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "scale",
      +            "text",
      +            "label"
      +          ],
      +          "type": "object"
      +        },
      +        "R": {
      +          "additionalProperties": false,
      +          "description": "Radio blackout level SWPC assessed for the previous UTC day.",
      +          "properties": {
      +            "label": {
      +              "description": "NOAA scale string, e.g. \"G2\", \"R1\", \"S0\".",
      +              "type": "string"
      +            },
      +            "scale": {
      +              "description": "Storm scale level 0–5.",
      +              "type": "number"
      +            },
      +            "text": {
      +              "description": "Human-readable scale descriptor, e.g. \"Moderate\". Empty when scale is 0.",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "scale",
      +            "text",
      +            "label"
      +          ],
      +          "type": "object"
      +        },
      +        "S": {
      +          "additionalProperties": false,
      +          "description": "Solar radiation storm level SWPC assessed for the previous UTC day.",
      +          "properties": {
      +            "label": {
      +              "description": "NOAA scale string, e.g. \"G2\", \"R1\", \"S0\".",
      +              "type": "string"
      +            },
      +            "scale": {
      +              "description": "Storm scale level 0–5.",
      +              "type": "number"
      +            },
      +            "text": {
      +              "description": "Human-readable scale descriptor, e.g. \"Moderate\". Empty when scale is 0.",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "scale",
      +            "text",
      +            "label"
      +          ],
      +          "type": "object"
      +        },
      +        "date": {
      +          "description": "The previous UTC calendar day these levels were assessed for, e.g. \"2026-06-03\".",
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "date",
      +        "G",
      +        "R",
      +        "S"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "NOAA R/S/G levels SWPC assessed for the previous UTC day — answers what happened yesterday without a history call. Null when the scales feed carries no previous-day period, or carries one missing a level; null never means level 0."
      +}
  3. Changed28 schema fields changed
    • addedInput schema / properties / include_discussion
      Added value: +{
      +  "default": false,
      +  "description": "Also fetch SWPC's forecaster-written Forecast Discussion, which explains why the forecast looks the way it does (CME versus coronal-hole stream, expected arrival). Costs one extra upstream request.",
      +  "type": "boolean"
      +}
    • changedOutput schema / anyOf
      Previous value: -[
      -  {
      -    "not": {
      -      "required": [
      -        "error"
      -      ]
      -    },
      -    "required": [
      -      "observedAt",
      -      "currentKp",
      -      "currentGScale",
      -      "auroraLatitude",
      -      "today",
      -      "forecast",
      -      "summary"
      -    ]
      -  },
      -  {
      -    "required": [
      -      "error"
      -    ]
      -  }
      -]New value: +[
      +  {
      +    "not": {
      +      "required": [
      +        "error"
      +      ]
      +    },
      +    "required": [
      +      "observedAt",
      +      "currentKp",
      +      "currentGScale",
      +      "auroraLatitude",
      +      "today",
      +      "forecast",
      +      "summary",
      +      "discussion"
      +    ]
      +  },
      +  {
      +    "required": [
      +      "error"
      +    ]
      +  }
      +]
    • addedOutput schema / properties / discussion
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "description": "SWPC Forecast Discussion — the forecaster's narrative behind the storm scales. Null when include_discussion is false.",
      +      "properties": {
      +        "issued": {
      +          "description": "ISO 8601 UTC time the discussion was issued, from the product's \":Issued:\" line, e.g. \"2026-06-04T12:30:00Z\". Null when the product carries no such line.",
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "sections": {
      +          "description": "One entry per topic section, in product order.",
      +          "items": {
      +            "additionalProperties": false,
      +            "description": "One topic section of the discussion — its heading and the forecaster's text.",
      +            "properties": {
      +              "forecast": {
      +                "description": "Forecast text for the next 3 days, or null when the section carries no \".Forecast...\" block.",
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "summary": {
      +                "description": "Past-24 h summary text, or null when the section carries no \".24 hr Summary...\" text.",
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "topic": {
      +                "description": "Section heading, e.g. \"Solar Activity\", \"Energetic Particle\", \"Solar Wind\", \"Geospace\".",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "topic",
      +              "summary",
      +              "forecast"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        }
      +      },
      +      "required": [
      +        "issued",
      +        "sections"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "SWPC Forecast Discussion when include_discussion is true, otherwise null."
      +}
    • changedOutput schema / properties / error / properties / data / properties / reason / description
      Previous value: -"Machine-readable failure mode. Declared by this tool: `feed_unavailable`: SWPC feed returns 5xx or 429, times out, or answers with a body that is not parseable JSON. Retried before failing. `feed_moved`: SWPC feed path returns a permanent 4xx (404, 410, 401, 403), or the scales feed no longer carries its \"0\" (today) period. Fails in one attempt. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `feed_unavailable`: SWPC feed returns 5xx or 429, times out, or answers with a body that is not parseable JSON. Retried before failing. `feed_moved`: SWPC feed path returns a permanent 4xx (404, 410, 401, 403), or a feed answers without the shape it is documented to have — the scales feed no longer carrying its \"0\" (today) period, or the forecast discussion carrying no topic section. Fails in one attempt. Other values are possible when a failure originates below the handler."
    • changedOutput schema / properties / forecast / description
      Previous value: -"3-day NOAA scale forecast (next 1–3 days)."New value: +"SWPC's 3-day NOAA scale forecast, oldest first. The series starts with today — the same calendar day as observedAt — and covers the next two days."
    • changedOutput schema / properties / forecast / items / description
      Previous value: -"3-day NOAA scale forecast for one calendar day."New value: +"One day of the NOAA scale forecast series."
    • changedOutput schema / properties / forecast / items / properties / G / description
      Previous value: -"Geomagnetic storm scale for this day."New value: +"Geomagnetic storm scale forecast for this day."
    • changedOutput schema / properties / forecast / items / properties / R / description
      Previous value: -"Radio blackout scale for this day."New value: +"Radio blackout outlook for this day."
    • changedOutput schema / properties / forecast / items / properties / R / properties / label / description
      Previous value: -"NOAA scale string, e.g. \"G2\", \"R1\", \"S0\"."New value: +"NOAA scale string, e.g. \"R1\", or null when no level was issued."
    • changedOutput schema / properties / forecast / items / properties / R / properties / label / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • addedOutput schema / properties / forecast / items / properties / R / properties / majorProbPercent
      Added value: +{
      +  "description": "Probability (%) of an R3 or greater strong radio blackout on this day, or null when SWPC issued none.",
      +  "type": [
      +    "number",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / forecast / items / properties / R / properties / minorProbPercent
      Added value: +{
      +  "description": "Probability (%) of an R1–R2 minor-to-moderate radio blackout on this day, or null when SWPC issued none.",
      +  "type": [
      +    "number",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / forecast / items / properties / R / properties / scale / description
      Previous value: -"Storm scale level 0–5."New value: +"R-scale level 0–5, or null — SWPC forecasts a radio-blackout probability for a future day rather than a level."
    • changedOutput schema / properties / forecast / items / properties / R / properties / scale / type
      Previous value: -"number"New value: +[
      +  "number",
      +  "null"
      +]
    • changedOutput schema / properties / forecast / items / properties / R / properties / text / description
      Previous value: -"Human-readable scale descriptor, e.g. \"Moderate\". Empty when scale is 0."New value: +"Human-readable R-scale descriptor, or null when no level was issued."
    • changedOutput schema / properties / forecast / items / properties / R / properties / text / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / forecast / items / properties / R / required
      Previous value: -[
      -  "scale",
      -  "text",
      -  "label"
      -]New value: +[
      +  "scale",
      +  "text",
      +  "label",
      +  "minorProbPercent",
      +  "majorProbPercent"
      +]
    • changedOutput schema / properties / forecast / items / properties / S / description
      Previous value: -"Solar radiation storm scale for this day."New value: +"Solar radiation storm outlook for this day."
    • changedOutput schema / properties / forecast / items / properties / S / properties / label / description
      Previous value: -"NOAA scale string, e.g. \"G2\", \"R1\", \"S0\"."New value: +"NOAA scale string, e.g. \"S1\", or null when no level was issued."
    • changedOutput schema / properties / forecast / items / properties / S / properties / label / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • addedOutput schema / properties / forecast / items / properties / S / properties / probPercent
      Added value: +{
      +  "description": "Probability (%) of an S1 or greater solar radiation storm on this day, or null when SWPC issued none.",
      +  "type": [
      +    "number",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / forecast / items / properties / S / properties / scale / description
      Previous value: -"Storm scale level 0–5."New value: +"S-scale level 0–5, or null — SWPC forecasts a radiation-storm probability for a future day rather than a level."
    • changedOutput schema / properties / forecast / items / properties / S / properties / scale / type
      Previous value: -"number"New value: +[
      +  "number",
      +  "null"
      +]
    • changedOutput schema / properties / forecast / items / properties / S / properties / text / description
      Previous value: -"Human-readable scale descriptor, e.g. \"Moderate\". Empty when scale is 0."New value: +"Human-readable S-scale descriptor, or null when no level was issued."
    • changedOutput schema / properties / forecast / items / properties / S / properties / text / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / forecast / items / properties / S / required
      Previous value: -[
      -  "scale",
      -  "text",
      -  "label"
      -]New value: +[
      +  "scale",
      +  "text",
      +  "label",
      +  "probPercent"
      +]
    • changedOutput schema / properties / forecast / items / properties / date / description
      Previous value: -"Forecast date string."New value: +"Forecast date string, e.g. \"2026-06-04\"."
    • changedOutput schema / properties / observedAt / description
      Previous value: -"UTC date and time of the NOAA scales data period this snapshot reflects, e.g. \"2026-06-04 15:00:00\"."New value: +"ISO 8601 UTC date and time of the NOAA scales data period this snapshot reflects, e.g. \"2026-06-04T15:00:00Z\"."
  4. Changed2 schema fields changed
    • changedOutput schema / properties / error / properties / data / properties / reason / description
      Previous value: -"Machine-readable failure mode. Declared by this tool: `feed_unavailable`: SWPC endpoint returns non-OK status or times out after retries. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `feed_unavailable`: SWPC feed returns 5xx or 429, times out, or answers with a body that is not parseable JSON. Retried before failing. `feed_moved`: SWPC feed path returns a permanent 4xx (404, 410, 401, 403), or the scales feed no longer carries its \"0\" (today) period. Fails in one attempt. Other values are possible when a failure originates below the handler."
    • changedOutput schema / properties / error / properties / data / properties / reason / examples
      Previous value: -[
      -  "feed_unavailable"
      -]New value: +[
      +  "feed_unavailable",
      +  "feed_moved"
      +]
  5. Changed6 schema fields changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • addedInput schema / additionalProperties
      Added value: +false
    • changedOutput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • addedOutput schema / anyOf
      Added value: +[
      +  {
      +    "not": {
      +      "required": [
      +        "error"
      +      ]
      +    },
      +    "required": [
      +      "observedAt",
      +      "currentKp",
      +      "currentGScale",
      +      "auroraLatitude",
      +      "today",
      +      "forecast",
      +      "summary"
      +    ]
      +  },
      +  {
      +    "required": [
      +      "error"
      +    ]
      +  }
      +]
    • addedOutput schema / properties / error
      Added value: +{
      +  "additionalProperties": {},
      +  "description": "Present when the call failed. Absent on success.",
      +  "properties": {
      +    "code": {
      +      "description": "JSON-RPC error code for this failure.",
      +      "maximum": 9007199254740991,
      +      "minimum": -9007199254740991,
      +      "type": "integer"
      +    },
      +    "data": {
      +      "additionalProperties": {},
      +      "properties": {
      +        "reason": {
      +          "description": "Machine-readable failure mode. Declared by this tool: `feed_unavailable`: SWPC endpoint returns non-OK status or times out after retries. Other values are possible when a failure originates below the handler.",
      +          "examples": [
      +            "feed_unavailable"
      +          ],
      +          "type": "string"
      +        },
      +        "recovery": {
      +          "additionalProperties": {},
      +          "description": "Actionable next step for the caller.",
      +          "properties": {
      +            "hint": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "hint"
      +          ],
      +          "type": "object"
      +        },
      +        "retryable": {
      +          "description": "Whether retrying may succeed.",
      +          "type": "boolean"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "message": {
      +      "description": "Human-readable description of what went wrong.",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "code",
      +    "message"
      +  ],
      +  "type": "object"
      +}
    • removedOutput schema / required
      Removed value: -[
      -  "observedAt",
      -  "currentKp",
      -  "currentGScale",
      -  "auroraLatitude",
      -  "today",
      -  "forecast",
      -  "summary"
      -]
  6. First observed

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, and the description adds useful behavioral detail: the time spans covered (previous UTC day, today, 3-day forecast) and that discussion is optional. It does not contradict the annotations, and the output-schema presence relieves it from describing return value shape.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured: the first sentence front-loads the snapshot contents, the second notes the optional component, and the third provides sibling routing. Every sentence earns its place, and there is no filler or repetition of schema fields.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only, one-optional-parameter snapshot tool with an output schema, the description is fully sufficient. It explains what data is included, how far it looks back and forward, what the optional flag adds, and when to prefer sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single boolean parameter is already well-documented, including the extra upstream request cost. The description repeats only that the discussion is optional and explains what is driving the forecast, adding no material meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb-resource combination: it returns a 'current space-weather snapshot' with concrete contents (R/S/G scales, Kp index, aurora-visibility latitude, plain-language summary). It also explicitly frames itself as the triage entry point before drilling into sibling tools, which clearly distinguishes it from them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives an explicit routing rule: 'use before deciding whether to drill into solar wind, aurora, or alert details.' It names the alternative siblings and clarifies the tool's role as the quickest way to answer whether anything is happening right now.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.