@cyanheads/noaa-spaceweather-mcp-server 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/AGENTS.md +4 -3
  2. package/CLAUDE.md +4 -3
  3. package/README.md +12 -7
  4. package/changelog/0.2.x/0.2.0.md +2 -2
  5. package/changelog/0.2.x/0.2.1.md +23 -0
  6. package/changelog/0.3.x/0.3.0.md +18 -0
  7. package/changelog/template.md +7 -7
  8. package/dist/mcp-server/tools/definitions/get-alerts.tool.d.ts +3 -1
  9. package/dist/mcp-server/tools/definitions/get-alerts.tool.d.ts.map +1 -1
  10. package/dist/mcp-server/tools/definitions/get-alerts.tool.js +3 -1
  11. package/dist/mcp-server/tools/definitions/get-alerts.tool.js.map +1 -1
  12. package/dist/mcp-server/tools/definitions/get-aurora-forecast.tool.d.ts +13 -2
  13. package/dist/mcp-server/tools/definitions/get-aurora-forecast.tool.d.ts.map +1 -1
  14. package/dist/mcp-server/tools/definitions/get-aurora-forecast.tool.js +160 -40
  15. package/dist/mcp-server/tools/definitions/get-aurora-forecast.tool.js.map +1 -1
  16. package/dist/mcp-server/tools/definitions/get-conditions.tool.d.ts +20 -1
  17. package/dist/mcp-server/tools/definitions/get-conditions.tool.d.ts.map +1 -1
  18. package/dist/mcp-server/tools/definitions/get-conditions.tool.js +57 -8
  19. package/dist/mcp-server/tools/definitions/get-conditions.tool.js.map +1 -1
  20. package/dist/mcp-server/tools/definitions/get-kp-index.tool.d.ts +3 -1
  21. package/dist/mcp-server/tools/definitions/get-kp-index.tool.d.ts.map +1 -1
  22. package/dist/mcp-server/tools/definitions/get-kp-index.tool.js +3 -1
  23. package/dist/mcp-server/tools/definitions/get-kp-index.tool.js.map +1 -1
  24. package/dist/mcp-server/tools/definitions/get-solar-activity.tool.d.ts +8 -1
  25. package/dist/mcp-server/tools/definitions/get-solar-activity.tool.d.ts.map +1 -1
  26. package/dist/mcp-server/tools/definitions/get-solar-activity.tool.js +45 -11
  27. package/dist/mcp-server/tools/definitions/get-solar-activity.tool.js.map +1 -1
  28. package/dist/mcp-server/tools/definitions/get-solar-wind.tool.d.ts +9 -1
  29. package/dist/mcp-server/tools/definitions/get-solar-wind.tool.d.ts.map +1 -1
  30. package/dist/mcp-server/tools/definitions/get-solar-wind.tool.js +102 -30
  31. package/dist/mcp-server/tools/definitions/get-solar-wind.tool.js.map +1 -1
  32. package/dist/mcp-server/tools/definitions/index.d.ts +56 -7
  33. package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -1
  34. package/dist/services/space-weather/solar-position.d.ts +29 -0
  35. package/dist/services/space-weather/solar-position.d.ts.map +1 -0
  36. package/dist/services/space-weather/solar-position.js +76 -0
  37. package/dist/services/space-weather/solar-position.js.map +1 -0
  38. package/dist/services/space-weather/space-weather-service.d.ts +1 -1
  39. package/dist/services/space-weather/space-weather-service.d.ts.map +1 -1
  40. package/dist/services/space-weather/space-weather-service.js +39 -8
  41. package/dist/services/space-weather/space-weather-service.js.map +1 -1
  42. package/dist/services/space-weather/types.d.ts +30 -4
  43. package/dist/services/space-weather/types.d.ts.map +1 -1
  44. package/package.json +5 -5
  45. package/server.json +3 -3
package/AGENTS.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # Developer Protocol
2
2
 
3
3
  **Server:** noaa-spaceweather-mcp-server
4
- **Version:** 0.2.0
5
- **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.13.3`
4
+ **Version:** 0.3.0
5
+ **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.13.6`
6
6
  **Engines:** Bun ≥1.4.0, Node ≥24.0.0
7
7
  **MCP SDK:** `@modelcontextprotocol/server` ^2.0.0 (protocol revisions 2026-07-28 and 2025-*)
8
8
  **Zod:** ^4.6.5
@@ -120,7 +120,7 @@ Handlers receive a unified `ctx` object. Key properties:
120
120
 
