@dangahagan/weather-mcp 1.32.1 → 1.33.1

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%2C677%20passing-brightgreen)](./docs/testing/TEST_SUITE_README.md)
6
+ [![Tests](https://img.shields.io/badge/tests-3%2C756%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,677 tests. Audit it, fork it, fix it.
61
+ - **Fully open source** — MIT licensed, readable TypeScript, 3,756 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
 
@@ -71,7 +71,7 @@ All 17 tools, documented in detail in **[docs/TOOLS.md](./docs/TOOLS.md)**:
71
71
  | Tool | What it does | Coverage |
72
72
  |------|-------------|----------|
73
73
  | `get_forecast` | Daily/hourly forecasts up to 16 days by coordinates, saved location, or city name (NOAA publishes 7 days daily and ~6.5 days hourly in the US, and says so when you ask for more; `source="openmeteo"` reaches the full range); sunrise/sunset, UV, precipitation probability, optional climate-normals comparison, optional moon phase & twilight almanac, optional five-model agreement comparison When the National Weather Service has a life-threatening alert active for a point in the United States or an NWS-served territory, its warning is surfaced at the top of the response before the report — absence of the banner is not an all-clear, so call `get_alerts` for the authoritative answer | 🌍 Global |
74
- | `get_current_conditions` | Current weather: temperature, wind, humidity, pressure; NOAA station observations in the US (plus heat index/wind chill, snow depth, optional NOAA fire-weather indices), Open-Meteo model data elsewhere (with an optional computed Fosberg fire-weather index), or real airport station observations worldwide with `source="metar"`. Always states the observation's age, and automatically falls back to a fresher nearby station when the nearest one has gone dark. In extreme conditions automatically adds frostbite time-to-onset (computed wind chill) or heat-stress context (estimated WBGT) When the National Weather Service has a life-threatening alert active for a point in the United States or an NWS-served territory, its warning is surfaced at the top of the response before the report — absence of the banner is not an all-clear, so call `get_alerts` for the authoritative answer | 🌍 Global |
74
+ | `get_current_conditions` | Current weather: temperature, wind, humidity, pressure; NOAA station observations in the US (plus heat index/wind chill, snow depth, optional NOAA fire-weather indices), Open-Meteo model data elsewhere (with an optional computed Fosberg fire-weather index), or real airport station observations worldwide with `source="metar"` (the optional Fosberg index is then computed from the station's own observation). Always states the observation's age, and automatically falls back to a fresher nearby station when the nearest one has gone dark. In extreme conditions automatically adds frostbite time-to-onset (computed wind chill) or heat-stress context (estimated WBGT) When the National Weather Service has a life-threatening alert active for a point in the United States or an NWS-served territory, its warning is surfaced at the top of the response before the report — absence of the banner is not an all-clear, so call `get_alerts` for the authoritative answer | 🌍 Global |
75
75
  | `get_alerts` | Active watches, warnings, and advisories sorted by severity; official national warnings for the US (NOAA), Canada (ECCC), 38 European countries (MeteoAlarm), India (NDMA SACHET), the Philippines (PAGASA), Indonesia (BMKG), and Japan (JMA) | 🇺🇸 🇨🇦 🇪🇺 🇮🇳 🇵🇭 🇮🇩 🇯🇵 |
76
76
  | `get_historical_weather` | Hourly/daily observations from 1940 to present | 🌍 Global |
77
77
  | `get_weather_summary` | One-call overview combining current conditions, forecast, and alerts (optionally air quality and lightning); a life-threatening NWS alert is surfaced once above the whole summary, not once per section | 🌍 Global |
@@ -231,8 +231,8 @@ Control which tools are exposed to reduce context overhead:
231
231
 
232
232
  **Context cost.** Every MCP client puts the `tools/list` result into model context on
233
233
  every turn, so the preset you choose is a standing cost on every request. Measured on
234
- the built server: `basic` **13,212 bytes** (~3.3k tokens), `standard` **21,186** (~5.3k),
235
- `full`/`all` **31,055** (~7.8k). It scales with the number of **tools**, not the number of
234
+ the built server: `basic` **13,249 bytes** (~3.3k tokens), `standard` **21,223** (~5.3k),
235
+ `full`/`all` **31,092** (~7.8k). It scales with the number of **tools**, not the number of
236
236
  data sources — adding Japan and India as alert authorities added zero tools and zero bytes.
237
237
 
238
238
  ```bash
@@ -378,7 +378,7 @@ Being honest about what free public data can and can't do:
378
378
  - Historical data older than 7 days comes from reanalysis models (9–25km grid), not direct station observations, and trails real time by ~5 days.
379
379
  - Non-US wildfire results are **satellite heat detections, not managed incidents** — no fire names, sizes, or containment percentages exist in the data, detections can include industrial heat sources or agricultural burns, and a clear result is not an all-clear (cloud cover hides fires; small or new fires evade detection). The output frames all of this explicitly. Keyless data covers the last 24 hours; an optional free [`FIRMS_MAP_KEY`](https://firms.modaps.eosdis.nasa.gov/api/map_key/) unlocks targeted queries and up to 5 days of detection history (`day_range`).
380
380
  - Frostbite-risk and heat-stress (WBGT) lines are **computed by this server** from temperature, humidity, and wind — not agency-published ratings. The wind chill is the standard 2001 North American model; the frostbite time bands are adapted from Environment Canada's published categories and the WBGT is the Australian Bureau of Meteorology's *simplified* estimate, which assumes full sun and light wind and so can overestimate in shade or overcast. Exertion thresholds also genuinely shift with acclimatization. Treat both as context, not as an occupational-safety determination.
381
- - Non-US fire weather is a **Fosberg Fire Weather Index computed by this server** from current model values, not an agency-published rating — US locations get NOAA's own Haines/grassland/red-flag indices instead. The output says which it is and defers to national fire authorities; its category bands are a project heuristic.
381
+ - Non-US fire weather is a **Fosberg Fire Weather Index computed by this server** from current model values — or, with `source="metar"`, from the station's reported values — not an agency-published rating — US locations get NOAA's own Haines/grassland/red-flag indices instead. The output says which it is and defers to national fire authorities; its category bands are a project heuristic.
382
382
  - Non-US river discharge is **modeled**, not observed, and has no official flood-stage thresholds — levels are shown relative to recent history and the forecast ensemble. The ~5km model grid means the reported channel may be a few km from the requested point; the output says so when it is.
383
383
  - Pollen is **Europe-only without a key**: it rides the CAMS European model on the air-quality endpoint, which returns real grains/m³ in Europe and nothing anywhere else. An optional [`GOOGLE_POLLEN_API_KEY`](#optional-api-keys) fills the gap for 65+ countries including the US, as a grass/tree/weed Universal Pollen Index (0–5) rather than per-species counts. Europe keeps the richer keyless data and never contacts Google.
384
384
  - Marine data has limited coastal accuracy and is **not suitable for navigation**.
@@ -390,7 +390,7 @@ Being honest about what free public data can and can't do:
390
390
  ```bash
391
391
  npm run build # Compile TypeScript
392
392
  npm run dev # Run in development mode
393
- npm test # Run all 3,677 tests
393
+ npm test # Run all 3,756 tests
394
394
  npm run test:coverage # Coverage report
395
395
  npm run audit # Dependency vulnerability scan
396
396
  ```
@@ -611,6 +611,23 @@ function prefsWindToMph(value, prefs) {
611
611
  return value;
612
612
  }
613
613
  }
614
+ /**
615
+ * The Fosberg index line and its explanation, ending in a blank line. Shared
616
+ * by the Open-Meteo and METAR fire-weather sections so the round-then-band
617
+ * rule and the emoji ladder exist once; the dryness block and the derivation
618
+ * disclosure stay per-path. The caller guarantees `ffwi` is finite.
619
+ */
620
+ function formatFosbergIndexLines(ffwi) {
621
+ // Categorize the displayed (rounded) value so the number and the label
622
+ // never disagree at a band edge.
623
+ const index = Math.round(ffwi);
624
+ const category = getFosbergCategory(index);
625
+ const emoji = category.level === 'Low' ? '🟢' :
626
+ category.level === 'Moderate' ? '🟡' :
627
+ category.level === 'High' ? '🟠' : '🔴';
628
+ return (`**${emoji} Fosberg Fire Weather Index:** ${index} (${category.level})\n` +
629
+ `Computed from current temperature, humidity, and sustained wind. Higher values mean faster potential fire spread in fine fuels.\n\n`);
630
+ }
614
631
  /**
615
632
  * Render the Fire Weather section for the Open-Meteo (model) path: a Fosberg
616
633
  * Fire Weather Index computed by this server from current values, plus dryness
@@ -632,15 +649,7 @@ function formatOpenMeteoFireWeather(temperature, relativeHumidity, windSpeed, vp
632
649
  output += `⚠️ Fire weather inputs unavailable for this location.\n`;
633
650
  return output;
634
651
  }
635
- // Categorize the displayed (rounded) value so the number and the label
636
- // never disagree at a band edge.
637
- const index = Math.round(ffwi);
638
- const category = getFosbergCategory(index);
639
- const emoji = category.level === 'Low' ? '🟢' :
640
- category.level === 'Moderate' ? '🟡' :
641
- category.level === 'High' ? '🟠' : '🔴';
642
- output += `**${emoji} Fosberg Fire Weather Index:** ${index} (${category.level})\n`;
643
- output += `Computed from current temperature, humidity, and sustained wind. Higher values mean faster potential fire spread in fine fuels.\n\n`;
652
+ output += formatFosbergIndexLines(ffwi);
644
653
  // Open ocean returns HTTP 200 with null dryness fields (Flood-API
645
654
  // precedent): omit the line, or the whole block when both are missing.
646
655
  const hasVpd = vpdKPa !== undefined && vpdKPa !== null && Number.isFinite(vpdKPa);
@@ -901,6 +910,12 @@ function noStationMessage(prefs) {
901
910
  output += `*Data source: NOAA Aviation Weather Center (aviationweather.gov) — METAR station observation*\n`;
902
911
  return output;
903
912
  }
913
+ /** `a`, `a and b`, or `a, b and c` — for naming the fields a report omits. */
914
+ function joinFieldNames(names) {
915
+ if (names.length <= 1)
916
+ return names.join('');
917
+ return `${names.slice(0, -1).join(', ')} and ${names[names.length - 1]}`;
918
+ }
904
919
  /**
905
920
  * Format current conditions from a METAR station observation (worldwide).
906
921
  *
@@ -1030,14 +1045,49 @@ async function formatMetarCurrentConditions(aviationWeatherService, openMeteoSer
1030
1045
  // The observation of record. This is the pilot-facing value, shipped without
1031
1046
  // a pilot-facing tool.
1032
1047
  output += `\n\`${obs.rawOb}\`\n`;
1033
- // Fire weather (optional) — needs NOAA gridpoint inputs (transport wind,
1034
- // Haines) that a METAR simply does not carry, so it is named rather than
1035
- // silently dropped (D7).
1048
+ // Fire weather (optional) — a Fosberg index computed from this station's own
1049
+ // temperature, dew point and sustained wind. A METAR arrives in fixed native
1050
+ // units (°C, knots), unlike Open-Meteo's caller-unit values (global-fire-
1051
+ // weather D4), so the inputs are converted directly and never through the
1052
+ // caller's preferences: the index cannot move with them. RH is the rounded
1053
+ // value the humidity line prints; temperature and wind are the station's
1054
+ // unrounded values, because rounding them to the display would make the index
1055
+ // depend on the unit system. A recomputation from the rounded temperature and
1056
+ // wind lines can therefore differ by 1 at a rounding seam. Gusts never enter;
1057
+ // missing inputs are named, not faked.
1036
1058
  if (includeFireWeather) {
1037
1059
  output += `\n## Fire Weather\n\n`;
1038
- output += `Fire weather indices are not available on the METAR source — they `;
1039
- output += `require NOAA gridpoint data. Use \`source: "noaa"\` for a US location, `;
1040
- output += `or omit \`source\` to get a server-computed Fosberg index from model data elsewhere.\n`;
1060
+ const temp = obs.temp;
1061
+ const dewp = obs.dewp;
1062
+ const wspd = obs.wspd;
1063
+ const hasTemp = temp != null && Number.isFinite(temp);
1064
+ const hasDewp = dewp != null && Number.isFinite(dewp);
1065
+ const hasWind = wspd != null && Number.isFinite(wspd);
1066
+ if (!hasTemp || !hasDewp || !hasWind) {
1067
+ const missing = [];
1068
+ if (!hasTemp)
1069
+ missing.push('temperature');
1070
+ if (!hasDewp)
1071
+ missing.push('dew point');
1072
+ if (!hasWind)
1073
+ missing.push('wind speed');
1074
+ output += `⚠️ Fire weather index unavailable — the ${obs.icaoId} report omits ${joinFieldNames(missing)}.\n`;
1075
+ }
1076
+ else {
1077
+ const ffwi = calculateFosbergIndex(celsiusToFahrenheit(temp), relativeHumidityFromDewpoint(temp, dewp), knotsToMph(wspd));
1078
+ if (Number.isFinite(ffwi)) {
1079
+ output += formatFosbergIndexLines(ffwi);
1080
+ output += `*Derived by this server from the ${obs.icaoId} observation above — not an official fire-danger rating. Heed warnings from your national fire authority.*\n`;
1081
+ }
1082
+ else {
1083
+ output += `⚠️ Fire weather index unavailable for this observation.\n`;
1084
+ }
1085
+ }
1086
+ // isInUS is a coarse routing box that also covers Canadian border points
1087
+ // such as Toronto (G53), so the advice is worded to stay true there.
1088
+ if (isInUS(latitude, longitude)) {
1089
+ output += `\nFor a US location, NOAA publishes Haines, grassland and red-flag indices — use \`source: "noaa"\`.\n`;
1090
+ }
1041
1091
  }
1042
1092
  // Climate normals (optional) — supported here exactly as on the other two
1043
1093
  // paths (D7): they need only the coordinates and the date.
@@ -1 +1 @@
1
- {"version":3,"file":"currentConditionsHandler.js","sourceRoot":"","sources":["../../src/handlers/currentConditionsHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"currentConditionsHandler.js","sourceRoot":"","sources":["../../src/handlers/currentConditionsHandler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"statusHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/statusHandler.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAI5D,wBAAsB,wBAAwB,CAC5C,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CA6H7D"}
1
+ {"version":3,"file":"statusHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/statusHandler.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AA+E5D,wBAAsB,wBAAwB,CAC5C,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAyH7D"}
@@ -3,6 +3,70 @@
3
3
  */
4
4
  import { CacheConfig } from '../config/cache.js';
5
5
  import { formatNotCheckedLine } from '../utils/serviceStatusCoverage.js';
6
+ /** The HTTP status of a probe that answered; `no_response` never reaches here. */
7
+ function answeredStatus(result) {
8
+ if (result.httpStatus === undefined) {
9
+ throw new Error(`Probe outcome ${result.outcome} carries no HTTP status`);
10
+ }
11
+ return result.httpStatus;
12
+ }
13
+ /** The per-service `**Status:**` label, read from the outcome alone. */
14
+ function statusLabel(result) {
15
+ switch (result.outcome) {
16
+ case 'ok':
17
+ return '✅ Answered normally';
18
+ case 'rate_limited':
19
+ return '⚠️ Rate limited (HTTP 429)';
20
+ case 'http_error':
21
+ return `❌ Error status (HTTP ${answeredStatus(result)})`;
22
+ case 'no_response':
23
+ return '❌ No response';
24
+ }
25
+ }
26
+ /**
27
+ * The Recommended Actions block for one service, or '' for a normal answer.
28
+ * The upstream's contacts render only when it answered with an error; with no
29
+ * HTTP response the block points at this machine's network instead.
30
+ */
31
+ function recommendedActions(result, service) {
32
+ switch (result.outcome) {
33
+ case 'ok':
34
+ return '';
35
+ case 'rate_limited':
36
+ return (`**Recommended Actions:**\n` +
37
+ `- Wait before retrying: the API answered, but it is rate limiting requests from this caller\n` +
38
+ (service === 'NOAA'
39
+ ? `- Check planned outages: https://weather-gov.github.io/api/planned-outages\n\n`
40
+ : `- Check production status: https://open-meteo.com/en/docs/model-updates\n\n`));
41
+ case 'http_error':
42
+ return service === 'NOAA'
43
+ ? `**Recommended Actions:**\n` +
44
+ `- Check planned outages: https://weather-gov.github.io/api/planned-outages\n` +
45
+ `- View service notices: https://www.weather.gov/notification\n` +
46
+ `- Report issues: nco.ops@noaa.gov or (301) 683-1518\n\n`
47
+ : `**Recommended Actions:**\n` +
48
+ `- Check production status: https://open-meteo.com/en/docs/model-updates\n` +
49
+ `- View GitHub issues: https://github.com/open-meteo/open-meteo/issues\n` +
50
+ `- Review documentation: https://open-meteo.com/en/docs\n\n`;
51
+ case 'no_response':
52
+ return (`**Recommended Actions:**\n` +
53
+ `- No HTTP response reached this machine. Check its network first: connection, DNS, proxy and VPN settings\n` +
54
+ `- Retry once the network is confirmed; the status page above is worth checking only after that\n\n`);
55
+ }
56
+ }
57
+ /** What a service that did not answer normally did, for the verdict. A normal answer never needs one. */
58
+ function outcomePhrase(result) {
59
+ switch (result.outcome) {
60
+ case 'ok':
61
+ throw new Error('outcomePhrase called for a normal answer');
62
+ case 'rate_limited':
63
+ return 'answered HTTP 429 and is rate limiting this caller';
64
+ case 'http_error':
65
+ return `answered with HTTP ${answeredStatus(result)}`;
66
+ case 'no_response':
67
+ return 'gave no HTTP response';
68
+ }
69
+ }
6
70
  export async function handleCheckServiceStatus(noaaService, openMeteoService, serverVersion) {
7
71
  // Probes run concurrently; neither rejects (each catches and returns a status object).
8
72
  const [noaaStatus, openMeteoStatus] = await Promise.all([
@@ -23,28 +87,18 @@ export async function handleCheckServiceStatus(noaaService, openMeteoService, se
23
87
  }
24
88
  // NOAA Status
25
89
  output += `## NOAA Weather API (Forecasts & Current Conditions)\n\n`;
26
- output += `**Status:** ${noaaStatus.operational ? '✅ Operational' : '❌ Issues Detected'}\n`;
90
+ output += `**Status:** ${statusLabel(noaaStatus)}\n`;
27
91
  output += `**Message:** ${noaaStatus.message}\n`;
28
92
  output += `**Status Page:** ${noaaStatus.statusPage}\n`;
29
93
  output += `**Coverage:** United States locations only\n\n`;
30
- if (!noaaStatus.operational) {
31
- output += `**Recommended Actions:**\n`;
32
- output += `- Check planned outages: https://weather-gov.github.io/api/planned-outages\n`;
33
- output += `- View service notices: https://www.weather.gov/notification\n`;
34
- output += `- Report issues: nco.ops@noaa.gov or (301) 683-1518\n\n`;
35
- }
94
+ output += recommendedActions(noaaStatus, 'NOAA');
36
95
  // Open-Meteo Status
37
96
  output += `## Open-Meteo API (Historical Weather Data)\n\n`;
38
- output += `**Status:** ${openMeteoStatus.operational ? '✅ Operational' : '❌ Issues Detected'}\n`;
97
+ output += `**Status:** ${statusLabel(openMeteoStatus)}\n`;
39
98
  output += `**Message:** ${openMeteoStatus.message}\n`;
40
99
  output += `**Status Page:** ${openMeteoStatus.statusPage}\n`;
41
100
  output += `**Coverage:** Global (worldwide locations)\n\n`;
42
- if (!openMeteoStatus.operational) {
43
- output += `**Recommended Actions:**\n`;
44
- output += `- Check production status: https://open-meteo.com/en/docs/model-updates\n`;
45
- output += `- View GitHub issues: https://github.com/open-meteo/open-meteo/issues\n`;
46
- output += `- Review documentation: https://open-meteo.com/en/docs\n\n`;
47
- }
101
+ output += recommendedActions(openMeteoStatus, 'Open-Meteo');
48
102
  // Cache Statistics
49
103
  if (CacheConfig.enabled) {
50
104
  output += `## Cache Statistics\n\n`;
@@ -92,18 +146,25 @@ export async function handleCheckServiceStatus(noaaService, openMeteoService, se
92
146
  output += `Both checked services answered. This confirms they are reachable; it does not confirm that every request will succeed.\n`;
93
147
  }
94
148
  else if (neitherOperational) {
95
- output += `## Overall Status: ❌ Multiple Service Issues\n\n`;
96
- output += `Both weather APIs are experiencing issues. Please check the status pages above for updates.\n`;
149
+ if (noaaStatus.outcome === 'no_response' && openMeteoStatus.outcome === 'no_response') {
150
+ // Two independent hosts failing at the transport layer at once: the likelier cause is shared, and local
151
+ output += `## Overall Status: ❌ Neither Service Answered\n\n`;
152
+ output += `Neither NOAA nor Open-Meteo returned an HTTP response. Two independent hosts failing at once points at this machine or its network path, not at the APIs: check the connection, DNS, proxy and VPN settings first, then retry.\n`;
153
+ }
154
+ else {
155
+ output += `## Overall Status: ❌ Neither Service Answered Normally\n\n`;
156
+ output += `NOAA API ${outcomePhrase(noaaStatus)}. Open-Meteo API ${outcomePhrase(openMeteoStatus)}. See each service's section above for what to check.\n`;
157
+ }
97
158
  }
98
159
  else {
99
- output += `## Overall Status: ⚠️ Partial Service Availability\n\n`;
160
+ output += `## Overall Status: ⚠️ One Service Answered Normally\n\n`;
100
161
  if (noaaStatus.operational) {
101
162
  output += `NOAA API answered, so it is reachable. This does not confirm that US forecasts and current conditions will succeed.\n`;
102
- output += `Open-Meteo API has issues: Historical weather data may be unavailable.\n`;
163
+ output += `Open-Meteo API ${outcomePhrase(openMeteoStatus)}: Historical weather data may be unavailable.\n`;
103
164
  }
104
165
  else {
105
166
  output += `Open-Meteo API answered, so it is reachable. This does not confirm that historical weather requests will succeed.\n`;
106
- output += `NOAA API has issues: Forecasts and current conditions for US locations may be unavailable.\n`;
167
+ output += `NOAA API ${outcomePhrase(noaaStatus)}: Forecasts and current conditions for US locations may be unavailable.\n`;
107
168
  }
108
169
  }
109
170
  output += `\n${formatNotCheckedLine()}`;
@@ -1 +1 @@
1
- {"version":3,"file":"statusHandler.js","sourceRoot":"","sources":["../../src/handlers/statusHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"statusHandler.js","sourceRoot":"","sources":["../../src/handlers/statusHandler.ts"],"names":[],"mappings":"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"}
@@ -373,7 +373,7 @@ export const TOOL_DEFINITIONS = {
373
373
  ...LOCATION_SCHEMA_PROPERTIES,
374
374
  include_fire_weather: {
375
375
  type: 'boolean',
376
- description: 'US locations get NOAA fire-weather indices (Haines, grassland, red-flag); elsewhere a computed Fosberg Fire Weather Index with dryness context. (default: false)',
376
+ description: 'US locations get NOAA fire-weather indices (Haines, grassland, red-flag); elsewhere, and on source metar, a computed Fosberg Fire Weather Index. Dryness context is model-path only. (default: false)',
377
377
  default: false
378
378
  },
379
379
  include_normals: {