@dangahagan/weather-mcp 1.30.1 → 1.31.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/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  [![npm version](https://badge.fury.io/js/@dangahagan%2Fweather-mcp.svg)](https://www.npmjs.com/package/@dangahagan/weather-mcp)
4
4
  [![MCP Registry](https://img.shields.io/badge/MCP-Registry-blue)](https://registry.modelcontextprotocol.io/v0/servers?search=io.github.dgahagan/weather-mcp)
5
5
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6
- [![Tests](https://img.shields.io/badge/tests-3%2C464%20passing-brightgreen)](./docs/testing/TEST_SUITE_README.md)
6
+ [![Tests](https://img.shields.io/badge/tests-3%2C481%20passing-brightgreen)](./docs/testing/TEST_SUITE_README.md)
7
7
  [![Node](https://img.shields.io/badge/node-%3E%3D18-339933?logo=node.js&logoColor=white)](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, 3,464 tests. Audit it, fork it, fix it.
61
+ - **Fully open source** — MIT licensed, readable TypeScript, 3,481 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
 
@@ -388,7 +388,7 @@ Being honest about what free public data can and can't do:
388
388
  ```bash
389
389
  npm run build # Compile TypeScript
390
390
  npm run dev # Run in development mode
391
- npm test # Run all 3,464 tests
391
+ npm test # Run all 3,481 tests
392
392
  npm run test:coverage # Coverage report
393
393
  npm run audit # Dependency vulnerability scan
394
394
  ```
@@ -1 +1 @@
1
- {"version":3,"file":"marineConditionsHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/marineConditionsHandler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAoC5D,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,OAAO,EACb,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,EAClC,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,CAuG7D"}
1
+ {"version":3,"file":"marineConditionsHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/marineConditionsHandler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAuC5D,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,OAAO,EACb,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,EAClC,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,CAuG7D"}
@@ -5,7 +5,7 @@
5
5
  import { DateTime } from 'luxon';
6
6
  import { resolveLocationAsync, prependLocationLine } from '../utils/locationResolver.js';
7
7
  import { validateOptionalBoolean, validatePositiveInteger } from '../utils/validation.js';
8
- import { formatWaveHeight, formatWavePeriod, formatDirection, formatCurrentVelocity, formatWindSpeed, getWaveHeightCategory, getSafetyAssessment, seaStateMarker, formatSeaStateLegend, extractNOAAMarineConditions } from '../utils/marine.js';
8
+ import { formatWaveHeight, formatWavePeriod, formatDirection, formatCurrentVelocity, formatWindSpeed, getWaveHeightCategory, getSafetyAssessment, formatSeaStateBlock, formatNoMarineCellNote, formatSeaStateLegend, NO_DATA_LEVEL, extractNOAAMarineConditions } from '../utils/marine.js';
9
9
  import { shouldUseNOAAMarine } from '../utils/geography.js';
10
10
  import { finiteSampleAt } from '../utils/finiteSample.js';
11
11
  import { logger, redactCoordinatesForLogging } from '../utils/logger.js';
@@ -86,7 +86,7 @@ export async function handleGetMarineConditions(args, noaaService, openMeteoServ
86
86
  // Use Open-Meteo (default for oceans, or fallback for NOAA regions)
87
87
  const marineData = await openMeteoService.getMarine(latitude, longitude, forecast, forecastDays);
88
88
  // Format the marine data for display
89
- const output = formatOpenMeteoMarineConditions(marineData, latitude, longitude, forecast);
89
+ const output = formatOpenMeteoMarineConditions(marineData, latitude, longitude, forecast, resolved);
90
90
  return prependLocationLine({
91
91
  content: [
92
92
  {
@@ -105,9 +105,17 @@ function formatNOAAMarineConditions(data, latitude, longitude, region, timezone,
105
105
  output += `**Location:** ${latitude.toFixed(4)}, ${longitude.toFixed(4)}\n`;
106
106
  output += `**Region:** ${region}\n`;
107
107
  output += `**Last Updated:** ${formatInTimezone(data.timestamp, timezone)}\n\n`;
108
+ // The shared sea-state block, identical to the Open-Meteo path's. Gridpoint data carries no
109
+ // wind-wave/swell split, so those two arguments are undefined by construction and the context
110
+ // sentence is empty here; the period modifiers still apply.
111
+ const safety = getSafetyAssessment(data.waveHeight, undefined, undefined, data.wavePeriod);
112
+ output += formatSeaStateBlock(safety);
108
113
  // Wave Conditions
109
114
  output += `## 🌊 Wave Conditions\n\n`;
110
- if (data.waveHeight !== undefined && data.waveHeight > 0) {
115
+ // A published 0 is a value, not an absence: it bands as the lowest rung in the block above,
116
+ // exactly as a displayed 0.0m does on the Open-Meteo path. Only an absent height renders no
117
+ // wave line, and the block above has already said `Unknown` for it.
118
+ if (data.waveHeight !== undefined) {
111
119
  const waveCategory = getWaveHeightCategory(data.waveHeight);
112
120
  output += `**Significant Wave Height:** ${formatWaveHeight(data.waveHeight)}`;
113
121
  output += ` (${waveCategory.description})\n`;
@@ -117,10 +125,7 @@ function formatNOAAMarineConditions(data, latitude, longitude, region, timezone,
117
125
  if (data.wavePeriod !== undefined) {
118
126
  output += `**Wave Period:** ${formatWavePeriod(data.wavePeriod)}\n`;
119
127
  }
120
- output += `\n**Safety:** ${waveCategory.recommendation}\n\n`;
121
- }
122
- else {
123
- output += `**Wave Height:** Calm or minimal wave activity\n\n`;
128
+ output += `\n`;
124
129
  }
125
130
  // Wind Conditions
126
131
  if (data.windSpeed !== undefined || data.windDirection !== undefined) {
@@ -147,12 +152,13 @@ function formatNOAAMarineConditions(data, latitude, longitude, region, timezone,
147
152
  output += `---\n\n`;
148
153
  output += `*Data source: NOAA National Weather Service*\n`;
149
154
  output += `*Great Lakes and coastal marine conditions from NOAA gridpoint data*\n`;
155
+ output += '\n' + formatSeaStateLegend();
150
156
  return output;
151
157
  }
152
158
  /**
153
159
  * Format Open-Meteo marine conditions data as markdown
154
160
  */
155
- function formatOpenMeteoMarineConditions(data, latitude, longitude, includeForecast) {
161
+ function formatOpenMeteoMarineConditions(data, latitude, longitude, includeForecast, resolved) {
156
162
  let output = `# Marine Conditions Report\n\n`;
157
163
  output += `**Location:** ${latitude.toFixed(4)}, ${longitude.toFixed(4)}\n`;
158
164
  output += `**Timezone:** ${data.timezone}\n`;
@@ -168,9 +174,24 @@ function formatOpenMeteoMarineConditions(data, latitude, longitude, includeForec
168
174
  output += `**Observation Time:** ${formatInTimezone(current.time, data.timezone)}\n\n`;
169
175
  // Overall safety assessment
170
176
  const safety = getSafetyAssessment(current.wave_height ?? undefined, current.wind_wave_height ?? undefined, current.swell_wave_height ?? undefined, current.wave_period ?? undefined);
171
- const safetyEmoji = seaStateMarker(safety.level);
172
- output += `## ${safetyEmoji} Current Conditions: ${safety.level}\n\n`;
173
- output += `${safety.description}\n\n`;
177
+ output += formatSeaStateBlock(safety);
178
+ // The upstream answers HTTP 200 with a null scalar where the marine model has no cell, so a
179
+ // coastal place name that geocodes to an inland centroid returns a blank report with nothing
180
+ // saying why. The note claims only what is known: the upstream returned no cell, and the point
181
+ // came from a place name. `'geocoded'` alone is the whole guard — `resolveDefaultLocation`
182
+ // spreads `source: 'default'` over a saved alias and over a geocoded place alike
183
+ // (locationResolver.ts:422,428,436), so `'default'` carries no information about how the point
184
+ // was obtained, and admitting it would invent provenance for a coordinate the user saved by
185
+ // hand (G53). A genuinely geocoded default therefore gets the short variant too; the short
186
+ // variant claims nothing false, which is the right way to be wrong.
187
+ //
188
+ // The flag carries provenance only. The note names neither the place nor the coordinates:
189
+ // `prependLocationLine` has already printed both in the `**Location:**` header above, and the
190
+ // report's own location line prints the coordinates again, so restating them was redundant
191
+ // (test-drive Observation 1).
192
+ if (safety.level === NO_DATA_LEVEL) {
193
+ output += formatNoMarineCellNote({ fromPlaceName: resolved.source === 'geocoded' });
194
+ }
174
195
  // Wave Height Summary
175
196
  output += `## 🌊 Wave Conditions\n\n`;
176
197
  if (current.wave_height != null) {
@@ -1 +1 @@
1
- {"version":3,"file":"marineConditionsHandler.js","sourceRoot":"","sources":["../../src/handlers/marineConditionsHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"marineConditionsHandler.js","sourceRoot":"","sources":["../../src/handlers/marineConditionsHandler.ts"],"names":[],"mappings":"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"}
@@ -173,4 +173,30 @@ export interface SafetyAssessment {
173
173
  recommendation: string;
174
174
  }
175
175
  export declare function getSafetyAssessment(totalWaveHeight: number | undefined, windWaveHeight: number | undefined, swellHeight: number | undefined, wavePeriod: number | undefined): SafetyAssessment;
176
+ /**
177
+ * The shared sea-state block: both marine render paths (NOAA gridpoint and Open-Meteo) obtain
178
+ * their sea-state block from this function; neither formats the header, the sea-state line or
179
+ * the safety line itself. The header line is byte-compatible with the pre-existing Open-Meteo
180
+ * render site (`## ${marker} Current Conditions: ${level}`), which
181
+ * tests/unit/marine-sea-state-taxonomy.test.ts contract 6 parses directly — do not reformat it.
182
+ */
183
+ export declare function formatSeaStateBlock(safety: SafetyAssessment): string;
184
+ /**
185
+ * The no-marine-cell note: shown when a location resolves to a point the marine model has no
186
+ * cell for (most often a place name resolving to a land centroid). Takes a plain flag, not a
187
+ * `ResolvedLocation` — this module must not import from `locationResolver.ts`, which pulls in
188
+ * `LocationStore`, `GeocodingService`, `Cache` and `NominatimService`. Must never contain
189
+ * `NO_DATA_MARKER`: tests/unit/marine-sea-state-taxonomy.test.ts counts that marker and expects
190
+ * exactly two occurrences in a no-data report.
191
+ *
192
+ * The note deliberately does **not** restate the resolved place name or its coordinates. Both
193
+ * already render above it — `formatLocationLine` prepends `**Location:** <name> (lat, lon)` for
194
+ * every name-based resolution (`locationResolver.ts:47`), and the report's own `**Location:**`
195
+ * line carries the coordinates on every path. `fromPlaceName` therefore carries provenance
196
+ * only: the long variant explains the *mechanism* that produced an inland point without
197
+ * repeating data the reader has already been shown four lines earlier.
198
+ */
199
+ export declare function formatNoMarineCellNote(opts: {
200
+ fromPlaceName: boolean;
201
+ }): string;
176
202
  //# sourceMappingURL=marine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"marine.d.ts","sourceRoot":"","sources":["../../src/utils/marine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"marine.d.ts","sourceRoot":"","sources":["../../src/utils/marine.ts"],"names":[],"mappings":"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"}
@@ -241,8 +241,44 @@ export function getSafetyAssessment(totalWaveHeight, windWaveHeight, swellHeight
241
241
  }
242
242
  return {
243
243
  level: waveCategory.level,
244
- description: adjustedDescription + context,
244
+ description: adjustedDescription + '.' + context,
245
245
  recommendation: waveCategory.recommendation
246
246
  };
247
247
  }
248
+ /**
249
+ * The shared sea-state block: both marine render paths (NOAA gridpoint and Open-Meteo) obtain
250
+ * their sea-state block from this function; neither formats the header, the sea-state line or
251
+ * the safety line itself. The header line is byte-compatible with the pre-existing Open-Meteo
252
+ * render site (`## ${marker} Current Conditions: ${level}`), which
253
+ * tests/unit/marine-sea-state-taxonomy.test.ts contract 6 parses directly — do not reformat it.
254
+ */
255
+ export function formatSeaStateBlock(safety) {
256
+ return (`## ${seaStateMarker(safety.level)} Current Conditions: ${safety.level}\n\n` +
257
+ `**Sea state:** ${safety.description}\n` +
258
+ `**Safety:** ${safety.recommendation}\n\n`);
259
+ }
260
+ /**
261
+ * The no-marine-cell note: shown when a location resolves to a point the marine model has no
262
+ * cell for (most often a place name resolving to a land centroid). Takes a plain flag, not a
263
+ * `ResolvedLocation` — this module must not import from `locationResolver.ts`, which pulls in
264
+ * `LocationStore`, `GeocodingService`, `Cache` and `NominatimService`. Must never contain
265
+ * `NO_DATA_MARKER`: tests/unit/marine-sea-state-taxonomy.test.ts counts that marker and expects
266
+ * exactly two occurrences in a no-data report.
267
+ *
268
+ * The note deliberately does **not** restate the resolved place name or its coordinates. Both
269
+ * already render above it — `formatLocationLine` prepends `**Location:** <name> (lat, lon)` for
270
+ * every name-based resolution (`locationResolver.ts:47`), and the report's own `**Location:**`
271
+ * line carries the coordinates on every path. `fromPlaceName` therefore carries provenance
272
+ * only: the long variant explains the *mechanism* that produced an inland point without
273
+ * repeating data the reader has already been shown four lines earlier.
274
+ */
275
+ export function formatNoMarineCellNote(opts) {
276
+ if (opts.fromPlaceName) {
277
+ return (`*No marine-model cell here — a place name resolves to a land centroid, and the marine model ` +
278
+ `covers ocean and large-lake water cells only. For coastal conditions, pass ` +
279
+ `\`latitude\`/\`longitude\` for a point just offshore.*\n\n`);
280
+ }
281
+ return (`*No marine-model cell here — the marine model covers ocean and large-lake water cells only. ` +
282
+ `For coastal conditions, try a point just offshore.*\n\n`);
283
+ }
248
284
  //# sourceMappingURL=marine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"marine.js","sourceRoot":"","sources":["../../src/utils/marine.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAgBnD;;GAEG;AACH,SAAS,mBAAmB,CAAC,MAAuC;IAClE,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,8DAA8D;IAC9D,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC1C,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CAAC,SAA4B;IACtE,MAAM,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC;IAEnC,sBAAsB;IACtB,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACzD,MAAM,aAAa,GAAG,mBAAmB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,mBAAmB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACvD,MAAM,aAAa,GAAG,mBAAmB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAErD,mCAAmC;IACnC,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QACxF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,UAAU;QACV,UAAU;QACV,aAAa;QACb,SAAS;QACT,aAAa;QACb,QAAQ;QACR,SAAS,EAAE,KAAK,CAAC,UAAU;KAC5B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAA0B;IACzD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC;IAC9B,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAA2B;IAC1D,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QAC9C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,GAAuB;IACrD,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,kDAAkD;IAClD,MAAM,KAAK,GAAG,GAAG,GAAG,QAAQ,CAAC;IAC7B,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC9D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,eAAmC;IACvE,IAAI,eAAe,KAAK,SAAS,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;QAC9D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,+CAA+C;IAC/C,MAAM,KAAK,GAAG,eAAe,GAAG,OAAO,CAAC;IACxC,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACzE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAA2B;IACzD,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QAC9C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,UAAU,GAAG;QACjB,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;QACvB,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;QACvB,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;QACvB,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;KACxB,CAAC;IAEF,qBAAqB;IACrB,MAAM,UAAU,GAAG,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IAEjD,qDAAqD;IACrD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEjD,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;AAC7D,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,uBAAuB,EAAE;IACtD,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,6BAA6B,EAAE;IAChE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,6BAA6B,EAAE;IAC7D,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,4BAA4B,EAAE;IAChE,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,qBAAqB,EAAE;CAC/C,CAAC;AAiBX,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,gCAAgC,EAAE;IACjH,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,mBAAmB,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,sCAAsC,EAAE;IAClI,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,qCAAqC,EAAE;IACvH,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,8BAA8B,EAAE;IACrH,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,yCAAyC,EAAE;IAC1H,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,8CAA8C,EAAE;IACxI,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,kDAAkD,EAAE;IACtI,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,wDAAwD,EAAE;IAChJ,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,sDAAsD,EAAE;CACzG,CAAC;AAK7C,kFAAkF;AAClF,MAAM,CAAC,MAAM,aAAa,GAAG,SAAkB,CAAC;AAChD,gFAAgF;AAChF,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC;AAElC;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,KAA2C;IACxE,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;QAC5B,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;IACnE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,oBAAoB,KAAK,6BAA6B,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;AAC3C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB;IAClC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAmB,EAAE,CAAC;QAClE,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QACrE,MAAM,SAAS,GAAG,UAAU,CAAC;QAC7B,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC;QACrD,MAAM,KAAK,GAAG,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,SAAS,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,SAAS,IAAI,CAAC;QACzF,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3D,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,MAAM,MAAM,KAAK,OAAO,KAAK,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC;QACtG,UAAU,GAAG,SAAS,CAAC;IACzB,CAAC;IACD,MAAM,IAAI,KAAK,cAAc,4CAA4C,CAAC;IAC1E,MAAM,IAAI,0GAA0G,CAAC;IACrH,OAAO,MAAM,CAAC;AAChB,CAAC;AAWD,MAAM,UAAU,qBAAqB,CAAC,MAA0B;IAC9D,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAC5C,OAAO;YACL,WAAW,EAAE,SAAS;YACtB,KAAK,EAAE,aAAa;YACpB,cAAc,EAAE,mBAAmB;SACpC,CAAC;IACJ,CAAC;IAED,gFAAgF;IAChF,4CAA4C;IAC5C,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAEtC,sFAAsF;IACtF,4DAA4D;IAC5D,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;IACvE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,oDAAoD,KAAK,IAAI,CAAC,CAAC;IACjF,CAAC;IACD,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,IAAI;QACtB,KAAK,EAAE,IAAI,CAAC,IAAI;QAChB,cAAc,EAAE,IAAI,CAAC,cAAc;KACpC,CAAC;AACJ,CAAC;AAWD,MAAM,UAAU,mBAAmB,CACjC,eAAmC,EACnC,cAAkC,EAClC,WAA+B,EAC/B,UAA8B;IAE9B,IAAI,eAAe,KAAK,SAAS,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;QAC9D,OAAO;YACL,KAAK,EAAE,aAAa;YACpB,WAAW,EAAE,sCAAsC;YACnD,cAAc,EAAE,+BAA+B;SAChD,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,qBAAqB,CAAC,eAAe,CAAC,CAAC;IAE5D,4EAA4E;IAC5E,8EAA8E;IAC9E,MAAM,WAAW,GAAG,YAAY,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAEvF,oEAAoE;IACpE,IAAI,mBAAmB,GAAG,YAAY,CAAC,WAAW,CAAC;IACnD,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,GAAG,CAAC,IAAI,WAAW,GAAG,GAAG,EAAE,CAAC;QACtE,mBAAmB,IAAI,4BAA4B,CAAC;IACtD,CAAC;SAAM,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,GAAG,EAAE,IAAI,WAAW,GAAG,GAAG,EAAE,CAAC;QAC9E,mBAAmB,IAAI,oCAAoC,CAAC;IAC9D,CAAC;IAED,kCAAkC;IAClC,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,cAAc,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9D,IAAI,cAAc,GAAG,WAAW,GAAG,GAAG,EAAE,CAAC;YACvC,OAAO,GAAG,4CAA4C,CAAC;QACzD,CAAC;aAAM,IAAI,WAAW,GAAG,cAAc,GAAG,GAAG,EAAE,CAAC;YAC9C,OAAO,GAAG,sDAAsD,CAAC;QACnE,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,mCAAmC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK,EAAE,YAAY,CAAC,KAAK;QACzB,WAAW,EAAE,mBAAmB,GAAG,OAAO;QAC1C,cAAc,EAAE,YAAY,CAAC,cAAc;KAC5C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"marine.js","sourceRoot":"","sources":["../../src/utils/marine.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dangahagan/weather-mcp",
3
- "version": "1.30.1",
3
+ "version": "1.31.0",
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",