121
121
  Handlers throw — the framework catches, classifies, and formats.
122
122
 
123
- **Recommended: typed error contract.** Declare `errors: [{ reason, code, when, recovery, retryable? }]` on `tool()` / `resource()` to receive `ctx.fail(reason, …)` typed against the reason union. TypeScript catches typos at compile time, `data.reason` is auto-populated for observability, linter enforces conformance against the handler body. `recovery` is required (≥ 5 words, lint-validated) — the single source of truth for the agent's next move. Pass `ctx.recoveryFor('reason')` as the throw's data to put it on the wire (`data.recovery.hint`, mirrored into `content[]` text); override with an explicit `{ recovery: { hint: '...' } }` when dynamic runtime context matters. Baseline codes (`InternalError`, `ServiceUnavailable`, `Timeout`, `ValidationError`, `SerializationError`, `RequestCancelled`) bubble freely and don't need declaring.
123
+ **Recommended: typed error contract.** Declare `errors: [{ reason, code, when, recovery, retryable?, severity?, thrownBy? }]` on `tool()` / `resource()` to receive `ctx.fail(reason, …)` typed against the reason union. TypeScript catches typos at compile time, `data.reason` is auto-populated for observability, linter enforces conformance against the handler body. `recovery` is required (≥ 5 words, lint-validated) — the single source of truth for the agent's next move. Pass `ctx.recoveryFor('reason')` as the throw's data to put it on the wire (`data.recovery.hint`, mirrored into `content[]` text unless the message already contains it verbatim); override with an explicit `{ recovery: { hint: '...' } }` when dynamic runtime context matters. Forwarding it is lint-enforced per throw site (`error-contract-recovery-unforwarded`). Mark an entry the service layer throws with `thrownBy: 'service'` so `error-contract-unthrown` skips it — lint-only metadata, nothing at runtime reads it. Baseline codes (`InternalError`, `ServiceUnavailable`, `Timeout`, `ValidationError`, `SerializationError`, `RequestCancelled`) bubble freely and don't need declaring.
124
124
 
125
125
  ```ts
126
126
  import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
@@ -168,6 +168,7 @@ src/
168
168
  services/
169
169
  space-weather/
170
170
  space-weather-service.ts # NOAA SWPC feed client + normalization
171
+ solar-position.ts # Solar elevation + darkness state (pure)
171
172
  types.ts # Domain types (KpRecord, ScaleEntry, etc.)
172
173
  mcp-server/
173
174
  tools/definitions/
package/CLAUDE.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # Developer Protocol
2
2
 
3
3
  **Server:** noaa-spaceweather-mcp-server
4
- **Version:** 0.2.0
5
- **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.13.3`
4
+ **Version:** 0.3.0
5
+ **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.13.6`
6
6
  **Engines:** Bun ≥1.4.0, Node ≥24.0.0
7
7
  **MCP SDK:** `@modelcontextprotocol/server` ^2.0.0 (protocol revisions 2026-07-28 and 2025-*)
8
8
  **Zod:** ^4.6.5
@@ -120,7 +120,7 @@ Handlers receive a unified `ctx` object. Key properties:
120
120
 
121
121
  Handlers throw — the framework catches, classifies, and formats.
122
122
 
123
- **Recommended: typed error contract.** Declare `errors: [{ reason, code, when, recovery, retryable? }]` on `tool()` / `resource()` to receive `ctx.fail(reason, …)` typed against the reason union. TypeScript catches typos at compile time, `data.reason` is auto-populated for observability, linter enforces conformance against the handler body. `recovery` is required (≥ 5 words, lint-validated) — the single source of truth for the agent's next move. Pass `ctx.recoveryFor('reason')` as the throw's data to put it on the wire (`data.recovery.hint`, mirrored into `content[]` text); override with an explicit `{ recovery: { hint: '...' } }` when dynamic runtime context matters. Baseline codes (`InternalError`, `ServiceUnavailable`, `Timeout`, `ValidationError`, `SerializationError`, `RequestCancelled`) bubble freely and don't need declaring.
123
+ **Recommended: typed error contract.** Declare `errors: [{ reason, code, when, recovery, retryable?, severity?, thrownBy? }]` on `tool()` / `resource()` to receive `ctx.fail(reason, …)` typed against the reason union. TypeScript catches typos at compile time, `data.reason` is auto-populated for observability, linter enforces conformance against the handler body. `recovery` is required (≥ 5 words, lint-validated) — the single source of truth for the agent's next move. Pass `ctx.recoveryFor('reason')` as the throw's data to put it on the wire (`data.recovery.hint`, mirrored into `content[]` text unless the message already contains it verbatim); override with an explicit `{ recovery: { hint: '...' } }` when dynamic runtime context matters. Forwarding it is lint-enforced per throw site (`error-contract-recovery-unforwarded`). Mark an entry the service layer throws with `thrownBy: 'service'` so `error-contract-unthrown` skips it — lint-only metadata, nothing at runtime reads it. Baseline codes (`InternalError`, `ServiceUnavailable`, `Timeout`, `ValidationError`, `SerializationError`, `RequestCancelled`) bubble freely and don't need declaring.
124
124
 
125
125
  ```ts
