@dangahagan/weather-mcp 1.35.1 → 1.35.2
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
|
[](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. ([Four optional keys](#optional-api-keys) add extras if you want them; the default configuration needs none.)
|
|
61
|
-
- **Fully open source** — MIT licensed, readable TypeScript, 4,
|
|
61
|
+
- **Fully open source** — MIT licensed, readable TypeScript, 4,703 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, and no telemetry unless you opt in.
|
|
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
|
|
|
@@ -393,7 +393,7 @@ Being honest about what free public data can and can't do:
|
|
|
393
393
|
```bash
|
|
394
394
|
npm run build # Compile TypeScript
|
|
395
395
|
npm run dev # Run in development mode
|
|
396
|
-
npm test # Run all 4,
|
|
396
|
+
npm test # Run all 4,703 tests
|
|
397
397
|
npm run test:coverage # Coverage report
|
|
398
398
|
npm run audit # Dependency vulnerability scan
|
|
399
399
|
```
|
|
@@ -6,6 +6,11 @@
|
|
|
6
6
|
*/
|
|
7
7
|
export type ApiServiceName = 'NOAA' | 'OpenMeteo' | 'NCEI' | 'RainViewer' | 'Nominatim' | 'AviationWeather';
|
|
8
8
|
export declare function serviceDisplayName(service: ApiServiceName): string;
|
|
9
|
+
/**
|
|
10
|
+
* The runtime list of the closed `ApiServiceName` union.
|
|
11
|
+
*/
|
|
12
|
+
export declare const API_SERVICE_NAMES: readonly ApiServiceName[];
|
|
13
|
+
export declare function serviceHelpLink(service: ApiServiceName): string;
|
|
9
14
|
/**
|
|
10
15
|
* Base error class for API-related errors
|
|
11
16
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiError.d.ts","sourceRoot":"","sources":["../../src/errors/ApiError.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,WAAW,GACX,MAAM,GACN,YAAY,GACZ,WAAW,GACX,iBAAiB,CAAC;AAgBtB,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAElE;AAED;;GAEG;AACH,qBAAa,QAAS,SAAQ,KAAK;IACjC,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,OAAO,EAAE,cAAc,CAAC;IACxC,SAAgB,WAAW,EAAE,MAAM,CAAC;IACpC,SAAgB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpC,SAAgB,WAAW,EAAE,OAAO,CAAC;IAErC,YACE,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,MAAM,EAAO,EACxB,WAAW,GAAE,OAAe,EAc7B;IAED;;OAEG;IACH,aAAa,IAAI,MAAM,CAWtB;CACF;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,QAAQ;IAC1C,SAAgB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpC,YAAY,OAAO,EAAE,cAAc,EAAE,mBAAmB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ApiError.d.ts","sourceRoot":"","sources":["../../src/errors/ApiError.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,WAAW,GACX,MAAM,GACN,YAAY,GACZ,WAAW,GACX,iBAAiB,CAAC;AAgBtB,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAElE;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,cAAc,EAEtD,CAAC;AAeF,wBAAgB,eAAe,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAE/D;AAED;;GAEG;AACH,qBAAa,QAAS,SAAQ,KAAK;IACjC,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,OAAO,EAAE,cAAc,CAAC;IACxC,SAAgB,WAAW,EAAE,MAAM,CAAC;IACpC,SAAgB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpC,SAAgB,WAAW,EAAE,OAAO,CAAC;IAErC,YACE,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,MAAM,EAAO,EACxB,WAAW,GAAE,OAAe,EAc7B;IAED;;OAEG;IACH,aAAa,IAAI,MAAM,CAWtB;CACF;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,QAAQ;IAC1C,SAAgB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpC,YAAY,OAAO,EAAE,cAAc,EAAE,mBAAmB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EA4B9F;CACF;AAED;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,QAAQ;IACnD;;;;OAIG;IACH,SAAgB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnC,YAAY,OAAO,EAAE,cAAc,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE,aAAa,CAAC,EAAE,KAAK,EAgC1F;CACF;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,QAAQ;IAChD,SAAgB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClC,SAAgB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnC,YACE,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,EAcnB;CACF;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,QAAQ;IAC7C,YAAY,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAWnD;CACF;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,SAAgB,KAAK,CAAC,EAAE,MAAM,CAAC;IAC/B,SAAgB,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhC,YAAY,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,EAS3D;CACF;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,wBAAwB,QAG0B,CAAC;AAEhE;;;;;;;;;;;;GAYG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,YAAY,OAAO,GAAE,MAAiC,EAOrD;CACF;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,wBAAwB,QAGgD,CAAC;AAEtF;;;;;;;;;;;;;;GAcG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,YAAY,OAAO,GAAE,MAAiC,EAOrD;CACF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAetD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAgBvD"}
|
package/dist/errors/ApiError.js
CHANGED
|
@@ -17,6 +17,25 @@ const SERVICE_DISPLAY_NAMES = {
|
|
|
17
17
|
export function serviceDisplayName(service) {
|
|
18
18
|
return SERVICE_DISPLAY_NAMES[service];
|
|
19
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* The runtime list of the closed `ApiServiceName` union.
|
|
22
|
+
*/
|
|
23
|
+
export const API_SERVICE_NAMES = Object.freeze(Object.keys(SERVICE_DISPLAY_NAMES));
|
|
24
|
+
/**
|
|
25
|
+
* Each service's own home page, linked under "For more information:" when it
|
|
26
|
+
* fails. A `Record` so a new service cannot be added without choosing its link.
|
|
27
|
+
*/
|
|
28
|
+
const SERVICE_HELP_LINKS = {
|
|
29
|
+
NOAA: 'https://www.weather.gov/',
|
|
30
|
+
OpenMeteo: 'https://open-meteo.com/',
|
|
31
|
+
NCEI: 'https://www.ncei.noaa.gov/',
|
|
32
|
+
RainViewer: 'https://www.rainviewer.com/',
|
|
33
|
+
Nominatim: 'https://nominatim.org/',
|
|
34
|
+
AviationWeather: 'https://aviationweather.gov/',
|
|
35
|
+
};
|
|
36
|
+
export function serviceHelpLink(service) {
|
|
37
|
+
return SERVICE_HELP_LINKS[service];
|
|
38
|
+
}
|
|
20
39
|
/**
|
|
21
40
|
* Base error class for API-related errors
|
|
22
41
|
*/
|
|
@@ -73,11 +92,7 @@ export class RateLimitError extends ApiError {
|
|
|
73
92
|
const userMessage = message || (retry
|
|
74
93
|
? `Rate limit exceeded. Please retry after ${retry} seconds.`
|
|
75
94
|
: 'Rate limit exceeded. Please retry in a few seconds.');
|
|
76
|
-
super(`Rate limit exceeded for ${serviceDisplayName(service)}`, 429, service, userMessage, [
|
|
77
|
-
'https://weather.gov/documentation/services-web-api',
|
|
78
|
-
'https://open-meteo.com/en/features#api-documentation',
|
|
79
|
-
'https://www.ncdc.noaa.gov/cdo-web/webservices'
|
|
80
|
-
], true // Retryable after waiting
|
|
95
|
+
super(`Rate limit exceeded for ${serviceDisplayName(service)}`, 429, service, userMessage, [serviceHelpLink(service)], true // Retryable after waiting
|
|
81
96
|
);
|
|
82
97
|
this.name = 'RateLimitError';
|
|
83
98
|
this.retryAfter = retry;
|
|
@@ -106,11 +121,7 @@ export class ServiceUnavailableError extends ApiError {
|
|
|
106
121
|
error = messageOrError;
|
|
107
122
|
}
|
|
108
123
|
const userMessage = message || `The ${serviceDisplayName(service)} weather service is temporarily unavailable. Please try again in a few minutes.`;
|
|
109
|
-
|
|
110
|
-
: service === 'NCEI' ? 'https://www.ncei.noaa.gov/'
|
|
111
|
-
: service === 'RainViewer' ? 'https://www.rainviewer.com/'
|
|
112
|
-
: 'https://open-meteo.com/';
|
|
113
|
-
super(`${serviceDisplayName(service)} API is currently unavailable`, 503, service, userMessage, [helpLink], true // Retryable
|
|
124
|
+
super(`${serviceDisplayName(service)} API is currently unavailable`, 503, service, userMessage, [serviceHelpLink(service)], true // Retryable
|
|
114
125
|
);
|
|
115
126
|
this.name = 'ServiceUnavailableError';
|
|
116
127
|
const code = error?.code;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiError.js","sourceRoot":"","sources":["../../src/errors/ApiError.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH;;;;GAIG;AACH,MAAM,qBAAqB,GAAmC;IAC5D,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,YAAY;IACvB,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,YAAY;IACxB,SAAS,EAAE,WAAW;IACtB,eAAe,EAAE,iBAAiB;CACnC,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAAC,OAAuB;IACxD,OAAO,qBAAqB,CAAC,OAAO,CAAC,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,QAAS,SAAQ,KAAK;IACjB,UAAU,CAAS;IACnB,OAAO,CAAiB;IACxB,WAAW,CAAS;IACpB,SAAS,CAAW;IACpB,WAAW,CAAU;IAErC,YACE,OAAe,EACf,UAAkB,EAClB,OAAuB,EACvB,WAAmB,EACnB,SAAS,GAAa,EAAE,EACxB,WAAW,GAAY,KAAK;QAE5B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAE/B,qFAAqF;QACrF,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC5B,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,aAAa;QACX,IAAI,OAAO,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnF,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,6BAA6B,CAAC;YACzC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC5B,OAAO,IAAI,KAAK,IAAI,IAAI,CAAC;YAC3B,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,QAAQ;IAC1B,UAAU,CAAU;IAEpC,YAAY,OAAuB,EAAE,mBAAqC,EAAE,UAAmB;QAC7F,oFAAoF;QACpF,IAAI,OAA2B,CAAC;QAChC,IAAI,KAAyB,CAAC;QAE9B,IAAI,OAAO,mBAAmB,KAAK,QAAQ,EAAE,CAAC;YAC5C,OAAO,GAAG,SAAS,CAAC;YACpB,KAAK,GAAG,mBAAmB,CAAC;QAC9B,CAAC;aAAM,IAAI,OAAO,mBAAmB,KAAK,QAAQ,EAAE,CAAC;YACnD,OAAO,GAAG,mBAAmB,CAAC;YAC9B,KAAK,GAAG,UAAU,CAAC;QACrB,CAAC;QAED,MAAM,WAAW,GAAG,OAAO,IAAI,CAAC,KAAK;YACnC,CAAC,CAAC,2CAA2C,KAAK,WAAW;YAC7D,CAAC,CAAC,qDAAqD,CAAC,CAAC;QAE3D,KAAK,CACH,2BAA2B,kBAAkB,CAAC,OAAO,CAAC,EAAE,EACxD,GAAG,EACH,OAAO,EACP,WAAW,EACX
|
|
1
|
+
{"version":3,"file":"ApiError.js","sourceRoot":"","sources":["../../src/errors/ApiError.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.35.
|
|
3
|
+
"version": "1.35.2",
|
|
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",
|