@dangahagan/weather-mcp 1.25.7 → 1.25.9
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/README.md +3 -3
- package/dist/handlers/lightningHandler.d.ts.map +1 -1
- package/dist/handlers/lightningHandler.js +92 -24
- package/dist/handlers/lightningHandler.js.map +1 -1
- package/dist/services/blitzortung.d.ts +14 -1
- package/dist/services/blitzortung.d.ts.map +1 -1
- package/dist/services/blitzortung.js +122 -8
- package/dist/services/blitzortung.js.map +1 -1
- package/dist/types/lightning.d.ts +19 -2
- package/dist/types/lightning.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
[](https://www.npmjs.com/package/@dangahagan/weather-mcp)
|
|
4
4
|
[](https://registry.modelcontextprotocol.io/v0/servers?search=io.github.dgahagan/weather-mcp)
|
|
5
5
|
[](https://opensource.org/licenses/MIT)
|
|
6
|
-
[](./docs/testing/TEST_SUITE_README.md)
|
|
7
7
|
[](https://nodejs.org)
|
|
8
8
|
|
|
9
9
|
**Give your AI assistant real weather data — 17 tools, zero API keys, zero signup, zero cost.**
|
|
@@ -58,7 +58,7 @@ Choose this one if you want:
|
|
|
58
58
|
|
|
59
59
|
- **Genuinely free** — every data source is a free public API. No trial that expires, no credit card, no rate-limited "free tier" bait.
|
|
60
60
|
- **No API keys** — install to first forecast in under a minute. Nothing to configure, nothing to leak into a repo. ([Three optional keys](#optional-api-keys) add extras if you want them; the default configuration needs none.)
|
|
61
|
-
- **Fully open source** — MIT licensed, readable TypeScript, 2,
|
|
61
|
+
- **Fully open source** — MIT licensed, readable TypeScript, 2,800 tests. Audit it, fork it, fix it.
|
|
62
62
|
- **Privacy-respecting** — your queries go directly from your machine to public weather APIs. No middleman server, no telemetry.
|
|
63
63
|
- **Breadth** — 17 tools covering weather, safety hazards (lightning, floods, wildfires), marine conditions, air quality, and historical data back to 1940. Most weather MCPs stop at forecasts.
|
|
64
64
|
|
|
@@ -378,7 +378,7 @@ Being honest about what free public data can and can't do:
|
|
|
378
378
|
```bash
|
|
379
379
|
npm run build # Compile TypeScript
|
|
380
380
|
npm run dev # Run in development mode
|
|
381
|
-
npm test # Run all 2,
|
|
381
|
+
npm test # Run all 2,800 tests
|
|
382
382
|
npm run test:coverage # Coverage report
|
|
383
383
|
npm run audit # Dependency vulnerability scan
|
|
384
384
|
```
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lightningHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/lightningHandler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EAM1B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,EAAuD,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAe1G;;;GAGG;AACH,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,OAAO,EACb,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,gBAAgB,GACjC,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAyB7D;
|
|
1
|
+
{"version":3,"file":"lightningHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/lightningHandler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EAM1B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,EAAuD,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAe1G;;;GAGG;AACH,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,OAAO,EACb,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,gBAAgB,GACjC,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAyB7D;AAuKD;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CA6G9G;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,yBAAyB,EACnC,MAAM,GAAE,WAAwB,GAC/B,MAAM,CAiLR"}
|
|
@@ -73,11 +73,17 @@ function calculateStatistics(strikes, radiusKm, timeWindowMinutes) {
|
|
|
73
73
|
// Typically, stronger amplitude indicates cloud-to-ground
|
|
74
74
|
const cloudToGround = strikes.filter(s => Math.abs(s.amplitude) > 20).length;
|
|
75
75
|
const intraCloud = strikes.length - cloudToGround;
|
|
76
|
-
//
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
const
|
|
76
|
+
// Mean over the strikes that actually carry a distance. `s.distance || 0` added 0 for a
|
|
77
|
+
// distance-less strike while still counting it in the divisor, dragging the mean toward
|
|
78
|
+
// zero (issue #83). A strike whose distance is unknown contributes nothing to either side.
|
|
79
|
+
const located = strikes.filter((s) => s.distance != null);
|
|
80
|
+
const averageDistance = located.length > 0
|
|
81
|
+
? located.reduce((sum, s) => sum + s.distance, 0) / located.length
|
|
82
|
+
: null;
|
|
83
|
+
// Nearest distance. `??`, never `||`, for the same reason as assessSafety: a strike at exactly
|
|
84
|
+
// 0 km is falsy, and `|| 0` also turns an *absent* distance into a printed `0.0 km` — the
|
|
85
|
+
// opposite lie. Unknown is null, not zero (issue #83).
|
|
86
|
+
const nearestDistance = strikes[0]?.distance ?? null;
|
|
81
87
|
// Strikes per minute
|
|
82
88
|
const strikesPerMinute = strikes.length / timeWindowMinutes;
|
|
83
89
|
// Density per square km (area of search circle)
|
|
@@ -203,10 +209,20 @@ export async function getLightningActivity(params) {
|
|
|
203
209
|
const coverageMinutes = coverageStart
|
|
204
210
|
? Math.max(0, Math.min(timeWindow, (now.getTime() - coverageStart.getTime()) / (1000 * 60)))
|
|
205
211
|
: 0;
|
|
212
|
+
// Keyed on the array this query returned, so an overlapping query's outcome can never be read
|
|
213
|
+
// here. `!= null` rather than `!== null`: a bare `vi.fn()` stub returns `undefined`, and treating
|
|
214
|
+
// that as an outage would flip every existing fixture onto the outage path.
|
|
215
|
+
const feedUnavailable = blitzortungService.getFeedFailure(strikes) != null;
|
|
206
216
|
const coverage = {
|
|
207
217
|
monitoringSince: coverageStart,
|
|
208
218
|
coverageMinutes,
|
|
209
|
-
|
|
219
|
+
// A failed feed cannot have covered the requested window, whatever the subscription stamps
|
|
220
|
+
// say. `geohashFirstSubscribed` is written before the subscribe call, and mqtt reconnects in
|
|
221
|
+
// the background, so an outage can otherwise coexist with a non-null coverage start and a
|
|
222
|
+
// complete-looking window - and every caveat below is gated on `!isComplete`, so the outage
|
|
223
|
+
// text would be skipped entirely. `coverageMinutes` stays honest about earlier monitoring.
|
|
224
|
+
isComplete: coverageMinutes >= timeWindow && !feedUnavailable,
|
|
225
|
+
feedUnavailable
|
|
210
226
|
};
|
|
211
227
|
if (!coverage.isComplete && safety.level === 'safe') {
|
|
212
228
|
// Only the *message* is gated on whether there is a nearest-strike distance at all: with one
|
|
@@ -217,13 +233,31 @@ export async function getLightningActivity(params) {
|
|
|
217
233
|
// partial coverage makes the result inconclusive either way — but it stays inside the `safe`
|
|
218
234
|
// gate, because "treat this as inconclusive" above an EXTREME DANGER warning would degrade a
|
|
219
235
|
// life-safety message.
|
|
220
|
-
if (
|
|
236
|
+
if (coverage.feedUnavailable) {
|
|
237
|
+
// An outage always leaves the buffer's own story intact, so both arms are needed. With no
|
|
238
|
+
// distance there is nothing to report at all; with one, the `safe` band would otherwise
|
|
239
|
+
// print "no immediate lightning threat at this location" - an affirmative all-clear - one
|
|
240
|
+
// line under an UNKNOWN heading. `elevated`/`high`/`extreme` never reach this gate, so a
|
|
241
|
+
// buffered urgent verdict is never weakened.
|
|
242
|
+
safety.message = safety.nearestStrikeDistance === null
|
|
243
|
+
? 'The live lightning feed could not be reached, so no strikes could be observed for ' +
|
|
244
|
+
'this area. This is not an all-clear.'
|
|
245
|
+
: 'Buffered strikes from earlier monitoring are shown below, but the live lightning feed ' +
|
|
246
|
+
'could not be reached for this query, so current conditions are unknown. This is not ' +
|
|
247
|
+
'an all-clear.';
|
|
248
|
+
}
|
|
249
|
+
else if (safety.nearestStrikeDistance === null) {
|
|
221
250
|
safety.message =
|
|
222
251
|
'No lightning strikes observed during the limited monitoring period. ' +
|
|
223
252
|
'This does NOT confirm the absence of lightning activity.';
|
|
224
253
|
}
|
|
225
|
-
safety.recommendations.unshift(
|
|
226
|
-
|
|
254
|
+
safety.recommendations.unshift(coverage.feedUnavailable
|
|
255
|
+
// No "re-check shortly": during an outage every re-check reads the same zero, so the
|
|
256
|
+
// remedy that works is a different source, not a second look at this one.
|
|
257
|
+
? 'The live lightning feed was unreachable for this query — consult official weather ' +
|
|
258
|
+
'services (the NWS or your national authority) before making safety decisions.'
|
|
259
|
+
: `Live monitoring of this area covers only ${coverageMinutes.toFixed(1)} of the requested ` +
|
|
260
|
+
`${timeWindow} minutes — treat this result as inconclusive and re-check shortly.`);
|
|
227
261
|
}
|
|
228
262
|
return {
|
|
229
263
|
location: { latitude, longitude },
|
|
@@ -261,8 +295,17 @@ export function formatLightningActivityResponse(response, detail = 'standard') {
|
|
|
261
295
|
extreme: '🔴'
|
|
262
296
|
}[response.safety.level];
|
|
263
297
|
const limitedData = !response.coverage.isComplete;
|
|
298
|
+
// Strict `=== true`, so a fixture built before this field existed reads as a cold start rather
|
|
299
|
+
// than an outage. The internal safety level stays `safe` - this is a render-time substitution,
|
|
300
|
+
// not a fifth level - and only `safe` is overridden, so a buffered EXTREME keeps its own heading.
|
|
301
|
+
const feedDown = response.coverage.feedUnavailable === true;
|
|
264
302
|
const statusSuffix = limitedData && response.safety.level === 'safe' ? ' (LIMITED DATA)' : '';
|
|
265
|
-
|
|
303
|
+
if (feedDown && response.safety.level === 'safe') {
|
|
304
|
+
lines.push('## ⚪ Safety Status: UNKNOWN (LIVE FEED UNAVAILABLE)');
|
|
305
|
+
}
|
|
306
|
+
else {
|
|
307
|
+
lines.push(`## ${safetyIcon} Safety Status: ${response.safety.level.toUpperCase()}${statusSuffix}`);
|
|
308
|
+
}
|
|
266
309
|
lines.push('');
|
|
267
310
|
lines.push(response.safety.message);
|
|
268
311
|
lines.push('');
|
|
@@ -280,17 +323,36 @@ export function formatLightningActivityResponse(response, detail = 'standard') {
|
|
|
280
323
|
? `An absence of strikes in this report does not confirm an absence of lightning. `
|
|
281
324
|
: `The nearest-strike distance below is therefore a floor — a closer strike could have ` +
|
|
282
325
|
`occurred during the minutes that were not monitored. `;
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
326
|
+
// An outage selector above both existing variants, not a replacement for either: the two
|
|
327
|
+
// states have different causes and different remedies, and telling someone to re-check in a
|
|
328
|
+
// few minutes is advice that cannot work while the feed is down.
|
|
329
|
+
if (feedDown) {
|
|
330
|
+
lines.push(`⚠️ **Live feed unavailable:** The connection to the lightning detection feed failed for ` +
|
|
331
|
+
`this query, so live strike collection for this area spans ` +
|
|
332
|
+
`${response.coverage.coverageMinutes.toFixed(1)} of the requested ${response.timeWindow} minutes${since} — ` +
|
|
333
|
+
`from earlier monitoring only, if any. ` +
|
|
334
|
+
(response.safety.nearestStrikeDistance === null
|
|
335
|
+
? `No strikes could be observed; this is not an all-clear. `
|
|
336
|
+
: coverageCaveat) +
|
|
337
|
+
`Consult official weather services before making safety decisions.`);
|
|
338
|
+
lines.push('');
|
|
339
|
+
lines.push('*Why: strikes come from a live Blitzortung.org feed, and the server could not reach it ' +
|
|
340
|
+
'for this query. It reconnects automatically in the background; a later query may ' +
|
|
341
|
+
'succeed. No strike data is fabricated while the feed is down.*');
|
|
342
|
+
}
|
|
343
|
+
else {
|
|
344
|
+
lines.push(`⚠️ **Limited monitoring coverage:** Live strike collection for this area spans ` +
|
|
345
|
+
`${response.coverage.coverageMinutes.toFixed(1)} of the requested ${response.timeWindow} minutes${since}. ` +
|
|
346
|
+
coverageCaveat +
|
|
347
|
+
`Re-check in a few minutes or consult official weather services before making safety decisions.`);
|
|
348
|
+
lines.push('');
|
|
349
|
+
// Explain WHY coverage is limited so a fresh/near-zero reading is not mistaken for
|
|
350
|
+
// verified calm — this is expected on a first query, not an error.
|
|
351
|
+
lines.push('*Why: lightning is monitored via a live feed that only begins buffering strikes once ' +
|
|
352
|
+
'an area is first queried, so a location’s first lookup starts near zero coverage and ' +
|
|
353
|
+
'builds over the following minutes. Saved locations are pre-warmed at startup. Historical ' +
|
|
354
|
+
'strikes cannot be backfilled.*');
|
|
355
|
+
}
|
|
294
356
|
lines.push('');
|
|
295
357
|
}
|
|
296
358
|
// Recommendations
|
|
@@ -311,8 +373,12 @@ export function formatLightningActivityResponse(response, detail = 'standard') {
|
|
|
311
373
|
if (response.statistics.totalStrikes > 0) {
|
|
312
374
|
lines.push(`**Cloud-to-Ground:** ${response.statistics.cloudToGroundStrikes}`);
|
|
313
375
|
lines.push(`**Intra-Cloud:** ${response.statistics.intraCloudStrikes}`);
|
|
314
|
-
lines.push(
|
|
315
|
-
|
|
376
|
+
lines.push(response.statistics.nearestDistance === null
|
|
377
|
+
? '**Nearest Strike:** distance unavailable'
|
|
378
|
+
: `**Nearest Strike:** ${response.statistics.nearestDistance.toFixed(1)} km away`);
|
|
379
|
+
lines.push(response.statistics.averageDistance === null
|
|
380
|
+
? '**Average Distance:** unavailable'
|
|
381
|
+
: `**Average Distance:** ${response.statistics.averageDistance.toFixed(1)} km`);
|
|
316
382
|
lines.push(`**Strike Rate:** ${response.statistics.strikesPerMinute.toFixed(2)} strikes/minute`);
|
|
317
383
|
lines.push(`**Density:** ${response.statistics.densityPerSqKm.toFixed(4)} strikes/km²`);
|
|
318
384
|
lines.push(`**Active Thunderstorm:** ${response.safety.isActiveThunderstorm ? 'Yes' : 'No'}`);
|
|
@@ -329,7 +395,9 @@ export function formatLightningActivityResponse(response, detail = 'standard') {
|
|
|
329
395
|
const ageMinutes = (response.generatedAt.getTime() - strike.timestamp.getTime()) / (1000 * 60);
|
|
330
396
|
const polaritySymbol = strike.polarity > 0 ? '+' : '−';
|
|
331
397
|
lines.push(`### Strike ${index + 1}`);
|
|
332
|
-
lines.push(
|
|
398
|
+
lines.push(strike.distance != null
|
|
399
|
+
? `- **Distance:** ${strike.distance.toFixed(1)} km`
|
|
400
|
+
: '- **Distance:** unavailable');
|
|
333
401
|
lines.push(`- **Time:** ${strike.timestamp.toISOString()} (${ageMinutes.toFixed(1)} minutes ago)`);
|
|
334
402
|
lines.push(`- **Location:** ${strike.latitude.toFixed(4)}, ${strike.longitude.toFixed(4)}`);
|
|
335
403
|
lines.push(`- **Polarity:** ${polaritySymbol} (${strike.polarity > 0 ? 'Positive' : 'Negative'})`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lightningHandler.js","sourceRoot":"","sources":["../../src/handlers/lightningHandler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lightningHandler.js","sourceRoot":"","sources":["../../src/handlers/lightningHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* @see https://github.com/mrk-its/homeassistant-blitzortung
|
|
7
7
|
* @see https://www.blitzortung.org/
|
|
8
8
|
*/
|
|
9
|
-
import { LightningStrike } from '../types/lightning.js';
|
|
9
|
+
import { LightningStrike, LightningFeedFailure } from '../types/lightning.js';
|
|
10
10
|
export declare class BlitzortungService {
|
|
11
11
|
private client;
|
|
12
12
|
private readonly brokerUrl;
|
|
@@ -21,6 +21,8 @@ export declare class BlitzortungService {
|
|
|
21
21
|
private readonly maxSubscriptions;
|
|
22
22
|
private isConnecting;
|
|
23
23
|
private isConnected;
|
|
24
|
+
private readonly feedFailures;
|
|
25
|
+
private connectionLossGeneration;
|
|
24
26
|
constructor();
|
|
25
27
|
/**
|
|
26
28
|
* Connect to MQTT broker if not already connected
|
|
@@ -55,6 +57,17 @@ export declare class BlitzortungService {
|
|
|
55
57
|
* failures are swallowed and must never block or crash startup.
|
|
56
58
|
*/
|
|
57
59
|
prewarmLocation(latitude: number, longitude: number, radiusKm?: number): Promise<void>;
|
|
60
|
+
/**
|
|
61
|
+
* The transport outcome of the query that produced `strikes`.
|
|
62
|
+
*
|
|
63
|
+
* Null when that query reached the broker, subscribed, and stayed connected for its whole
|
|
64
|
+
* collection window; otherwise the moment and sanitized cause of the transport failure it
|
|
65
|
+
* swallowed. Keyed on the returned array rather than held as a "last failure" field, so
|
|
66
|
+
* overlapping queries cannot exchange outcomes and a pre-warm - which has no result array -
|
|
67
|
+
* cannot set one at all. The returned object is never mutated after construction, so no
|
|
68
|
+
* defensive copy is made.
|
|
69
|
+
*/
|
|
70
|
+
getFeedFailure(strikes: LightningStrike[]): LightningFeedFailure | null;
|
|
58
71
|
/**
|
|
59
72
|
* Get the moment from which the entire queried area has been continuously
|
|
60
73
|
* monitored, or null if any part of it is not currently subscribed (or the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blitzortung.d.ts","sourceRoot":"","sources":["../../src/services/blitzortung.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"blitzortung.d.ts","sourceRoot":"","sources":["../../src/services/blitzortung.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAA8B,MAAM,uBAAuB,CAAC;AA8J1G,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAA2B;IAazC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA2E;IACrG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IACjD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAQ;IACxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IAGxC,OAAO,CAAC,YAAY,CAA2C;IAC/D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAmB;IAClD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IAGvC,OAAO,CAAC,mBAAmB,CAAkC;IAI7D,OAAO,CAAC,sBAAsB,CAAkC;IAChE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAM;IACvC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,WAAW,CAAS;IAO5B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA0D;IAOvF,OAAO,CAAC,wBAAwB,CAAK;IAErC,cAKC;IAED;;OAEG;YACW,eAAe;IA2F7B;;OAEG;IACH,OAAO,CAAC,aAAa;IAwFrB;;OAEG;YACW,mBAAmB;IA4GjC;;OAEG;YACW,wBAAwB;IAgDtC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAqDhC;;OAEG;IACG,mBAAmB,CACvB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,GAAE,MAAY,EACtB,iBAAiB,GAAE,MAAW,GAC7B,OAAO,CAAC,eAAe,EAAE,CAAC,CA0G5B;IAED;;;;;;;OAOG;IACG,eAAe,CACnB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,GAAE,MAAY,GACrB,OAAO,CAAC,IAAI,CAAC,CAyBf;IAED;;;;;;;;;OASG;IACH,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,oBAAoB,GAAG,IAAI,CAEtE;IAED;;;;;OAKG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAmBnF;IAED;;OAEG;IACH,OAAO,CAAC,aAAa;IAuCrB;;OAEG;IACH,OAAO,CAAC,aAAa;IAoBrB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAO5B;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAiBhC;CACF;AAGD,eAAO,MAAM,kBAAkB,oBAA2B,CAAC"}
|
|
@@ -143,6 +143,18 @@ export class BlitzortungService {
|
|
|
143
143
|
maxSubscriptions = 50; // Limit concurrent subscriptions to prevent unbounded growth
|
|
144
144
|
isConnecting = false;
|
|
145
145
|
isConnected = false;
|
|
146
|
+
// A query's transport outcome is bound to the array that query returns, never held in a
|
|
147
|
+
// "last failure" field. `getLightningStrikes` suspends for 10s at the accumulation wait, and
|
|
148
|
+
// the MCP SDK starts each tools/call on its own promise chain, so overlapping queries would
|
|
149
|
+
// read each other's outcome through any shared field - rendering a successful query as an
|
|
150
|
+
// outage, or erasing a real one. A WeakMap lets a returned array take its entry with it.
|
|
151
|
+
feedFailures = new WeakMap();
|
|
152
|
+
// Bumped on every connection loss (the `close` event, and the post-connect `error` event).
|
|
153
|
+
// A close after subscribe resolves rejects nothing, so the catch below never sees it, and
|
|
154
|
+
// mqtt's own reconnect can restore `isConnected` before the query returns - a final boolean
|
|
155
|
+
// check would miss the gap entirely. Comparing the counter across the collection window is
|
|
156
|
+
// what makes a mid-query outage distinguishable from a first-query cold start.
|
|
157
|
+
connectionLossGeneration = 0;
|
|
146
158
|
constructor() {
|
|
147
159
|
// Start cleanup interval
|
|
148
160
|
this.startCleanupInterval();
|
|
@@ -215,11 +227,13 @@ export class BlitzortungService {
|
|
|
215
227
|
this.client.on('error', (error) => {
|
|
216
228
|
clearTimeout(timeoutId);
|
|
217
229
|
this.isConnecting = false;
|
|
230
|
+
this.connectionLossGeneration++;
|
|
218
231
|
logger.error('MQTT connection error', error);
|
|
219
232
|
reject(error);
|
|
220
233
|
});
|
|
221
234
|
this.client.on('close', () => {
|
|
222
235
|
this.isConnected = false;
|
|
236
|
+
this.connectionLossGeneration++;
|
|
223
237
|
logger.warn('MQTT connection closed');
|
|
224
238
|
});
|
|
225
239
|
this.client.on('message', this.handleMessage.bind(this));
|
|
@@ -316,12 +330,20 @@ export class BlitzortungService {
|
|
|
316
330
|
/**
|
|
317
331
|
* Subscribe to geohash topics for a location
|
|
318
332
|
*/
|
|
319
|
-
async subscribeToLocation(latitude, longitude, radiusKm
|
|
333
|
+
async subscribeToLocation(latitude, longitude, radiusKm,
|
|
334
|
+
// Invocation-local, so a caller can tell which transport phase its own failure came from.
|
|
335
|
+
// Deliberately an out-parameter rather than an instance field: pre-warm and overlapping
|
|
336
|
+
// queries all share this method, and a shared phase field would let one of them describe
|
|
337
|
+
// another's failure. Trailing and optional, so omitting it is exactly the old behaviour.
|
|
338
|
+
phase) {
|
|
320
339
|
// Resolved here, outside `ensureConnected`, so that method contains no
|
|
321
340
|
// await before it sets `isConnecting` (see the comment there). An absent
|
|
322
341
|
// package therefore throws before any connection state is touched, and
|
|
323
342
|
// concurrent callers all reject from the one shared import promise.
|
|
324
343
|
const mqtt = await loadMqtt();
|
|
344
|
+
if (phase) {
|
|
345
|
+
phase.current = 'connect';
|
|
346
|
+
}
|
|
325
347
|
await this.ensureConnected(mqtt);
|
|
326
348
|
if (!this.client) {
|
|
327
349
|
throw new Error('MQTT client not connected');
|
|
@@ -345,6 +367,15 @@ export class BlitzortungService {
|
|
|
345
367
|
}
|
|
346
368
|
// Subscribe to each geohash and track access time
|
|
347
369
|
const subscriptions = [];
|
|
370
|
+
// The geohashes THIS call is the first to stamp. Both maps are written before the broker has
|
|
371
|
+
// accepted anything, so a failed subscribe must undo them: a geohash left behind is treated
|
|
372
|
+
// as subscribed forever after, which makes the next query for the same area compute an empty
|
|
373
|
+
// `potentialNewSubs`, skip `subscribe` entirely, and read a coverage start for a topic no one
|
|
374
|
+
// is listening to - a green LIMITED DATA verdict and "re-check shortly" while the feed is
|
|
375
|
+
// down, which is exactly the cold-start story this feature exists to stop telling. Only what
|
|
376
|
+
// this call staged is rolled back, so a geohash another call subscribed successfully is
|
|
377
|
+
// never dropped.
|
|
378
|
+
const staged = [];
|
|
348
379
|
for (const geohash of geohashes) {
|
|
349
380
|
if (!this.subscribedGeohashes.has(geohash)) {
|
|
350
381
|
// IMPORTANT: Geohash characters must be separated by slashes in the topic
|
|
@@ -353,16 +384,31 @@ export class BlitzortungService {
|
|
|
353
384
|
const topic = `${this.topicPrefix}/${geohashPath}/#`;
|
|
354
385
|
subscriptions.push(topic);
|
|
355
386
|
this.geohashFirstSubscribed.set(geohash, now);
|
|
387
|
+
staged.push(geohash);
|
|
356
388
|
}
|
|
357
389
|
// Update access time for all geohashes in this request (LRU tracking)
|
|
358
390
|
this.subscribedGeohashes.set(geohash, now);
|
|
359
391
|
}
|
|
360
392
|
if (subscriptions.length > 0) {
|
|
393
|
+
if (phase) {
|
|
394
|
+
phase.current = 'subscribe';
|
|
395
|
+
}
|
|
361
396
|
await new Promise((resolve, reject) => {
|
|
362
397
|
this.client.subscribe(subscriptions, (error) => {
|
|
363
398
|
if (error) {
|
|
364
|
-
|
|
365
|
-
|
|
399
|
+
for (const geohash of staged) {
|
|
400
|
+
this.subscribedGeohashes.delete(geohash);
|
|
401
|
+
this.geohashFirstSubscribed.delete(geohash);
|
|
402
|
+
}
|
|
403
|
+
// The `Error` slot is deliberately left empty, as in the loader above: the logger
|
|
404
|
+
// serialises message and stack, and mqtt's own errors carry the broker host and port
|
|
405
|
+
// in both (`connect ECONNREFUSED <host>:<port>`). Only the name and code are kept —
|
|
406
|
+
// enough to say which leg failed, without naming where it connected.
|
|
407
|
+
const failure = error;
|
|
408
|
+
logger.error('Failed to subscribe to topics', undefined, {
|
|
409
|
+
topics: subscriptions,
|
|
410
|
+
name: failure.name,
|
|
411
|
+
code: failure.code
|
|
366
412
|
});
|
|
367
413
|
reject(error);
|
|
368
414
|
}
|
|
@@ -478,6 +524,8 @@ export class BlitzortungService {
|
|
|
478
524
|
* Get recent lightning strikes from buffer
|
|
479
525
|
*/
|
|
480
526
|
async getLightningStrikes(latitude, longitude, radiusKm = 100, timeWindowMinutes = 60) {
|
|
527
|
+
// Local to this invocation - see subscribeToLocation's `phase` parameter.
|
|
528
|
+
const phase = { current: 'connect' };
|
|
481
529
|
try {
|
|
482
530
|
// Redact coordinates for logging to protect user privacy
|
|
483
531
|
const redacted = redactCoordinatesForLogging(latitude, longitude);
|
|
@@ -488,13 +536,28 @@ export class BlitzortungService {
|
|
|
488
536
|
timeWindowMinutes
|
|
489
537
|
});
|
|
490
538
|
// Subscribe to the location
|
|
491
|
-
await this.subscribeToLocation(latitude, longitude, radiusKm);
|
|
539
|
+
await this.subscribeToLocation(latitude, longitude, radiusKm, phase);
|
|
540
|
+
// Captured AFTER the transport work succeeds, not before it: an initial connect that
|
|
541
|
+
// mqtt retries internally bumps the counter on its way to succeeding, and comparing
|
|
542
|
+
// against a pre-transport reading would flag that query as degraded after it had in
|
|
543
|
+
// fact connected. From here on, any bump is a loss during OUR collection window.
|
|
544
|
+
const generationAtSubscribe = this.connectionLossGeneration;
|
|
492
545
|
// Wait for strikes to accumulate in buffer after subscription
|
|
493
546
|
// This allows time for MQTT messages to arrive and be processed
|
|
494
547
|
// 10 seconds provides good coverage for active lightning areas
|
|
495
548
|
await new Promise(resolve => setTimeout(resolve, 10000));
|
|
496
549
|
// Filter strikes from buffer
|
|
497
550
|
const strikes = this.filterStrikes(latitude, longitude, radiusKm, timeWindowMinutes);
|
|
551
|
+
// A broker that drops after we subscribed rejects nothing, so the catch below never
|
|
552
|
+
// runs and the report would explain a real outage as a first-query cold start - the
|
|
553
|
+
// exact dishonesty this whole path exists to remove. Buffered strikes still carry their
|
|
554
|
+
// verdict; what changes is that the report stops claiming the coverage gap is benign.
|
|
555
|
+
if (this.connectionLossGeneration !== generationAtSubscribe || !this.isConnected) {
|
|
556
|
+
this.feedFailures.set(strikes, { at: new Date(), reason: 'connection_error' });
|
|
557
|
+
logger.warn('Lightning feed connection lost during collection', {
|
|
558
|
+
reason: 'connection_error'
|
|
559
|
+
});
|
|
560
|
+
}
|
|
498
561
|
logger.info('Lightning data retrieved successfully', {
|
|
499
562
|
totalStrikes: strikes.length,
|
|
500
563
|
bufferSize: this.strikeBuffer.size
|
|
@@ -512,9 +575,43 @@ export class BlitzortungService {
|
|
|
512
575
|
if (error instanceof MqttUnavailableError || error instanceof MqttLoadFailedError) {
|
|
513
576
|
throw error;
|
|
514
577
|
}
|
|
515
|
-
|
|
516
|
-
//
|
|
517
|
-
|
|
578
|
+
// Classify by the phase this invocation reached, never by the error's identity: only the
|
|
579
|
+
// connect timeout is ours (`new Error('MQTT connection timeout')`); the broker `error`
|
|
580
|
+
// event and the subscribe callback both reject with mqtt's own object unchanged. The
|
|
581
|
+
// reason never reaches rendered output - it exists so the stderr log can say which leg
|
|
582
|
+
// failed without carrying a broker URL or a raw upstream error into either surface.
|
|
583
|
+
const reason = error.message === 'MQTT connection timeout'
|
|
584
|
+
? 'connect_timeout'
|
|
585
|
+
: phase.current === 'subscribe'
|
|
586
|
+
? 'subscribe_failed'
|
|
587
|
+
: 'connection_error';
|
|
588
|
+
// The `Error` slot is deliberately left empty, as in the loader and the subscribe callback
|
|
589
|
+
// above: `reason` is the sanitized classification, and passing mqtt's own object alongside
|
|
590
|
+
// it would serialise the message and stack that name the broker host and port — undoing
|
|
591
|
+
// the whole point of classifying by phase.
|
|
592
|
+
const failure = error;
|
|
593
|
+
logger.error('Failed to fetch lightning data', undefined, {
|
|
594
|
+
reason,
|
|
595
|
+
name: failure.name,
|
|
596
|
+
code: failure.code
|
|
597
|
+
});
|
|
598
|
+
// Degrading (rather than throwing) is the settled classification: a transport failure is a
|
|
599
|
+
// degraded report, not a contract failure - get_weather_summary must keep its lightning
|
|
600
|
+
// section, and what was dishonest was the explanation, not the presence of a report.
|
|
601
|
+
//
|
|
602
|
+
// Read the buffer rather than returning `[]`. A failure to reach the feed says nothing about
|
|
603
|
+
// the strikes already in hand: they were detected, they are inside the requested window, and
|
|
604
|
+
// discarding them turns a stale report into an empty one - "no strikes could be observed"
|
|
605
|
+
// over a strike this server holds, which is the same shape of lie as the cold-start story
|
|
606
|
+
// this whole path exists to stop telling. A connection lost mid-collection already renders
|
|
607
|
+
// from the buffer (the generation check above returns `strikes`); reading it here is what
|
|
608
|
+
// makes the four transport-failure shapes agree instead of two of them silently dropping an
|
|
609
|
+
// EXTREME verdict. `filterStrikes` touches no network and returns a fresh array per call, so
|
|
610
|
+
// the distinct-array property below is preserved: two concurrent failures can never share one
|
|
611
|
+
// WeakMap entry.
|
|
612
|
+
const degraded = this.filterStrikes(latitude, longitude, radiusKm, timeWindowMinutes);
|
|
613
|
+
this.feedFailures.set(degraded, { at: new Date(), reason });
|
|
614
|
+
return degraded;
|
|
518
615
|
}
|
|
519
616
|
}
|
|
520
617
|
/**
|
|
@@ -543,11 +640,28 @@ export class BlitzortungService {
|
|
|
543
640
|
if (error instanceof MqttUnavailableError || error instanceof MqttLoadFailedError) {
|
|
544
641
|
return;
|
|
545
642
|
}
|
|
643
|
+
// Same rule as the two `logger.error` sites above: mqtt's own message names the broker
|
|
644
|
+
// host and port, so only the name and code are kept.
|
|
645
|
+
const failure = error;
|
|
546
646
|
logger.warn('Failed to pre-warm lightning monitoring for location', {
|
|
547
|
-
|
|
647
|
+
name: failure.name,
|
|
648
|
+
code: failure.code
|
|
548
649
|
});
|
|
549
650
|
}
|
|
550
651
|
}
|
|
652
|
+
/**
|
|
653
|
+
* The transport outcome of the query that produced `strikes`.
|
|
654
|
+
*
|
|
655
|
+
* Null when that query reached the broker, subscribed, and stayed connected for its whole
|
|
656
|
+
* collection window; otherwise the moment and sanitized cause of the transport failure it
|
|
657
|
+
* swallowed. Keyed on the returned array rather than held as a "last failure" field, so
|
|
658
|
+
* overlapping queries cannot exchange outcomes and a pre-warm - which has no result array -
|
|
659
|
+
* cannot set one at all. The returned object is never mutated after construction, so no
|
|
660
|
+
* defensive copy is made.
|
|
661
|
+
*/
|
|
662
|
+
getFeedFailure(strikes) {
|
|
663
|
+
return this.feedFailures.get(strikes) ?? null;
|
|
664
|
+
}
|
|
551
665
|
/**
|
|
552
666
|
* Get the moment from which the entire queried area has been continuously
|
|
553
667
|
* monitored, or null if any part of it is not currently subscribed (or the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blitzortung.js","sourceRoot":"","sources":["../../src/services/blitzortung.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"blitzortung.js","sourceRoot":"","sources":["../../src/services/blitzortung.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,8 +34,8 @@ export interface LightningStatistics {
|
|
|
34
34
|
totalStrikes: number;
|
|
35
35
|
cloudToGroundStrikes: number;
|
|
36
36
|
intraCloudStrikes: number;
|
|
37
|
-
averageDistance: number;
|
|
38
|
-
nearestDistance: number;
|
|
37
|
+
averageDistance: number | null;
|
|
38
|
+
nearestDistance: number | null;
|
|
39
39
|
strikesPerMinute: number;
|
|
40
40
|
densityPerSqKm: number;
|
|
41
41
|
}
|
|
@@ -60,6 +60,23 @@ export interface LightningMonitoringCoverage {
|
|
|
60
60
|
monitoringSince: Date | null;
|
|
61
61
|
coverageMinutes: number;
|
|
62
62
|
isComplete: boolean;
|
|
63
|
+
feedUnavailable: boolean;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Why a lightning query could not reach the live feed. Classified at the point
|
|
67
|
+
* of failure from the transport phase, never from an error message, so no broker
|
|
68
|
+
* URL or upstream error detail can reach a rendered report or a log line.
|
|
69
|
+
*/
|
|
70
|
+
export type LightningFeedFailureReason = 'connect_timeout' | 'connection_error' | 'subscribe_failed';
|
|
71
|
+
/**
|
|
72
|
+
* The moment and sanitized cause of a transport failure a lightning query
|
|
73
|
+
* swallowed. Associated with the array that query returned, never stored as a
|
|
74
|
+
* "last failure" field: queries overlap, so a shared field would let one query's
|
|
75
|
+
* outcome be read by another.
|
|
76
|
+
*/
|
|
77
|
+
export interface LightningFeedFailure {
|
|
78
|
+
at: Date;
|
|
79
|
+
reason: LightningFeedFailureReason;
|
|
63
80
|
}
|
|
64
81
|
/**
|
|
65
82
|
* Lightning activity response
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lightning.d.ts","sourceRoot":"","sources":["../../src/types/lightning.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;AAE5E;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,IAAI,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"lightning.d.ts","sourceRoot":"","sources":["../../src/types/lightning.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;AAE5E;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,IAAI,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,oBAAoB,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,iBAAiB,EAAE,IAAI,GAAG,IAAI,CAAC;IAC/B,oBAAoB,EAAE,OAAO,CAAC;CAC/B;AAED;;;;;GAKG;AACH,MAAM,WAAW,2BAA2B;IAC1C,eAAe,EAAE,IAAI,GAAG,IAAI,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED;;;;GAIG;AACH,MAAM,MAAM,0BAA0B,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;AAErG;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,IAAI,CAAC;IACT,MAAM,EAAE,0BAA0B,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE;QACR,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE;QACZ,KAAK,EAAE,IAAI,CAAC;QACZ,GAAG,EAAE,IAAI,CAAC;KACX,CAAC;IACF,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,UAAU,EAAE,mBAAmB,CAAC;IAChC,MAAM,EAAE,yBAAyB,CAAC;IAClC,QAAQ,EAAE,2BAA2B,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,IAAI,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,iBAAiB,EAAE,CAAC;CAC9B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dangahagan/weather-mcp",
|
|
3
|
-
"version": "1.25.
|
|
3
|
+
"version": "1.25.9",
|
|
4
4
|
"description": "MCP server giving AI assistants 17 weather tools with zero API keys: global forecasts, current conditions, alerts, air quality, marine conditions, lightning detection, radar imagery, river levels, wildfire tracking, and historical weather back to 1940. Built entirely on free public APIs (NOAA, Open-Meteo, USGS, NIFC).",
|
|
5
5
|
"mcpName": "io.github.dgahagan/weather-mcp",
|
|
6
6
|
"main": "dist/index.js",
|