126
126
  import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
@@ -168,6 +168,7 @@ src/
168
168
  services/
169
169
  space-weather/
170
170
  space-weather-service.ts # NOAA SWPC feed client + normalization
171
+ solar-position.ts # Solar elevation + darkness state (pure)
171
172
  types.ts # Domain types (KpRecord, ScaleEntry, etc.)
172
173
  mcp-server/
173
174
  tools/definitions/
package/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  <div align="center">
9
9
 
10
- [![Version](https://img.shields.io/badge/Version-0.2.0-blue.svg?style=flat-square)](./CHANGELOG.md) [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](./LICENSE) [![Docker](https://img.shields.io/badge/Docker-ghcr.io-2496ED?style=flat-square&logo=docker&logoColor=white)](https://github.com/users/cyanheads/packages/container/package/noaa-spaceweather-mcp-server) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^2.0.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![npm](https://img.shields.io/npm/v/@cyanheads/noaa-spaceweather-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/noaa-spaceweather-mcp-server) [![TypeScript](https://img.shields.io/badge/TypeScript-^7.0.2-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.4.0-blueviolet.svg?style=flat-square)](https://bun.sh/)
10
+ [![Version](https://img.shields.io/badge/Version-0.3.0-blue.svg?style=flat-square)](./CHANGELOG.md) [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](./LICENSE) [![Docker](https://img.shields.io/badge/Docker-ghcr.io-2496ED?style=flat-square&logo=docker&logoColor=white)](https://github.com/users/cyanheads/packages/container/package/noaa-spaceweather-mcp-server) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^2.0.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![npm](https://img.shields.io/npm/v/@cyanheads/noaa-spaceweather-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/noaa-spaceweather-mcp-server) [![TypeScript](https://img.shields.io/badge/TypeScript-^7.0.2-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.4.0-blueviolet.svg?style=flat-square)](https://bun.sh/)
11
11
 
12
12
  </div>
13
13
 
@@ -35,11 +35,11 @@ Space weather from NOAA's Space Weather Prediction Center (SWPC) — geomagnetic
35
35
 
36
36
  | Tool | Description |
37
37
  |:-----|:------------|
38
- | `noaa_spaceweather_get_conditions` | Current space-weather snapshot: NOAA R/S/G storm scales, latest Kp, a plain-language status summary, and optionally SWPC's forecast discussion explaining the forecast |
38
+ | `noaa_spaceweather_get_conditions` | Current space-weather snapshot: NOAA R/S/G storm scales for yesterday, today, and the 3-day forecast, latest Kp, a plain-language status summary, and optionally SWPC's forecast discussion explaining the forecast |
39
39
  | `noaa_spaceweather_get_kp_index` | Planetary K-index (0–9) — recent observed 3-hour values with G-scale equivalents and aurora-latitude guidance, plus 3-day forecast |
40
- | `noaa_spaceweather_get_aurora_forecast` | OVATION model aurora forecast: global probability grid, optional local lookup by coordinates with go/no-go verdict |
40
+ | `noaa_spaceweather_get_aurora_forecast` | OVATION model aurora forecast: global probability grid, optional local lookup by coordinates with a daylight-aware go/no-go verdict and a poleward horizon reading |
41
41
  | `noaa_spaceweather_get_solar_wind` | Real-time solar wind from the active L1 spacecraft: speed, proton density, temperature, and the critical Bz component with the window's most southward reading — explains why current geomagnetic conditions exist |
42
- | `noaa_spaceweather_get_solar_activity` | Solar flare picture: discrete flare events with peak class and R-scale level, GOES X-ray flux, the daily F10.7 cm radio flux, 3-day flare-class probabilities, active solar regions with per-region probabilities, and solar radiation storm level |
42
+ | `noaa_spaceweather_get_solar_activity` | Solar flare picture: discrete flare events with peak class and R-scale level, GOES X-ray flux, the daily F10.7 cm radio flux, 3-day flare-class probabilities, active solar regions with same-day flare counts and next-day probabilities, and solar radiation storm level |
43
43
  | `noaa_spaceweather_get_alerts` | Active SWPC alerts, watches, and warnings — structured records with product type, severity, issue time, validity window, and full message text |
44
44
 
45
45
  ## Capability reference
@@ -48,6 +48,7 @@ Space weather from NOAA's Space Weather Prediction Center (SWPC) — geomagnetic
48
48
 
49
49
  - `include_discussion` (bool, default false) is the only input — otherwise a single call composing storm scales and current Kp into one snapshot
50
50
  - Returns today's observed R/S/G storm levels plus SWPC's 3-day forecast series, which starts with today
51
+ - `yesterday` carries the R/S/G levels SWPC assessed for the previous UTC day, with its date and no time — the feed states only when it was generated. Null when the feed carries no previous-day period
51
52
  - Forecast days carry what SWPC issues: a G level, and for R and S a probability — R1–R2, R3 or greater, S1 or greater — with no level. A null level means SWPC forecasts none for that day, which is not the same as level 0
52
53
  - Current Kp with G-scale equivalent and aurora-visibility latitude guidance
53
54
  - With `include_discussion`, the forecaster-written Forecast Discussion split into its topic sections (Solar Activity, Energetic Particle, Solar Wind, Geospace), each with its 24-hour summary and 3-day forecast text
@@ -69,6 +70,8 @@ Space weather from NOAA's Space Weather Prediction Center (SWPC) — geomagnetic
69
70
 
70
71
  - Without coordinates: global metadata only — grid point count, global peak probability, peak region
71
72
  - With `latitude`/`longitude` (WGS84, required together): nearest 1°-grid lookup, the centered-dipole geomagnetic latitude those coordinates convert to, the minimum Kp and G level needed at that geomagnetic latitude, and a plain-language go/no-go verdict
73
+ - Darkness gating: the sun's elevation at the coordinates at the forecast time (`sunElevationDeg`) and the sky state it implies (`darkness`: `day`, `civil_twilight`, `nautical_twilight`, `dark`). In daylight the verdict reports aurora as not visible whatever the model probability; in twilight it adds that only bright aurora will show
74
+ - Horizon view: the strongest reading within 1000 km poleward and ±2° longitude (`horizonMaxPercent`, `horizonMaxLatitude`, `horizonDistanceKm`). When it reaches 10% and beats the overhead reading outside daylight, the verdict adds that aurora may be visible low on the poleward horizon
72
75
  - `invalid_coordinates` error when only one of the pair is supplied
73
76
  - OVATION model updates every ~5 minutes; forecast horizon is ~30–60 minutes ahead
74
77
 
@@ -77,9 +80,10 @@ Space weather from NOAA's Space Weather Prediction Center (SWPC) — geomagnetic
77
80
  ### `noaa_spaceweather_get_solar_wind` <sub>tool</sub>
78
81
 
79
82
  - `window_hours` (1–168, default 3) slices client-side from a feed that carries roughly the last 24 hours at ~1-minute cadence
80
- - `resolution` (`reduced` default, or `full`) bounds each returned series to 200 records: the window is bucketed by record count and one real measurement is emitted per bucket — the bucket's fastest speed for plasma, its most southward Bz for mag — with the newest record in the window always last. A series already inside the bound comes back untouched, so a default 3-hour call is unaffected; `full` returns every record (~1,400 per series over 24 hours)
83
+ - `resolution` (`summary`, `reduced` default, or `full`) sets the series detail. `reduced` bounds each returned series to 200 records: the window is bucketed by record count and one real measurement is emitted per bucket — the bucket's fastest speed for plasma, its most southward Bz for mag — with the newest record in the window always last. A series already inside the bound comes back untouched, so a default 3-hour call is unaffected; `full` returns every record (~1,400 per series over 24 hours); `summary` returns both series empty and keeps every headline field, about 2 KB whatever the window
81
84
  - Plasma (speed, density, temperature) and magnetic field (Bx/By/Bz/Bt GSM) returned as separate oldest-first series
82
- - `bzStatus` surfaces southward Bz (the storm driver) as a plain-language field, and `bzMinInWindow` with its time tag reports the window's most southward reading — both computed from the full window, before any reduction
85
+ - `bzStatus` surfaces southward Bz (the storm driver) as a plain-language field, and `bzMinInWindow` with its time tag reports the window's most southward reading
86
+ - Window statistics: `speedMaxInWindow` with its time tag, `densityMaxInWindow`, `btMaxInWindow`, and `bzSouthMinutesInWindow` — the count of 1-minute records with Bz below 0, so a gap in the feed adds nothing. Every headline field is computed from the full window, before any reduction, at every resolution
83
87
  - `latestFeedPlasmaTime`/`latestFeedMagTime`/`feedStalenessHours` distinguish an empty window from a stale feed
84
88
  - Every record names its reporting spacecraft — no satellite is assumed as "the" active one
85
89
 
@@ -93,6 +97,7 @@ Space weather from NOAA's Space Weather Prediction Center (SWPC) — geomagnetic
93
97
  - GOES X-ray flux (0.1–0.8 nm) with flare-class letter (A/B/C/M/X), the class with magnitude (`flareClassFull`, derived by SWPC's truncation rule so it agrees with the published flare classes), and the unformatted flux alongside the display string; recent readings cover the past hour
94
98
  - Daily F10.7 cm solar radio flux in sfu with its 90-day mean, from the Noon Penticton report — the value SWPC reports for the day. It can be up to ~24 h old, so its observation time rides with it
95
99
  - 3-day C/M/X flare-class and proton-event probabilities, each duplicated under a legacy `*1Day` name and a date-neutral name
100
+ - Each active region carries the C/M/X flare counts SWPC attributed to it on its observation day — the flare events carry no region, so these name the region driving current activity — its sunspot area in millionths of the hemisphere, and when SWPC first recorded it. Its flare probabilities cover the following day. A spotless region (plage) reads as such, with a null area
96
101
  - Integral proton flux (≥10 MeV) drives the reported NOAA S-scale (0–5)
97
102
  - Data sourced from the `goes/primary/xrays-6-hour.json`, `goes/primary/xray-flares-7-day.json`, `f107_cm_flux.json`, `solar_probabilities.json`, `goes/primary/integral-protons-plot-3-day.json`, and `solar_regions.json` feeds
98
103
 
@@ -115,7 +120,7 @@ Built on [`@cyanheads/mcp-ts-core`](https://github.com/cyanheads/mcp-ts-core): s
115
120
  SWPC-specific:
116
121
 
117
122
  - All SWPC feeds are public and keyless — no API keys required
118
- - Single `SpaceWeatherService` wraps every NOAA SWPC feed — the JSON products and the plain-text forecast discussion — behind one `fetchWithTimeout` + `withRetry` funnel, so both paths classify an upstream failure the same way
123
+ - Single `SpaceWeatherService` wraps every NOAA SWPC feed — the JSON products and the plain-text forecast discussion — behind one `fetchWithTimeout` + `withRetry` funnel, so both paths classify an upstream failure the same way — and every retry ladder runs inside one 45-second budget, so a hung upstream still returns the classified error before a 60-second client timeout
119
124
  - Heterogeneous feed normalization: interleaved multi-spacecraft records (solar wind), keyed objects (storm scales), coordinate triples (OVATION), section-delimited text (forecast discussion)
120
125
  - NOAA scale interpretation: raw Kp 6 → "G2 moderate storm — aurora possible to ~55° geomagnetic latitude"
121
126
  - Feed freshness surfaced per-response: solar wind updates ~1 min, aurora ~5 min, Kp 3-hour intervals
@@ -8,10 +8,10 @@ security: false
8
8
 
9
9
  ## Added
10
10
 
11
- - **`get_solar_wind`:** `resolution` input (`reduced`/`full`, default `reduced`) bounds `plasma`/`mag` to 200 records each — one real measurement per bucket (fastest speed for plasma, most southward Bz for mag), newest record always last. A default 3-hour call is unaffected; a 24-hour call drops from ~541 KB to roughly the size of today's default call (~68 KB). Adds `bzMinInWindow` + `bzMinTimeTag`, computed from the full window before reduction. [#24](https://github.com/cyanheads/noaa-spaceweather-mcp-server/issues/24)
11
+ - **`get_solar_wind`:** `resolution` input (`reduced`/`full`, default `reduced`) bounds `plasma`/`mag` to 200 records each — one real measurement per bucket (fastest speed for plasma, most southward Bz for mag), newest record always last. A default 3-hour call is unaffected; a 24-hour call drops from ~541 KB to ~75 KB. Adds `bzMinInWindow` + `bzMinTimeTag`, computed from the full window before reduction. [#24](https://github.com/cyanheads/noaa-spaceweather-mcp-server/issues/24)
12
12
  - **`get_solar_activity`:** `recentFlares[]` — discrete GOES flare events from `xray-flares-7-day.json`, filtered by the new `flare_hours` input (1–168, default 24), with peak class, R-scale level, and begin/max/end times and classes. [#31](https://github.com/cyanheads/noaa-spaceweather-mcp-server/issues/31)
13
13
  - **`get_solar_activity`:** `f107` — the latest daily F10.7 cm solar radio flux (the Noon Penticton report, matching SWPC's own daily summary), with its 90-day mean when available. [#31](https://github.com/cyanheads/noaa-spaceweather-mcp-server/issues/31)
14
- - **`get_solar_activity`:** `XraySchema` gains `flareClassFull` (class with magnitude, e.g. `"M5.2"`, truncated to match SWPC's own rounding) and `fluxWm2Value` (unformatted flux, for comparison without parsing `fluxWm2`). [#31](https://github.com/cyanheads/noaa-spaceweather-mcp-server/issues/31)
14
+ - **`get_solar_activity`:** `XraySchema` gains `flareClassFull` (class with magnitude, e.g. `"M5.2"`, truncated to one decimal, as SWPC writes its published classes) and `fluxWm2Value` (unformatted flux, for comparison without parsing `fluxWm2`). [#31](https://github.com/cyanheads/noaa-spaceweather-mcp-server/issues/31)
15
15
  - **`get_conditions`:** `include_discussion` input + `discussion` output — SWPC's forecaster-written Forecast Discussion, parsed into per-topic sections (summary/forecast text). [#32](https://github.com/cyanheads/noaa-spaceweather-mcp-server/issues/32)
16
16
 
17
17
  ## Changed
@@ -0,0 +1,23 @@
1
+ ---
2
+ summary: "Aurora forecast gates the go/no-go verdict on daylight at the requested coordinates and adds a poleward horizon reading for aurora visible below the local horizon."
3
+ breaking: false
4
+ security: false
5
+ ---
6
+
7
+ # 0.2.1 — 2026-09-22
8
+
9
+ ## Added
10
+
11
+ - **`get_aurora_forecast` daylight gate:** `sunElevationDeg` and `darkness` (`day`/`civil_twilight`/`nautical_twilight`/`dark`) at the requested coordinates and forecast time. In daylight the verdict reports aurora as not visible regardless of the model probability; in twilight it adds that only bright aurora will show. ([#36](https://github.com/cyanheads/noaa-spaceweather-mcp-server/issues/36))
12
+ - **`get_aurora_forecast` horizon view:** `horizonMaxPercent`, `horizonMaxLatitude`, `horizonDistanceKm` — the strongest reading within 1000 km poleward and ±2° longitude of the requested point. When it reaches 10% and beats the overhead reading, the verdict notes aurora may be visible low on the horizon. ([#37](https://github.com/cyanheads/noaa-spaceweather-mcp-server/issues/37))
13
+
14
+ ## Changed
15
+
16
+ - **`get_aurora_forecast` `feed_moved`** now also fires, in one attempt, when a coordinate lookup finds no parseable `Forecast Time` — the daylight gate has no instant to evaluate without it. ([#36](https://github.com/cyanheads/noaa-spaceweather-mcp-server/issues/36))
17
+
18
+ ## Dependencies
19
+
20
+ - `@cyanheads/mcp-ts-core` `^0.13.3` → `^0.13.6`
21
+ - `@biomejs/biome` `^2.5.13` → `^2.5.14`
22
+ - `@types/node` `^26.5.1` → `^26.6.2`
23
+ - `vitest` `^5.0.0` → `^5.0.1`
@@ -0,0 +1,18 @@
1
+ ---
2
+ summary: "get_solar_wind adds a headline-only resolution and window-extreme fields, get_conditions surfaces yesterday's assessed R/S/G levels, get_solar_activity adds per-region flare counts, and every feed's retry ladder now runs inside one 45-second budget."
3
+ breaking: false
4
+ security: false
5
+ ---
6
+
7
+ # 0.3.0 — 2026-09-22
8
+
9
+ ## Added
10
+
11
+ - **`get_solar_wind` `resolution: "summary"`:** empties `plasma`/`mag` and keeps every headline field, so the response stays near the headline size whatever the window instead of scaling with it. ([#38](https://github.com/cyanheads/noaa-spaceweather-mcp-server/issues/38))
12
+ - **`get_solar_wind` window-extreme fields:** `speedMaxInWindow`/`speedMaxTimeTag`, `densityMaxInWindow`, `btMaxInWindow`, and `bzSouthMinutesInWindow` (1-minute records with Bz below 0; feed gaps not counted) — computed from the full pre-reduction window at every resolution, alongside the existing `bzMinInWindow`. ([#38](https://github.com/cyanheads/noaa-spaceweather-mcp-server/issues/38))
13
+ - **`get_conditions` `yesterday`:** the R/S/G levels SWPC assessed for the previous UTC day, from the scales feed's key `"-1"`. Carries a date and no time — the key's `TimeStamp` is the feed's generation clock, not an observation time. Null when the feed carries no such key, or one missing a level. ([#34](https://github.com/cyanheads/noaa-spaceweather-mcp-server/issues/34))
14
+ - **`get_solar_activity` per-region fields:** `cFlareCount`/`mFlareCount`/`xFlareCount` (same-day flare tallies SWPC attributed to the region), `areaMillionths`, and `firstObserved` on every `activeRegions[]` entry. A spotless region renders as "no spots (plage)" instead of an empty class. ([#39](https://github.com/cyanheads/noaa-spaceweather-mcp-server/issues/39))
15
+
16
+ ## Changed
17
+
18
+ - **Feed retry ladder bounded to one 45-second wall-clock budget** (`withRetry`'s `deadlineMs`), so a hung upstream now returns the classified `feed_unavailable` error before a 60-second client timeout instead of a bare transport timeout. A fast failure's attempt count and timing are unchanged. ([#41](https://github.com/cyanheads/noaa-spaceweather-mcp-server/issues/41))
@@ -6,8 +6,8 @@
6
6
 
7
7
  # Required. One-line GitHub Release-style headline. 350 character cap — a
8
8
  # ceiling, not a target. Default short and scannable. Don't pad, don't stitch
9
- # unrelated changes with commas/semicolons into an inventory — pick the
10
- # headline, like a tag's theme line. Quotes required: unquoted YAML treats
9
+ # unrelated changes with commas/semicolons into an inventory — pick the one
10
+ # headline the release is about. Quotes required: unquoted YAML treats
11
11
  # `: ` inside the value as a key separator and fails GitHub's strict parser.
12
12
  summary: ""
13
13
 
@@ -119,11 +119,11 @@ security: false
119
119
  TAG ANNOTATIONS — the annotated tag body renders as the GitHub Release body
120
120
  via `gh release create --notes-from-tag`. It is a condensed digest of this
121
121
  entry, never a copy, and its format is owned by the `release-and-publish`
122
- skill (step 4, "Create the annotated tag"): the entry's `summary:` as the
123
- theme line without the version, flat headline bullets — no Keep-a-Changelog
124
- section headers, no gates line — at most one deps line, issue backlinks,
125
- and the changelog link last. In release-PR mode the `git-wrapup` skill
126
- authors that digest as the PR body's `## Changes` and the tag copies it.
122
+ skill (step 4, "Create the annotated tag"): a short subject line without the
123
+ version, flat headline bullets — no Keep-a-Changelog section headers, no
124
+ gates line — at most one deps line, issue backlinks, and the changelog link
125
+ last. In release-PR mode the `git-wrapup` skill authors those bullets as the
126
+ PR body's `## Changes` and the tag copies them.
127
127
  -->
128
128
 
129
129
  ## Added
@@ -34,14 +34,16 @@ export declare const getAlerts: import("@cyanheads/mcp-ts-core").ToolDefinition<
34
34
  }, z.core.$strip>, readonly [{
35
35
  readonly reason: "feed_unavailable";
36
36
  readonly code: JsonRpcErrorCode.ServiceUnavailable;
37
- readonly when: "SWPC feed returns 5xx or 429, times out, or answers with a body that is not parseable JSON. Retried before failing.";
37
+ readonly when: "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.";
38
38
  readonly retryable: true;
39
+ readonly thrownBy: "service";
39
40
  readonly recovery: "Retry in 30–60 seconds; SWPC feeds occasionally lag during high-activity events.";
40
41
  }, {
41
42
  readonly reason: "feed_moved";
42
43
  readonly code: JsonRpcErrorCode.ServiceUnavailable;
43
44
  readonly when: "SWPC feed path returns a permanent 4xx (404, 410, 401, 403). Fails in one attempt.";
44
45
  readonly retryable: false;
46
+ readonly thrownBy: "service";
45
47
  readonly recovery: "Retrying will not help — the SWPC feed path no longer resolves or no longer has the expected shape; the feed URL needs updating against SWPC current inventory.";
46
48
  }], {
47
49
  readonly notice: z.ZodOptional<z.ZodString>;
@@ -1 +1 @@
1
- {"version":3,"file":"get-alerts.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-alerts.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AA+NjE,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqPpB,CAAC"}
1
+ {"version":3,"file":"get-alerts.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-alerts.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AA+NjE,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuPpB,CAAC"}
@@ -227,8 +227,9 @@ export const getAlerts = tool('noaa_spaceweather_get_alerts', {
227
227
  {
228
228
  reason: 'feed_unavailable',
229
229
  code: JsonRpcErrorCode.ServiceUnavailable,
230
- when: 'SWPC feed returns 5xx or 429, times out, or answers with a body that is not parseable JSON. Retried before failing.',
230
+ when: '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.',
231
231
  retryable: true,
232
+ thrownBy: 'service',
232
233
  recovery: 'Retry in 30–60 seconds; SWPC feeds occasionally lag during high-activity events.',
233
234
  },
234
235
  {
@@ -236,6 +237,7 @@ export const getAlerts = tool('noaa_spaceweather_get_alerts', {
236
237
  code: JsonRpcErrorCode.ServiceUnavailable,
237
238
  when: 'SWPC feed path returns a permanent 4xx (404, 410, 401, 403). Fails in one attempt.',
238
239
  retryable: false,
240
+ thrownBy: 'service',
239
241
  recovery: 'Retrying will not help — the SWPC feed path no longer resolves or no longer has the expected shape; the feed URL needs updating against SWPC current inventory.',
240
242
  },
241
243
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"get-alerts.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-alerts.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-alerts.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-alerts.tool.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,16 @@ export declare const getAuroraForecast: import("@cyanheads/mcp-ts-core").ToolDef
19
19
  auroraPercent: z.ZodNumber;
20
20
  minKpRequired: z.ZodNumber;
21
21
  minGScale: z.ZodNullable<z.ZodNumber>;
22
+ sunElevationDeg: z.ZodNumber;
23
+ darkness: z.ZodEnum<{
24
+ civil_twilight: "civil_twilight";
25
+ dark: "dark";
26
+ day: "day";
27
+ nautical_twilight: "nautical_twilight";
28
+ }>;
29
+ horizonMaxPercent: z.ZodNullable<z.ZodNumber>;
30
+ horizonMaxLatitude: z.ZodNullable<z.ZodNumber>;
31
+ horizonDistanceKm: z.ZodNullable<z.ZodNumber>;
22
32
  verdict: z.ZodString;
23
33
  }, z.core.$strip>>;
24
34
  gridPointCount: z.ZodNumber;
@@ -27,13 +37,14 @@ export declare const getAuroraForecast: import("@cyanheads/mcp-ts-core").ToolDef
27
37
  }, z.core.$strip>, readonly [{
28
38
  readonly reason: "feed_unavailable";
29
39
  readonly code: JsonRpcErrorCode.ServiceUnavailable;
30
- readonly when: "SWPC feed returns 5xx or 429, times out, or answers with a body that is not parseable JSON. Retried before failing.";
40
+ readonly when: "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.";
31
41
  readonly retryable: true;
42
+ readonly thrownBy: "service";
32
43
  readonly recovery: "Retry in 30–60 seconds; SWPC feeds occasionally lag during high-activity events.";
33
44
  }, {
34
45
  readonly reason: "feed_moved";
35
46
  readonly code: JsonRpcErrorCode.ServiceUnavailable;
36
- readonly when: "SWPC feed path returns a permanent 4xx (404, 410, 401, 403). Fails in one attempt.";
47
+ readonly when: "SWPC feed path returns a permanent 4xx (404, 410, 401, 403), or a coordinate lookup finds no parseable Forecast Time in the feed. Fails in one attempt.";
37
48
  readonly retryable: false;
38
49
  readonly recovery: "Retrying will not help — the SWPC feed path no longer resolves or no longer has the expected shape; the feed URL needs updating against SWPC current inventory.";
39
50
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"get-aurora-forecast.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-aurora-forecast.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AA0EjE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA0N5B,CAAC"}
1
+ {"version":3,"file":"get-aurora-forecast.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-aurora-forecast.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAqOjE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwP5B,CAAC"}