@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 +7 -7
- package/dist/handlers/currentConditionsHandler.js +65 -15
- package/dist/handlers/currentConditionsHandler.js.map +1 -1
- package/dist/handlers/statusHandler.d.ts.map +1 -1
- package/dist/handlers/statusHandler.js +80 -19
- package/dist/handlers/statusHandler.js.map +1 -1
- package/dist/server/weatherServer.js +1 -1
- package/dist/server/weatherServer.js.map +1 -1
- package/dist/services/noaa.d.ts +7 -9
- package/dist/services/noaa.d.ts.map +1 -1
- package/dist/services/noaa.js +34 -41
- package/dist/services/noaa.js.map +1 -1
- package/dist/services/openmeteo.d.ts +7 -9
- package/dist/services/openmeteo.d.ts.map +1 -1
- package/dist/services/openmeteo.js +40 -41
- package/dist/services/openmeteo.js.map +1 -1
- package/dist/utils/serviceStatusProbe.d.ts +28 -0
- package/dist/utils/serviceStatusProbe.d.ts.map +1 -0
- package/dist/utils/serviceStatusProbe.js +21 -0
- package/dist/utils/serviceStatusProbe.js.map +1 -0
- 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, 3,
|
|
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"
|
|
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,
|
|
235
|
-
`full`/`all` **31,
|
|
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,
|
|
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
|
-
|
|
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) —
|
|
1034
|
-
//
|
|
1035
|
-
//
|
|
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
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
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;
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
96
|
-
|
|
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: ⚠️
|
|
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
|
|
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
|
|
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":"AAAA;;GAEG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;
|
|
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
|
|
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: {
|