@cyanheads/noaa-spaceweather-mcp-server 0.1.13 → 0.2.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.
- package/AGENTS.md +6 -4
- package/CLAUDE.md +6 -4
- package/README.md +26 -17
- package/changelog/0.1.x/0.1.14.md +32 -0
- package/changelog/0.2.x/0.2.0.md +21 -0
- package/dist/mcp-server/tools/definitions/get-alerts.tool.d.ts +19 -1
- package/dist/mcp-server/tools/definitions/get-alerts.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-alerts.tool.js +281 -41
- package/dist/mcp-server/tools/definitions/get-alerts.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-aurora-forecast.tool.d.ts +9 -1
- package/dist/mcp-server/tools/definitions/get-aurora-forecast.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-aurora-forecast.tool.js +91 -52
- package/dist/mcp-server/tools/definitions/get-aurora-forecast.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-conditions.tool.d.ts +27 -8
- package/dist/mcp-server/tools/definitions/get-conditions.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-conditions.tool.js +234 -38
- package/dist/mcp-server/tools/definitions/get-conditions.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-kp-index.tool.d.ts +7 -1
- package/dist/mcp-server/tools/definitions/get-kp-index.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-kp-index.tool.js +21 -6
- package/dist/mcp-server/tools/definitions/get-kp-index.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-solar-activity.tool.d.ts +32 -2
- package/dist/mcp-server/tools/definitions/get-solar-activity.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-solar-activity.tool.js +243 -39
- package/dist/mcp-server/tools/definitions/get-solar-activity.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-solar-wind.tool.d.ts +17 -1
- package/dist/mcp-server/tools/definitions/get-solar-wind.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-solar-wind.tool.js +150 -21
- package/dist/mcp-server/tools/definitions/get-solar-wind.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/index.d.ts +111 -14
- package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -1
- package/dist/services/space-weather/space-weather-service.d.ts +76 -3
- package/dist/services/space-weather/space-weather-service.d.ts.map +1 -1
- package/dist/services/space-weather/space-weather-service.js +539 -82
- package/dist/services/space-weather/space-weather-service.js.map +1 -1
- package/dist/services/space-weather/types.d.ts +177 -21
- package/dist/services/space-weather/types.d.ts.map +1 -1
- package/package.json +3 -3
- package/server.json +3 -3
|
@@ -5,21 +5,84 @@
|
|
|
5
5
|
import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
6
6
|
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
7
7
|
import { getSpaceWeatherService } from '../../../services/space-weather/space-weather-service.js';
|
|
8
|
+
/**
|
|
9
|
+
* The A-class decade — the lowest SWPC names, and the fallback for a reading that
|
|
10
|
+
* reaches no floor at all. {@link classifyFlare} keeps calling such a reading "A",
|
|
11
|
+
* the weakest letter it has and the value that field has always carried;
|
|
12
|
+
* {@link classifyFlareWithMagnitude} reports no class for it, because the scheme
|
|
13
|
+
* has none below A1.0.
|
|
14
|
+
*/
|
|
15
|
+
const A_DECADE = ['A', 1e-8];
|
|
16
|
+
/** GOES flare-class decade floors in W/m², highest first. X is unbounded above. */
|
|
17
|
+
const FLARE_DECADES = [
|
|
18
|
+
['X', 1e-4],
|
|
19
|
+
['M', 1e-5],
|
|
20
|
+
['C', 1e-6],
|
|
21
|
+
['B', 1e-7],
|
|
22
|
+
A_DECADE,
|
|
23
|
+
];
|
|
24
|
+
/** The decade a flux reading sits in — its class letter and that class's floor. */
|
|
25
|
+
function flareDecade(fluxWm2) {
|
|
26
|
+
return FLARE_DECADES.find(([, floor]) => fluxWm2 >= floor) ?? A_DECADE;
|
|
27
|
+
}
|
|
8
28
|
/** Classify X-ray flux to flare class letter. */
|
|
9
29
|
function classifyFlare(fluxWm2) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
30
|
+
return flareDecade(fluxWm2)[0];
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Flare class with magnitude, e.g. "M5.2", matching how SWPC writes the classes it
|
|
34
|
+
* publishes on the flare feed — the same flare would otherwise be reported two ways
|
|
35
|
+
* in one response.
|
|
36
|
+
*
|
|
37
|
+
* SWPC **truncates** the decade quotient to one decimal; it does not round. Across a
|
|
38
|
+
* full 7-day flare capture all 29 published `max_class` values reproduce under
|
|
39
|
+
* truncation and only 11 under rounding, and rounding also invents classes that do
|
|
40
|
+
* not exist at a decade edge (9.986e-7 would become "B10.0"). The quotient is snapped
|
|
41
|
+
* to 12 significant digits first because binary division is inexact in an
|
|
42
|
+
* input-dependent way: 4.9e-5 / 1e-5 evaluates to 4.8999999999999995, which a bare
|
|
43
|
+
* truncation reports as M4.8 for a flux that is exactly M4.9.
|
|
44
|
+
*
|
|
45
|
+
* Null below the A1 floor of 1e-8 W/m², which includes zero and the negative
|
|
46
|
+
* excursions the long channel occasionally reports. SWPC's scheme starts at A1.0, so
|
|
47
|
+
* every string below that floor — "A0.0" for a zero, "A0.9" for 9.9e-9 — would be a
|
|
48
|
+
* class no SWPC product writes, stating a classification that does not exist. In a
|
|
49
|
+
* 7-day capture 431 of 9,982 long-channel readings were exactly 0.0 and none fell
|
|
50
|
+
* between 0 and 1e-8, so the floor is where the published vocabulary ends rather
|
|
51
|
+
* than a place real measurements sit.
|
|
52
|
+
*/
|
|
53
|
+
function classifyFlareWithMagnitude(fluxWm2) {
|
|
54
|
+
const [letter, floor] = flareDecade(fluxWm2);
|
|
55
|
+
// flareDecade falls back to the A decade, so a reading that reaches no floor —
|
|
56
|
+
// sub-A1, zero, negative, NaN — fails this comparison and has no class.
|
|
57
|
+
if (!(fluxWm2 >= floor))
|
|
58
|
+
return null;
|
|
59
|
+
const quotient = Number((fluxWm2 / floor).toPrecision(12));
|
|
60
|
+
return `${letter}${(Math.floor(quotient * 10) / 10).toFixed(1)}`;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* NOAA R-scale (radio blackout) levels as flux floors in W/m², highest first. The
|
|
64
|
+
* NOAA scales page states the levels by physical measure — R1 at M1, R2 at M5, R3 at
|
|
65
|
+
* X1, R4 at X10, R5 at X20 — so the level comes from the flux already in hand rather
|
|
66
|
+
* than from parsing a class string. Below M1 there is no blackout level.
|
|
67
|
+
*/
|
|
68
|
+
const R_SCALE_FLOORS = [
|
|
69
|
+
[5, 2e-3],
|
|
70
|
+
[4, 1e-3],
|
|
71
|
+
[3, 1e-4],
|
|
72
|
+
[2, 5e-5],
|
|
73
|
+
[1, 1e-5],
|
|
74
|
+
];
|
|
75
|
+
/** NOAA R-scale level (0–5) implied by a peak X-ray flux. */
|
|
76
|
+
function fluxToRScale(fluxWm2) {
|
|
77
|
+
return R_SCALE_FLOORS.find(([, floor]) => fluxWm2 >= floor)?.[0] ?? 0;
|
|
19
78
|
}
|
|
20
|
-
/**
|
|
79
|
+
/**
|
|
80
|
+
* Format X-ray flux for display: 2 significant digits in scientific notation, e.g.
|
|
81
|
+
* "1.4e-6 W/m²". Raw GOES values carry ~16 digits of IEEE-754 noise, which is what
|
|
82
|
+
* `fluxWm2Value` is for — a caller comparing numbers reads that field rather than
|
|
83
|
+
* parsing this string (#4).
|
|
84
|
+
*/
|
|
21
85
|
function formatFlux(fluxWm2) {
|
|
22
|
-
// toPrecision gives "1.40e-6" style; strip trailing zeros after decimal for readability.
|
|
23
86
|
return `${fluxWm2.toExponential(1)} W/m²`;
|
|
24
87
|
}
|
|
25
88
|
/**
|
|
@@ -51,10 +114,59 @@ const XraySchema = z
|
|
|
51
114
|
fluxWm2: z
|
|
52
115
|
.string()
|
|
53
116
|
.describe('X-ray flux in W/m² (0.1-0.8nm long channel from GOES), formatted as scientific notation with 2 significant digits, e.g. "1.4e-6 W/m²".'),
|
|
117
|
+
fluxWm2Value: z
|
|
118
|
+
.number()
|
|
119
|
+
.describe('Same quantity as fluxWm2, unformatted, so it can be compared without parsing the display string.'),
|
|
54
120
|
flareClass: z.string().describe('Flare classification letter: A, B, C, M, or X.'),
|
|
121
|
+
flareClassFull: z
|
|
122
|
+
.string()
|
|
123
|
+
.nullable()
|
|
124
|
+
.describe('Flare class with magnitude, e.g. "B2.5" — null below the A1 floor of 1e-8 W/m² (zero and negative readings included), where SWPC\'s class scheme defines none.'),
|
|
55
125
|
satellite: z.number().describe('GOES satellite number.'),
|
|
56
126
|
})
|
|
57
127
|
.describe('One GOES X-ray flux reading with flare class.');
|
|
128
|
+
const FlareSchema = z
|
|
129
|
+
.object({
|
|
130
|
+
beginTime: z.string().describe('ISO 8601 UTC onset time (SWPC begin_time).'),
|
|
131
|
+
maxTime: z.string().describe('ISO 8601 UTC time of peak flux (SWPC max_time).'),
|
|
132
|
+
endTime: z
|
|
133
|
+
.string()
|
|
134
|
+
.nullable()
|
|
135
|
+
.describe('ISO 8601 UTC decay time; null while the flare is still in progress.'),
|
|
136
|
+
beginClass: z.string().describe('GOES class with magnitude at onset, e.g. "B4.2".'),
|
|
137
|
+
maxClass: z
|
|
138
|
+
.string()
|
|
139
|
+
.describe('Peak GOES class with magnitude, e.g. "M5.2" — SWPC max_class, read as published.'),
|
|
140
|
+
endClass: z
|
|
141
|
+
.string()
|
|
142
|
+
.nullable()
|
|
143
|
+
.describe('GOES class with magnitude at decay; null while the flare is still in progress.'),
|
|
144
|
+
peakFluxWm2: z
|
|
145
|
+
.number()
|
|
146
|
+
.describe('Peak long-channel (0.1–0.8 nm) flux in W/m² — SWPC max_xrlong.'),
|
|
147
|
+
rScale: z
|
|
148
|
+
.number()
|
|
149
|
+
.describe('NOAA R-scale level implied by the peak flux (0–5); 0 means below the R1 threshold.'),
|
|
150
|
+
satellite: z.number().describe('GOES satellite number the record came from.'),
|
|
151
|
+
})
|
|
152
|
+
.describe('One discrete GOES X-ray flare event.');
|
|
153
|
+
const F107Schema = z
|
|
154
|
+
.object({
|
|
155
|
+
observedTime: z
|
|
156
|
+
.string()
|
|
157
|
+
.describe("ISO 8601 UTC time of the observation (normalized from the feed's Z-less tag). Up to ~24 h old — read it rather than treating the value as now."),
|
|
158
|
+
fluxSfu: z
|
|
159
|
+
.number()
|
|
160
|
+
.describe('10.7 cm solar radio flux in solar flux units (sfu), measured at 2800 MHz.'),
|
|
161
|
+
ninetyDayMeanSfu: z
|
|
162
|
+
.number()
|
|
163
|
+
.nullable()
|
|
164
|
+
.describe('90-day mean flux in sfu; null when the selected record does not carry one.'),
|
|
165
|
+
reportingSchedule: z
|
|
166
|
+
.string()
|
|
167
|
+
.describe('Which of the three daily Penticton reports this is: "Morning", "Noon", or "Afternoon".'),
|
|
168
|
+
})
|
|
169
|
+
.describe('Latest daily F10.7 index.');
|
|
58
170
|
const SolarRegionSchema = z
|
|
59
171
|
.object({
|
|
60
172
|
region: z.number().describe('NOAA active region number.'),
|
|
@@ -63,11 +175,21 @@ const SolarRegionSchema = z
|
|
|
63
175
|
spotClass: z.string().describe('Sunspot morphology class.'),
|
|
64
176
|
numberSpots: z.number().describe('Number of sunspots in this region.'),
|
|
65
177
|
magClass: z.string().describe('Magnetic field class.'),
|
|
66
|
-
cFlareProbability: z
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
178
|
+
cFlareProbability: z
|
|
179
|
+
.number()
|
|
180
|
+
.describe('Probability of a C-class flare from this region (%), for the UTC day AFTER observedDate — SWPC issues each day’s region probabilities against the previous day’s observation.'),
|
|
181
|
+
mFlareProbability: z
|
|
182
|
+
.number()
|
|
183
|
+
.describe('Probability of an M-class flare from this region (%), for the UTC day AFTER observedDate — SWPC issues each day’s region probabilities against the previous day’s observation.'),
|
|
184
|
+
xFlareProbability: z
|
|
185
|
+
.number()
|
|
186
|
+
.describe('Probability of an X-class flare from this region (%), for the UTC day AFTER observedDate — SWPC issues each day’s region probabilities against the previous day’s observation.'),
|
|
187
|
+
protonProbability: z
|
|
188
|
+
.number()
|
|
189
|
+
.describe('Probability of a proton event from this region (%), for the UTC day AFTER observedDate — SWPC issues each day’s region probabilities against the previous day’s observation.'),
|
|
190
|
+
observedDate: z
|
|
191
|
+
.string()
|
|
192
|
+
.describe('UTC date this region was observed. The four probability fields on this record cover the following day, not this one.'),
|
|
71
193
|
})
|
|
72
194
|
.describe('One active solar region with flare probabilities.');
|
|
73
195
|
const ProbsSchema = z
|
|
@@ -103,23 +225,38 @@ const ProtonSchema = z
|
|
|
103
225
|
.describe('One GOES integral proton flux reading with S-scale.');
|
|
104
226
|
export const getSolarActivity = tool('noaa_spaceweather_get_solar_activity', {
|
|
105
227
|
title: 'Get Solar Activity',
|
|
106
|
-
description: 'Solar flare and radiation storm picture:
|
|
107
|
-
'
|
|
108
|
-
'
|
|
109
|
-
'
|
|
110
|
-
'
|
|
228
|
+
description: 'Solar flare and radiation storm picture: discrete flare events from the past week with peak class ' +
|
|
229
|
+
'and R-scale level, recent GOES X-ray flux with flare-class labels (A/B/C/M/X) and class magnitude, ' +
|
|
230
|
+
'the daily F10.7 cm solar radio flux, 3-day flare-class probabilities (C/M/X), active solar regions ' +
|
|
231
|
+
'with per-region flare probabilities, and GOES integral proton flux at ≥10 MeV with NOAA S-scale. ' +
|
|
232
|
+
'For operators tracking HF radio blackout (R-scale, driven by X-ray) and radiation storm risk ' +
|
|
233
|
+
'(S-scale, driven by protons). Active region data helps identify which region is driving current activity.',
|
|
111
234
|
annotations: { readOnlyHint: true, openWorldHint: true, idempotentHint: true },
|
|
112
235
|
input: z.object({
|
|
113
236
|
include_regions: z
|
|
114
237
|
.boolean()
|
|
115
238
|
.default(true)
|
|
116
239
|
.describe('Include active solar region details (default true). Set false to skip region data and reduce response size.'),
|
|
240
|
+
flare_hours: z
|
|
241
|
+
.number()
|
|
242
|
+
.int()
|
|
243
|
+
.min(1)
|
|
244
|
+
.max(168)
|
|
245
|
+
.default(24)
|
|
246
|
+
.describe('How far back to report discrete flare events, in hours before now, filtered on each ' +
|
|
247
|
+
'flare’s onset time (1–168, default 24). The feed keeps a rolling 7 days, so 168 returns ' +
|
|
248
|
+
'everything it carries. When the window comes back empty, the response names the newest ' +
|
|
249
|
+
'flare the feed holds.'),
|
|
117
250
|
}),
|
|
118
251
|
output: z.object({
|
|
119
252
|
latestXray: XraySchema.nullable().describe('Most recent GOES X-ray flux reading, null if unavailable.'),
|
|
120
253
|
recentXray: z
|
|
121
254
|
.array(XraySchema)
|
|
122
255
|
.describe('GOES X-ray flux readings from the past hour, oldest first.'),
|
|
256
|
+
recentFlares: z
|
|
257
|
+
.array(FlareSchema)
|
|
258
|
+
.describe('Discrete flare events whose onset falls within the flare_hours window, oldest first. Empty when no flare began in the window.'),
|
|
259
|
+
f107: F107Schema.nullable().describe('Latest daily F10.7 solar radio flux — the Noon Penticton report, which is the value SWPC reports for the day. Null when the feed carries no such record.'),
|
|
123
260
|
probabilities: z.array(ProbsSchema).describe('3-day flare probability forecasts.'),
|
|
124
261
|
latestProton: ProtonSchema.nullable().describe('Most recent ≥10 MeV proton flux reading, null if unavailable.'),
|
|
125
262
|
sScale: z
|
|
@@ -133,34 +270,57 @@ export const getSolarActivity = tool('noaa_spaceweather_get_solar_activity', {
|
|
|
133
270
|
.describe('Currently active solar regions with per-region flare probabilities. Empty when include_regions=false or no regions are active.'),
|
|
134
271
|
fetchedAt: z.string().describe('ISO 8601 timestamp of when this data was fetched.'),
|
|
135
272
|
}),
|
|
273
|
+
enrichment: {
|
|
274
|
+
notice: z
|
|
275
|
+
.string()
|
|
276
|
+
.optional()
|
|
277
|
+
.describe('Guidance when the requested flare_hours window returned no flare events — names the newest flare the feed carries, or reports that the feed itself returned none.'),
|
|
278
|
+
},
|
|
136
279
|
errors: [
|
|
137
280
|
{
|
|
138
281
|
reason: 'feed_unavailable',
|
|
139
282
|
code: JsonRpcErrorCode.ServiceUnavailable,
|
|
140
|
-
when: 'SWPC
|
|
283
|
+
when: 'SWPC feed returns 5xx or 429, times out, or answers with a body that is not parseable JSON. Retried before failing.',
|
|
141
284
|
retryable: true,
|
|
142
285
|
recovery: 'Retry in 30–60 seconds; SWPC feeds occasionally lag during high-activity events.',
|
|
143
286
|
},
|
|
287
|
+
{
|
|
288
|
+
reason: 'feed_moved',
|
|
289
|
+
code: JsonRpcErrorCode.ServiceUnavailable,
|
|
290
|
+
when: 'SWPC feed path returns a permanent 4xx (404, 410, 401, 403). Fails in one attempt.',
|
|
291
|
+
retryable: false,
|
|
292
|
+
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.',
|
|
293
|
+
},
|
|
144
294
|
],
|
|
145
295
|
async handler(input, ctx) {
|
|
146
|
-
ctx.log.info('Fetching solar activity', {
|
|
296
|
+
ctx.log.info('Fetching solar activity', {
|
|
297
|
+
include_regions: input.include_regions,
|
|
298
|
+
flare_hours: input.flare_hours,
|
|
299
|
+
});
|
|
147
300
|
const svc = getSpaceWeatherService();
|
|
148
|
-
|
|
301
|
+
// Every composed feed is required: a Promise.allSettled with per-feed nulls would
|
|
302
|
+
// make a null f107 ambiguous between "feed down" and "no data", so any feed
|
|
303
|
+
// failure fails the call with its declared reason instead.
|
|
304
|
+
const [xray, flares, f107, probs, protons, regions] = await Promise.all([
|
|
149
305
|
svc.getXrayFlux(ctx),
|
|
306
|
+
svc.getXrayFlares(ctx),
|
|
307
|
+
svc.getF107(ctx),
|
|
150
308
|
svc.getSolarProbabilities(ctx),
|
|
151
309
|
svc.getProtonFlux(ctx),
|
|
152
310
|
input.include_regions ? svc.getSolarRegions(ctx) : Promise.resolve(null),
|
|
153
311
|
]);
|
|
312
|
+
/** One X-ray reading, with the class letter and the class-with-magnitude. */
|
|
313
|
+
const toXrayReading = (r) => ({
|
|
314
|
+
timeTag: r.timeTag,
|
|
315
|
+
fluxWm2: formatFlux(r.fluxWm2),
|
|
316
|
+
fluxWm2Value: r.fluxWm2,
|
|
317
|
+
flareClass: classifyFlare(r.fluxWm2),
|
|
318
|
+
flareClassFull: classifyFlareWithMagnitude(r.fluxWm2),
|
|
319
|
+
satellite: r.satellite,
|
|
320
|
+
});
|
|
154
321
|
// Latest X-ray
|
|
155
322
|
const latestXrayRaw = xray.length > 0 ? xray[xray.length - 1] : null;
|
|
156
|
-
const latestXray = latestXrayRaw
|
|
157
|
-
? {
|
|
158
|
-
timeTag: latestXrayRaw.timeTag,
|
|
159
|
-
fluxWm2: formatFlux(latestXrayRaw.fluxWm2),
|
|
160
|
-
flareClass: classifyFlare(latestXrayRaw.fluxWm2),
|
|
161
|
-
satellite: latestXrayRaw.satellite,
|
|
162
|
-
}
|
|
163
|
-
: null;
|
|
323
|
+
const latestXray = latestXrayRaw ? toXrayReading(latestXrayRaw) : null;
|
|
164
324
|
// Recent X-ray — last hour. Compare epochs, not raw ISO strings: X-ray
|
|
165
325
|
// timeTags carry no fractional seconds while toISOString() always emits
|
|
166
326
|
// .mmm, so lexicographic >= disagrees with true chronology at the window
|
|
@@ -170,12 +330,33 @@ export const getSolarActivity = tool('noaa_spaceweather_get_solar_activity', {
|
|
|
170
330
|
const hourCutoffMs = hourCutoff.getTime();
|
|
171
331
|
const recentXray = xray
|
|
172
332
|
.filter((r) => new Date(r.timeTag).getTime() >= hourCutoffMs)
|
|
173
|
-
.map(
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
333
|
+
.map(toXrayReading);
|
|
334
|
+
// Flare events whose onset falls in the requested window. Epoch compare for the
|
|
335
|
+
// same reason as the X-ray slice above: the cutoff carries milliseconds and the
|
|
336
|
+
// feed's onset times do not, so a lexicographic compare disagrees with
|
|
337
|
+
// chronology at the boundary.
|
|
338
|
+
const flareCutoffMs = Date.now() - input.flare_hours * 3_600_000;
|
|
339
|
+
const recentFlares = flares
|
|
340
|
+
.filter((f) => new Date(f.beginTime).getTime() >= flareCutoffMs)
|
|
341
|
+
.map((f) => ({
|
|
342
|
+
beginTime: f.beginTime,
|
|
343
|
+
maxTime: f.maxTime,
|
|
344
|
+
endTime: f.endTime,
|
|
345
|
+
beginClass: f.beginClass,
|
|
346
|
+
maxClass: f.maxClass,
|
|
347
|
+
endClass: f.endClass,
|
|
348
|
+
peakFluxWm2: f.peakFluxWm2,
|
|
349
|
+
rScale: fluxToRScale(f.peakFluxWm2),
|
|
350
|
+
satellite: f.satellite,
|
|
178
351
|
}));
|
|
352
|
+
// One call — the notice field is last-wins, so a second would clobber the first.
|
|
353
|
+
if (recentFlares.length === 0) {
|
|
354
|
+
// The service orders the series oldest-first, so the last element is the newest.
|
|
355
|
+
const newest = flares.at(-1);
|
|
356
|
+
ctx.enrich.notice(newest
|
|
357
|
+
? `No flare events began in the requested ${input.flare_hours}-hour window; the newest flare the feed carries is ${newest.maxClass}, which began at ${newest.beginTime}.`
|
|
358
|
+
: 'The feed returned no flare events.');
|
|
359
|
+
}
|
|
179
360
|
// Latest proton / S-scale
|
|
180
361
|
const latestProtonRaw = protons.length > 0 ? protons[protons.length - 1] : null;
|
|
181
362
|
const sScale = latestProtonRaw ? classifySScale(latestProtonRaw.fluxPfu) : 0;
|
|
@@ -200,6 +381,15 @@ export const getSolarActivity = tool('noaa_spaceweather_get_solar_activity', {
|
|
|
200
381
|
return {
|
|
201
382
|
latestXray,
|
|
202
383
|
recentXray,
|
|
384
|
+
recentFlares,
|
|
385
|
+
f107: f107
|
|
386
|
+
? {
|
|
387
|
+
observedTime: f107.observedTime,
|
|
388
|
+
fluxSfu: f107.fluxSfu,
|
|
389
|
+
ninetyDayMeanSfu: f107.ninetyDayMeanSfu,
|
|
390
|
+
reportingSchedule: f107.reportingSchedule,
|
|
391
|
+
}
|
|
392
|
+
: null,
|
|
203
393
|
probabilities: probs.map((p) => ({
|
|
204
394
|
date: p.date,
|
|
205
395
|
cClass1Day: p.cClass1Day,
|
|
@@ -238,15 +428,29 @@ export const getSolarActivity = tool('noaa_spaceweather_get_solar_activity', {
|
|
|
238
428
|
const x = result.latestXray;
|
|
239
429
|
lines.push('');
|
|
240
430
|
lines.push('### Latest X-ray Flux');
|
|
241
|
-
lines.push(`**Time:** ${x.timeTag} | **Class:** ${x.flareClass} | **Flux:** ${x.fluxWm2} | **Satellite:** GOES-${x.satellite}`);
|
|
431
|
+
lines.push(`**Time:** ${x.timeTag} | **Class:** ${x.flareClass} (${x.flareClassFull ?? 'no magnitude — flux below the A1 floor'}) | **Flux:** ${x.fluxWm2} (raw ${x.fluxWm2Value}) | **Satellite:** GOES-${x.satellite}`);
|
|
242
432
|
}
|
|
243
433
|
if (result.recentXray.length > 0) {
|
|
244
434
|
lines.push('');
|
|
245
435
|
lines.push('### X-ray (Past Hour)');
|
|
246
436
|
for (const r of result.recentXray) {
|
|
247
|
-
lines.push(`- ${r.timeTag}: ${r.flareClass} class — ${r.fluxWm2} | GOES-${r.satellite}`);
|
|
437
|
+
lines.push(`- ${r.timeTag}: ${r.flareClass} class ${r.flareClassFull ?? '(no magnitude)'} — ${r.fluxWm2} (raw ${r.fluxWm2Value}) | GOES-${r.satellite}`);
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
if (result.recentFlares.length > 0) {
|
|
441
|
+
lines.push('');
|
|
442
|
+
lines.push('### Flare Events');
|
|
443
|
+
for (const f of result.recentFlares) {
|
|
444
|
+
lines.push(`- **${f.maxClass}** peaked ${f.maxTime} at ${f.peakFluxWm2} W/m² — **R${f.rScale}** | began ${f.beginTime} as ${f.beginClass} | decayed ${f.endTime ?? 'in progress'} to ${f.endClass ?? 'in progress'} | GOES-${f.satellite}`);
|
|
248
445
|
}
|
|
249
446
|
}
|
|
447
|
+
if (result.f107) {
|
|
448
|
+
const f = result.f107;
|
|
449
|
+
lines.push('');
|
|
450
|
+
lines.push('### F10.7 cm Solar Radio Flux');
|
|
451
|
+
lines.push(`**Observed:** ${f.observedTime} (${f.reportingSchedule} report) | **Flux:** ${f.fluxSfu} sfu` +
|
|
452
|
+
(f.ninetyDayMeanSfu != null ? ` | **90-day mean:** ${f.ninetyDayMeanSfu} sfu` : ''));
|
|
453
|
+
}
|
|
250
454
|
if (result.latestProton) {
|
|
251
455
|
const p = result.latestProton;
|
|
252
456
|
lines.push('');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-solar-activity.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-solar-activity.tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"get-solar-activity.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-solar-activity.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,10 @@ import { z } from '@cyanheads/mcp-ts-core';
|
|
|
7
7
|
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
8
8
|
export declare const getSolarWind: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{
|
|
9
9
|
window_hours: z.ZodDefault<z.ZodNumber>;
|
|
10
|
+
resolution: z.ZodDefault<z.ZodEnum<{
|
|
11
|
+
full: "full";
|
|
12
|
+
reduced: "reduced";
|
|
13
|
+
}>>;
|
|
10
14
|
}, z.core.$strip>, z.ZodObject<{
|
|
11
15
|
plasma: z.ZodArray<z.ZodObject<{
|
|
12
16
|
timeTag: z.ZodString;
|
|
@@ -41,16 +45,28 @@ export declare const getSolarWind: import("@cyanheads/mcp-ts-core").ToolDefiniti
|
|
|
41
45
|
bzStatus: z.ZodString;
|
|
42
46
|
plasmaCount: z.ZodNumber;
|
|
43
47
|
magCount: z.ZodNumber;
|
|
48
|
+
bzMinInWindow: z.ZodNullable<z.ZodNumber>;
|
|
49
|
+
bzMinTimeTag: z.ZodNullable<z.ZodString>;
|
|
44
50
|
latestFeedPlasmaTime: z.ZodNullable<z.ZodString>;
|
|
45
51
|
latestFeedMagTime: z.ZodNullable<z.ZodString>;
|
|
46
52
|
feedStalenessHours: z.ZodNullable<z.ZodNumber>;
|
|
47
53
|
}, z.core.$strip>, readonly [{
|
|
48
54
|
readonly reason: "feed_unavailable";
|
|
49
55
|
readonly code: JsonRpcErrorCode.ServiceUnavailable;
|
|
50
|
-
readonly when: "SWPC
|
|
56
|
+
readonly when: "SWPC feed returns 5xx or 429, times out, or answers with a body that is not parseable JSON. Retried before failing.";
|
|
51
57
|
readonly retryable: true;
|
|
52
58
|
readonly recovery: "Retry in 30–60 seconds; SWPC feeds occasionally lag during high-activity events.";
|
|
59
|
+
}, {
|
|
60
|
+
readonly reason: "feed_moved";
|
|
61
|
+
readonly code: JsonRpcErrorCode.ServiceUnavailable;
|
|
62
|
+
readonly when: "SWPC feed path returns a permanent 4xx (404, 410, 401, 403). Fails in one attempt.";
|
|
63
|
+
readonly retryable: false;
|
|
64
|
+
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.";
|
|
53
65
|
}], {
|
|
54
66
|
readonly notice: z.ZodOptional<z.ZodString>;
|
|
67
|
+
readonly plasmaBucketRecords: z.ZodOptional<z.ZodNumber>;
|
|
68
|
+
readonly plasmaWindowRecords: z.ZodOptional<z.ZodNumber>;
|
|
69
|
+
readonly magBucketRecords: z.ZodOptional<z.ZodNumber>;
|
|
70
|
+
readonly magWindowRecords: z.ZodOptional<z.ZodNumber>;
|
|
55
71
|
}>;
|
|
56
72
|
//# sourceMappingURL=get-solar-wind.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-solar-wind.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-solar-wind.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"get-solar-wind.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-solar-wind.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAwGjE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmXvB,CAAC"}
|