@cyanheads/nws-weather-mcp-server 0.5.6 → 0.5.8
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/CLAUDE.md +32 -13
- package/Dockerfile +2 -2
- package/README.md +1 -1
- package/dist/mcp-server/resources/definitions/alert-types.resource.d.ts +1 -1
- package/dist/mcp-server/resources/definitions/alert-types.resource.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/find-stations.tool.d.ts +7 -1
- package/dist/mcp-server/tools/definitions/find-stations.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/find-stations.tool.js +9 -0
- package/dist/mcp-server/tools/definitions/find-stations.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-forecast.tool.d.ts +7 -1
- package/dist/mcp-server/tools/definitions/get-forecast.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-forecast.tool.js +9 -0
- package/dist/mcp-server/tools/definitions/get-forecast.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-observations.tool.d.ts +27 -1
- package/dist/mcp-server/tools/definitions/get-observations.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-observations.tool.js +36 -2
- package/dist/mcp-server/tools/definitions/get-observations.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/list-alert-types.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/list-alert-types.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/search-alerts.tool.d.ts +17 -1
- package/dist/mcp-server/tools/definitions/search-alerts.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/search-alerts.tool.js +30 -15
- package/dist/mcp-server/tools/definitions/search-alerts.tool.js.map +1 -1
- package/dist/services/nws/nws-service.d.ts.map +1 -1
- package/dist/services/nws/nws-service.js +50 -22
- package/dist/services/nws/nws-service.js.map +1 -1
- package/package.json +8 -9
- package/server.json +3 -3
package/CLAUDE.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Agent Protocol
|
|
2
2
|
|
|
3
3
|
**Server:** nws-weather-mcp-server
|
|
4
|
-
**Version:** 0.5.
|
|
4
|
+
**Version:** 0.5.8
|
|
5
5
|
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core)
|
|
6
6
|
|
|
7
7
|
> **Read the framework docs first:** `node_modules/@cyanheads/mcp-ts-core/CLAUDE.md` contains the full API reference — builders, Context, error codes, exports, patterns. This file covers server-specific conventions only.
|
|
@@ -181,24 +181,42 @@ Handlers receive a unified `ctx` object. Key properties:
|
|
|
181
181
|
|
|
182
182
|
## Errors
|
|
183
183
|
|
|
184
|
-
Handlers throw — the framework catches, classifies, and formats.
|
|
184
|
+
Handlers throw — the framework catches, classifies, and formats.
|
|
185
|
+
|
|
186
|
+
**Recommended: typed error contract.** Tools that surface domain-specific failures declare `errors: [{ reason, code, when, recovery, retryable? }]`. The handler then receives `ctx.fail(reason, msg?, data?)` typed against the reason union (`ctx.fail('typo')` is a TS error). Spread `ctx.recoveryFor('reason')` to copy the contract's recovery hint onto the wire — the framework mirrors `data.recovery.hint` into `content[]` text. Baseline codes (`InternalError`, `ServiceUnavailable`, `Timeout`, `ValidationError`, `SerializationError`) bubble freely without declaration.
|
|
185
187
|
|
|
186
188
|
```ts
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
189
|
+
errors: [
|
|
190
|
+
{ reason: 'out_of_scope', code: JsonRpcErrorCode.ValidationError,
|
|
191
|
+
when: 'Coordinates fall outside US National Weather Service coverage',
|
|
192
|
+
recovery: 'Provide coordinates within US states, territories, or adjacent marine areas.' },
|
|
193
|
+
],
|
|
194
|
+
async handler(input, ctx) {
|
|
195
|
+
if (badCoords(input)) throw ctx.fail('out_of_scope', undefined, { ...ctx.recoveryFor('out_of_scope') });
|
|
196
|
+
// ...
|
|
197
|
+
}
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
In services that throw on behalf of contract-bearing tools, pass `data: { reason: 'X', ...ctx.recoveryFor('X') }` to error factories. The conformance lint scans handler source only — services are wire-correct via `data.reason` but not lint-enforced.
|
|
190
201
|
|
|
191
|
-
|
|
192
|
-
|
|
202
|
+
**Fallback (no contract entry fits):** factories or plain `Error`.
|
|
203
|
+
|
|
204
|
+
```ts
|
|
205
|
+
// Error factories — explicit code, concise
|
|
206
|
+
import { notFound, validationError, serviceUnavailable } from '@cyanheads/mcp-ts-core/errors';
|
|
193
207
|
throw notFound('Item not found', { itemId });
|
|
194
208
|
throw serviceUnavailable('API unavailable', { url }, { cause: err });
|
|
195
209
|
|
|
196
|
-
//
|
|
210
|
+
// Plain Error — framework auto-classifies from message patterns
|
|
211
|
+
throw new Error('Item not found'); // → NotFound
|
|
212
|
+
throw new Error('Invalid query format'); // → ValidationError
|
|
213
|
+
|
|
214
|
+
// McpError — when no factory exists for the code
|
|
197
215
|
import { McpError, JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
198
216
|
throw new McpError(JsonRpcErrorCode.DatabaseError, 'Connection failed', { pool: 'primary' });
|
|
199
217
|
```
|
|
200
218
|
|
|
201
|
-
|
|
219
|
+
Use `validationError` for semantic post-shape validation (the wrong-field-shape kind is rare post-Zod); `invalidParams` is for malformed JSON-RPC params. See framework CLAUDE.md for the full auto-classification table, all available factories, and the contract reference.
|
|
202
220
|
|
|
203
221
|
---
|
|
204
222
|
|
|
@@ -258,11 +276,14 @@ Available skills:
|
|
|
258
276
|
| `maintenance` | Investigate changelogs, adopt upstream changes, sync skills to agent dirs |
|
|
259
277
|
| `report-issue-framework` | File a bug or feature request against `@cyanheads/mcp-ts-core` via `gh` CLI |
|
|
260
278
|
| `report-issue-local` | File a bug or feature request against this server's own repo via `gh` CLI |
|
|
279
|
+
| `tool-defs-analysis` | Read-only audit of tool/resource/prompt language: voice, leaks, defaults, recovery hints, sparsity |
|
|
261
280
|
| `api-auth` | Auth modes, scopes, JWT/OAuth |
|
|
281
|
+
| `api-canvas` | DataCanvas: tabular SQL workspace + `spillover()` for big result sets (Tier 3 opt-in) |
|
|
262
282
|
| `api-config` | AppConfig, parseConfig, env vars |
|
|
263
283
|
| `api-context` | Context interface, logger, state, progress |
|
|
264
|
-
| `api-errors` | McpError, JsonRpcErrorCode, error patterns |
|
|
284
|
+
| `api-errors` | McpError, JsonRpcErrorCode, error contracts, factory patterns |
|
|
265
285
|
| `api-services` | LLM, Speech, Graph services |
|
|
286
|
+
| `api-telemetry` | OTel catalog: spans, metrics, completion logs, env config, cardinality rules |
|
|
266
287
|
| `api-testing` | createMockContext, test patterns |
|
|
267
288
|
| `api-utils` | Formatting, parsing, security, pagination, scheduling |
|
|
268
289
|
| `api-workers` | Cloudflare Workers runtime |
|
|
@@ -283,8 +304,6 @@ When you complete a skill's checklist, check the boxes and add a completion time
|
|
|
283
304
|
| `bun run format` | Auto-fix formatting |
|
|
284
305
|
| `bun run lint:mcp` | Validate MCP tool/resource definitions |
|
|
285
306
|
| `bun run test` | Run tests |
|
|
286
|
-
| `bun run dev:stdio` | Dev mode (stdio) |
|
|
287
|
-
| `bun run dev:http` | Dev mode (HTTP) |
|
|
288
307
|
| `bun run start:stdio` | Production mode (stdio) |
|
|
289
308
|
| `bun run start:http` | Production mode (HTTP) |
|
|
290
309
|
|
|
@@ -321,7 +340,7 @@ import { getNwsService } from '@/services/nws/nws-service.js';
|
|
|
321
340
|
## Checklist
|
|
322
341
|
|
|
323
342
|
- [ ] Zod schemas: all fields have `.describe()`, only JSON-Schema-serializable types (no `z.custom()`, `z.date()`, `z.transform()`, etc.)
|
|
324
|
-
- [ ] Optional nested objects: handler guards for empty inner values from form-based clients (`if (input.obj?.field && ...)`, not just `if (input.obj)`)
|
|
343
|
+
- [ ] Optional nested objects: handler guards for empty inner values from form-based clients (`if (input.obj?.field && ...)`, not just `if (input.obj)`). When regex/length constraints matter, use `z.union([z.literal(''), z.string().regex(...).describe(...)])` — literal variants are exempt from `describe-on-fields`.
|
|
325
344
|
- [ ] JSDoc `@fileoverview` + `@module` on every file
|
|
326
345
|
- [ ] `ctx.log` for logging, `ctx.state` for storage
|
|
327
346
|
- [ ] Handlers throw on failure — error factories or plain `Error`, no try/catch
|
package/Dockerfile
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
# This stage installs all dependencies (including dev), builds the TypeScript
|
|
5
5
|
# source code into JavaScript, and prepares the production assets.
|
|
6
6
|
# ==============================================================================
|
|
7
|
-
FROM oven/bun:1 AS build
|
|
7
|
+
FROM oven/bun:1.3 AS build
|
|
8
8
|
|
|
9
9
|
WORKDIR /usr/src/app
|
|
10
10
|
|
|
@@ -28,7 +28,7 @@ RUN bun run build
|
|
|
28
28
|
# application. It uses a slim base image and only includes production
|
|
29
29
|
# dependencies and build artifacts.
|
|
30
30
|
# ==============================================================================
|
|
31
|
-
FROM oven/bun:1-slim AS production
|
|
31
|
+
FROM oven/bun:1.3-slim AS production
|
|
32
32
|
|
|
33
33
|
WORKDIR /usr/src/app
|
|
34
34
|
|
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
<div align="center">
|
|
8
8
|
|
|
9
|
-
[](https://www.npmjs.com/package/@cyanheads/nws-weather-mcp-server) [](https://www.npmjs.com/package/@cyanheads/nws-weather-mcp-server) [](./CHANGELOG.md) [](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) [](https://modelcontextprotocol.io/)
|
|
10
10
|
|
|
11
11
|
[](./LICENSE) [](https://www.typescriptlang.org/) [](https://bun.sh/)
|
|
12
12
|
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
* @module mcp-server/resources/definitions/alert-types
|
|
4
4
|
*/
|
|
5
5
|
import { z } from '@cyanheads/mcp-ts-core';
|
|
6
|
-
export declare const alertTypesResource: import("@cyanheads/mcp-ts-core").ResourceDefinition<z.ZodObject<{}, z.core.$strip>, undefined>;
|
|
6
|
+
export declare const alertTypesResource: import("@cyanheads/mcp-ts-core").ResourceDefinition<z.ZodObject<{}, z.core.$strip>, undefined, undefined>;
|
|
7
7
|
//# sourceMappingURL=alert-types.resource.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alert-types.resource.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/alert-types.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAY,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAGrD,eAAO,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"alert-types.resource.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/alert-types.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAY,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAGrD,eAAO,MAAM,kBAAkB,2GAsB7B,CAAC"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* @module mcp-server/tools/definitions/find-stations
|
|
4
4
|
*/
|
|
5
5
|
import { z } from '@cyanheads/mcp-ts-core';
|
|
6
|
+
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
6
7
|
export declare const findStationsTool: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{
|
|
7
8
|
latitude: z.ZodNumber;
|
|
8
9
|
longitude: z.ZodNumber;
|
|
@@ -18,5 +19,10 @@ export declare const findStationsTool: import("@cyanheads/mcp-ts-core").ToolDefi
|
|
|
18
19
|
county: z.ZodString;
|
|
19
20
|
forecastZone: z.ZodString;
|
|
20
21
|
}, z.core.$strip>>;
|
|
21
|
-
}, z.core.$strip
|
|
22
|
+
}, z.core.$strip>, readonly [{
|
|
23
|
+
readonly reason: "out_of_scope";
|
|
24
|
+
readonly code: JsonRpcErrorCode.ValidationError;
|
|
25
|
+
readonly when: "Coordinates fall outside US National Weather Service coverage";
|
|
26
|
+
readonly recovery: "Provide coordinates within US states, territories, or adjacent marine areas.";
|
|
27
|
+
}]>;
|
|
22
28
|
//# sourceMappingURL=find-stations.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-stations.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/find-stations.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"find-stations.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/find-stations.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGjE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;GAiF3B,CAAC"}
|
|
@@ -3,10 +3,19 @@
|
|
|
3
3
|
* @module mcp-server/tools/definitions/find-stations
|
|
4
4
|
*/
|
|
5
5
|
import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
6
|
+
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
6
7
|
import { getNwsService } from '../../../services/nws/nws-service.js';
|
|
7
8
|
export const findStationsTool = tool('nws_find_stations', {
|
|
8
9
|
description: 'Find weather observation stations near a location. Returns stations sorted by proximity with distance and bearing. Use to discover station IDs for nws_get_observations.',
|
|
9
10
|
annotations: { readOnlyHint: true },
|
|
11
|
+
errors: [
|
|
12
|
+
{
|
|
13
|
+
reason: 'out_of_scope',
|
|
14
|
+
code: JsonRpcErrorCode.ValidationError,
|
|
15
|
+
when: 'Coordinates fall outside US National Weather Service coverage',
|
|
16
|
+
recovery: 'Provide coordinates within US states, territories, or adjacent marine areas.',
|
|
17
|
+
},
|
|
18
|
+
],
|
|
10
19
|
input: z.object({
|
|
11
20
|
latitude: z.number().min(-90).max(90).describe('Center latitude for proximity search.'),
|
|
12
21
|
longitude: z.number().min(-180).max(180).describe('Center longitude for proximity search.'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-stations.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/find-stations.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,EAAE;IACxD,WAAW,EACT,0KAA0K;IAC5K,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"find-stations.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/find-stations.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* @module mcp-server/tools/definitions/get-forecast
|
|
4
4
|
*/
|
|
5
5
|
import { z } from '@cyanheads/mcp-ts-core';
|
|
6
|
+
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
6
7
|
export declare const getForecastTool: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{
|
|
7
8
|
latitude: z.ZodNumber;
|
|
8
9
|
longitude: z.ZodNumber;
|
|
@@ -31,5 +32,10 @@ export declare const getForecastTool: import("@cyanheads/mcp-ts-core").ToolDefin
|
|
|
31
32
|
dewpoint: z.ZodNullable<z.ZodNumber>;
|
|
32
33
|
relativeHumidity: z.ZodNullable<z.ZodNumber>;
|
|
33
34
|
}, z.core.$strip>>;
|
|
34
|
-
}, z.core.$strip
|
|
35
|
+
}, z.core.$strip>, readonly [{
|
|
36
|
+
readonly reason: "out_of_scope";
|
|
37
|
+
readonly code: JsonRpcErrorCode.ValidationError;
|
|
38
|
+
readonly when: "Coordinates fall outside US National Weather Service coverage";
|
|
39
|
+
readonly recovery: "Provide coordinates within US states, territories, or adjacent marine areas.";
|
|
40
|
+
}]>;
|
|
35
41
|
//# sourceMappingURL=get-forecast.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-forecast.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-forecast.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"get-forecast.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-forecast.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAqBjE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+I1B,CAAC"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* @module mcp-server/tools/definitions/get-forecast
|
|
4
4
|
*/
|
|
5
5
|
import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
6
|
+
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
6
7
|
import { getNwsService } from '../../../services/nws/nws-service.js';
|
|
7
8
|
import { cToF, formatTimestamp, fToC } from '../format-utils.js';
|
|
8
9
|
/**
|
|
@@ -26,6 +27,14 @@ function periodLabel(name, startTime, timeZone) {
|
|
|
26
27
|
export const getForecastTool = tool('nws_get_forecast', {
|
|
27
28
|
description: 'Get the weather forecast for a US location. Returns either named 12-hour periods (default) or hourly breakdowns. Internally resolves coordinates to the NWS grid.',
|
|
28
29
|
annotations: { readOnlyHint: true },
|
|
30
|
+
errors: [
|
|
31
|
+
{
|
|
32
|
+
reason: 'out_of_scope',
|
|
33
|
+
code: JsonRpcErrorCode.ValidationError,
|
|
34
|
+
when: 'Coordinates fall outside US National Weather Service coverage',
|
|
35
|
+
recovery: 'Provide coordinates within US states, territories, or adjacent marine areas.',
|
|
36
|
+
},
|
|
37
|
+
],
|
|
29
38
|
input: z.object({
|
|
30
39
|
latitude: z
|
|
31
40
|
.number()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-forecast.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-forecast.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAEjE;;;;GAIG;AACH,SAAS,WAAW,CAAC,IAAY,EAAE,SAAiB,EAAE,QAAgB;IACpE,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9B,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAAE,OAAO,SAAS,CAAC;IAChD,OAAO,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE;QAC/B,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,SAAS;QACjB,QAAQ;KACT,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE;IACtD,WAAW,EACT,mKAAmK;IACrK,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"get-forecast.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-forecast.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* @module mcp-server/tools/definitions/get-observations
|
|
4
4
|
*/
|
|
5
5
|
import { z } from '@cyanheads/mcp-ts-core';
|
|
6
|
+
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
6
7
|
export declare const getObservationsTool: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{
|
|
7
8
|
latitude: z.ZodOptional<z.ZodNumber>;
|
|
8
9
|
longitude: z.ZodOptional<z.ZodNumber>;
|
|
@@ -27,5 +28,30 @@ export declare const getObservationsTool: import("@cyanheads/mcp-ts-core").ToolD
|
|
|
27
28
|
amount: z.ZodString;
|
|
28
29
|
base: z.ZodNullable<z.ZodNumber>;
|
|
29
30
|
}, z.core.$strip>>;
|
|
30
|
-
}, z.core.$strip
|
|
31
|
+
}, z.core.$strip>, readonly [{
|
|
32
|
+
readonly reason: "missing_input";
|
|
33
|
+
readonly code: JsonRpcErrorCode.ValidationError;
|
|
34
|
+
readonly when: "Neither station_id nor a (latitude, longitude) pair was provided";
|
|
35
|
+
readonly recovery: "Provide either station_id or both latitude and longitude.";
|
|
36
|
+
}, {
|
|
37
|
+
readonly reason: "station_not_found";
|
|
38
|
+
readonly code: JsonRpcErrorCode.NotFound;
|
|
39
|
+
readonly when: "Station ID does not exist in the NWS network";
|
|
40
|
+
readonly recovery: "Use nws_find_stations to discover valid station IDs near a coordinate.";
|
|
41
|
+
}, {
|
|
42
|
+
readonly reason: "no_observations";
|
|
43
|
+
readonly code: JsonRpcErrorCode.NotFound;
|
|
44
|
+
readonly when: "Station has no recent observations available";
|
|
45
|
+
readonly recovery: "Try a different station — use nws_find_stations to find alternatives nearby.";
|
|
46
|
+
}, {
|
|
47
|
+
readonly reason: "no_stations_nearby";
|
|
48
|
+
readonly code: JsonRpcErrorCode.NotFound;
|
|
49
|
+
readonly when: "No observation stations exist near the requested coordinates";
|
|
50
|
+
readonly recovery: "Try a different location or broaden the search by moving inland.";
|
|
51
|
+
}, {
|
|
52
|
+
readonly reason: "out_of_scope";
|
|
53
|
+
readonly code: JsonRpcErrorCode.ValidationError;
|
|
54
|
+
readonly when: "Coordinates fall outside US National Weather Service coverage";
|
|
55
|
+
readonly recovery: "Provide coordinates within US states, territories, or adjacent marine areas.";
|
|
56
|
+
}]>;
|
|
31
57
|
//# sourceMappingURL=get-observations.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-observations.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-observations.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"get-observations.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-observations.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAyDjE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwM9B,CAAC"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* @module mcp-server/tools/definitions/get-observations
|
|
4
4
|
*/
|
|
5
5
|
import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
6
|
-
import {
|
|
6
|
+
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
7
7
|
import { getNwsService } from '../../../services/nws/nws-service.js';
|
|
8
8
|
import { cToF, formatTimestamp } from '../format-utils.js';
|
|
9
9
|
/** Convert km/h to mph. */
|
|
@@ -58,6 +58,38 @@ function normalizeStationId(stationId) {
|
|
|
58
58
|
export const getObservationsTool = tool('nws_get_observations', {
|
|
59
59
|
description: 'Get current weather observations (actual measured conditions). Accepts coordinates (resolves nearest station automatically) or a station ID directly (e.g., "KSEA").',
|
|
60
60
|
annotations: { readOnlyHint: true },
|
|
61
|
+
errors: [
|
|
62
|
+
{
|
|
63
|
+
reason: 'missing_input',
|
|
64
|
+
code: JsonRpcErrorCode.ValidationError,
|
|
65
|
+
when: 'Neither station_id nor a (latitude, longitude) pair was provided',
|
|
66
|
+
recovery: 'Provide either station_id or both latitude and longitude.',
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
reason: 'station_not_found',
|
|
70
|
+
code: JsonRpcErrorCode.NotFound,
|
|
71
|
+
when: 'Station ID does not exist in the NWS network',
|
|
72
|
+
recovery: 'Use nws_find_stations to discover valid station IDs near a coordinate.',
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
reason: 'no_observations',
|
|
76
|
+
code: JsonRpcErrorCode.NotFound,
|
|
77
|
+
when: 'Station has no recent observations available',
|
|
78
|
+
recovery: 'Try a different station — use nws_find_stations to find alternatives nearby.',
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
reason: 'no_stations_nearby',
|
|
82
|
+
code: JsonRpcErrorCode.NotFound,
|
|
83
|
+
when: 'No observation stations exist near the requested coordinates',
|
|
84
|
+
recovery: 'Try a different location or broaden the search by moving inland.',
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
reason: 'out_of_scope',
|
|
88
|
+
code: JsonRpcErrorCode.ValidationError,
|
|
89
|
+
when: 'Coordinates fall outside US National Weather Service coverage',
|
|
90
|
+
recovery: 'Provide coordinates within US states, territories, or adjacent marine areas.',
|
|
91
|
+
},
|
|
92
|
+
],
|
|
61
93
|
input: z.object({
|
|
62
94
|
latitude: z
|
|
63
95
|
.number()
|
|
@@ -104,7 +136,9 @@ export const getObservationsTool = tool('nws_get_observations', {
|
|
|
104
136
|
async handler(input, ctx) {
|
|
105
137
|
const normalizedStationId = normalizeStationId(input.station_id);
|
|
106
138
|
if (!normalizedStationId && (input.latitude == null || input.longitude == null)) {
|
|
107
|
-
throw
|
|
139
|
+
throw ctx.fail('missing_input', undefined, {
|
|
140
|
+
...ctx.recoveryFor('missing_input'),
|
|
141
|
+
});
|
|
108
142
|
}
|
|
109
143
|
const result = await getNwsService().getObservation({
|
|
110
144
|
latitude: input.latitude,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-observations.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-observations.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"get-observations.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-observations.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,5 +6,5 @@ import { z } from '@cyanheads/mcp-ts-core';
|
|
|
6
6
|
export declare const listAlertTypesTool: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{}, z.core.$strip>, z.ZodObject<{
|
|
7
7
|
count: z.ZodNumber;
|
|
8
8
|
eventTypes: z.ZodArray<z.ZodString>;
|
|
9
|
-
}, z.core.$strip
|
|
9
|
+
}, z.core.$strip>, undefined>;
|
|
10
10
|
//# sourceMappingURL=list-alert-types.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-alert-types.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/list-alert-types.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAGjD,eAAO,MAAM,kBAAkB;;;
|
|
1
|
+
{"version":3,"file":"list-alert-types.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/list-alert-types.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAGjD,eAAO,MAAM,kBAAkB;;;6BAyB7B,CAAC"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* @module mcp-server/tools/definitions/search-alerts
|
|
4
4
|
*/
|
|
5
5
|
import { z } from '@cyanheads/mcp-ts-core';
|
|
6
|
+
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
6
7
|
export declare const searchAlertsTool: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{
|
|
7
8
|
area: z.ZodOptional<z.ZodString>;
|
|
8
9
|
point: z.ZodOptional<z.ZodString>;
|
|
@@ -54,5 +55,20 @@ export declare const searchAlertsTool: import("@cyanheads/mcp-ts-core").ToolDefi
|
|
|
54
55
|
senderName: z.ZodString;
|
|
55
56
|
affectedZones: z.ZodArray<z.ZodString>;
|
|
56
57
|
}, z.core.$strip>>;
|
|
57
|
-
}, z.core.$strip
|
|
58
|
+
}, z.core.$strip>, readonly [{
|
|
59
|
+
readonly reason: "mutually_exclusive_filters";
|
|
60
|
+
readonly code: JsonRpcErrorCode.ValidationError;
|
|
61
|
+
readonly when: "More than one of area, point, or zone provided";
|
|
62
|
+
readonly recovery: "Provide at most one of area, point, or zone — they are mutually exclusive filters.";
|
|
63
|
+
}, {
|
|
64
|
+
readonly reason: "invalid_area_code";
|
|
65
|
+
readonly code: JsonRpcErrorCode.ValidationError;
|
|
66
|
+
readonly when: "Area code is not a recognized US state, territory, or marine area";
|
|
67
|
+
readonly recovery: "Provide a 2-letter US state/territory code (e.g., \"WA\") or marine area code (e.g., \"GM\").";
|
|
68
|
+
}, {
|
|
69
|
+
readonly reason: "invalid_point";
|
|
70
|
+
readonly code: JsonRpcErrorCode.ValidationError;
|
|
71
|
+
readonly when: "Point coordinates are malformed or outside valid bounds";
|
|
72
|
+
readonly recovery: "Provide \"lat,lon\" with latitude -90 to 90 and longitude -180 to 180 (e.g., \"47.6,-122.3\").";
|
|
73
|
+
}]>;
|
|
58
74
|
//# sourceMappingURL=search-alerts.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-alerts.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-alerts.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"search-alerts.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-alerts.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AA0KjE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqL3B,CAAC"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* @module mcp-server/tools/definitions/search-alerts
|
|
4
4
|
*/
|
|
5
5
|
import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
6
|
-
import {
|
|
6
|
+
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
7
7
|
import { getNwsService } from '../../../services/nws/nws-service.js';
|
|
8
8
|
import { formatTimestamp, zoneCodeToTimeZone } from '../format-utils.js';
|
|
9
9
|
const MAX_ALERTS = 25;
|
|
@@ -116,19 +116,14 @@ function normalizeOptionalFilter(value) {
|
|
|
116
116
|
const normalized = value.trim();
|
|
117
117
|
return normalized.length > 0 ? normalized : undefined;
|
|
118
118
|
}
|
|
119
|
-
/**
|
|
119
|
+
/** Trim and case-fold optional location filters; mutex enforcement happens in the handler. */
|
|
120
120
|
function normalizeSearchAlertsInput(input) {
|
|
121
|
-
|
|
121
|
+
return {
|
|
122
122
|
...input,
|
|
123
123
|
area: normalizeOptionalFilter(input.area)?.toUpperCase(),
|
|
124
124
|
point: normalizeOptionalFilter(input.point),
|
|
125
125
|
zone: normalizeOptionalFilter(input.zone),
|
|
126
126
|
};
|
|
127
|
-
const activeLocationFilters = LOCATION_FILTER_FIELDS.filter((fieldName) => normalized[fieldName]);
|
|
128
|
-
if (activeLocationFilters.length > 1) {
|
|
129
|
-
throw invalidParams('area, point, and zone are mutually exclusive. Specify at most one location filter.');
|
|
130
|
-
}
|
|
131
|
-
return normalized;
|
|
132
127
|
}
|
|
133
128
|
const searchAlertsInputSchema = z.object({
|
|
134
129
|
area: z
|
|
@@ -167,6 +162,26 @@ const searchAlertsInputSchema = z.object({
|
|
|
167
162
|
export const searchAlertsTool = tool('nws_search_alerts', {
|
|
168
163
|
description: 'Search active weather alerts (watches, warnings, advisories) across the US. Filter by state, coordinates, zone, event type, severity, urgency, or certainty. area, point, and zone are mutually exclusive. Omit all filters for a national search.',
|
|
169
164
|
annotations: { readOnlyHint: true },
|
|
165
|
+
errors: [
|
|
166
|
+
{
|
|
167
|
+
reason: 'mutually_exclusive_filters',
|
|
168
|
+
code: JsonRpcErrorCode.ValidationError,
|
|
169
|
+
when: 'More than one of area, point, or zone provided',
|
|
170
|
+
recovery: 'Provide at most one of area, point, or zone — they are mutually exclusive filters.',
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
reason: 'invalid_area_code',
|
|
174
|
+
code: JsonRpcErrorCode.ValidationError,
|
|
175
|
+
when: 'Area code is not a recognized US state, territory, or marine area',
|
|
176
|
+
recovery: 'Provide a 2-letter US state/territory code (e.g., "WA") or marine area code (e.g., "GM").',
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
reason: 'invalid_point',
|
|
180
|
+
code: JsonRpcErrorCode.ValidationError,
|
|
181
|
+
when: 'Point coordinates are malformed or outside valid bounds',
|
|
182
|
+
recovery: 'Provide "lat,lon" with latitude -90 to 90 and longitude -180 to 180 (e.g., "47.6,-122.3").',
|
|
183
|
+
},
|
|
184
|
+
],
|
|
170
185
|
input: searchAlertsInputSchema,
|
|
171
186
|
output: z.object({
|
|
172
187
|
count: z.number().describe('Total number of matching alerts'),
|
|
@@ -200,13 +215,13 @@ export const searchAlertsTool = tool('nws_search_alerts', {
|
|
|
200
215
|
}),
|
|
201
216
|
async handler(input, ctx) {
|
|
202
217
|
const normalizedInput = normalizeSearchAlertsInput(input);
|
|
203
|
-
|
|
204
|
-
if (
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
218
|
+
const activeLocationFilters = LOCATION_FILTER_FIELDS.filter((fieldName) => normalizedInput[fieldName]);
|
|
219
|
+
if (activeLocationFilters.length > 1) {
|
|
220
|
+
throw ctx.fail('mutually_exclusive_filters', `Provided ${activeLocationFilters.join(', ')}; only one of area, point, or zone is allowed.`, { ...ctx.recoveryFor('mutually_exclusive_filters') });
|
|
221
|
+
}
|
|
222
|
+
if (normalizedInput.area && !VALID_AREA_CODES.has(normalizedInput.area)) {
|
|
223
|
+
throw ctx.fail('invalid_area_code', `Invalid area code "${normalizedInput.area}". Use a 2-letter US state/territory code (e.g., "WA", "OK", "PR") or marine area code (e.g., "GM").`, { ...ctx.recoveryFor('invalid_area_code') });
|
|
208
224
|
}
|
|
209
|
-
// Validate point format before hitting the API
|
|
210
225
|
if (normalizedInput.point) {
|
|
211
226
|
const [lat, lon, ...rest] = normalizedInput.point.split(',').map(Number);
|
|
212
227
|
if (rest.length > 0 ||
|
|
@@ -218,7 +233,7 @@ export const searchAlertsTool = tool('nws_search_alerts', {
|
|
|
218
233
|
lat > 90 ||
|
|
219
234
|
lon < -180 ||
|
|
220
235
|
lon > 180) {
|
|
221
|
-
throw
|
|
236
|
+
throw ctx.fail('invalid_point', `Invalid point "${normalizedInput.point}". Provide "lat,lon" with latitude -90 to 90 and longitude -180 to 180 (e.g., "47.6,-122.3").`, { ...ctx.recoveryFor('invalid_point') });
|
|
222
237
|
}
|
|
223
238
|
}
|
|
224
239
|
const result = await getNwsService().searchAlerts(normalizedInput, ctx);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-alerts.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-alerts.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"search-alerts.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-alerts.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nws-service.d.ts","sourceRoot":"","sources":["../../../src/services/nws/nws-service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"nws-service.d.ts","sourceRoot":"","sources":["../../../src/services/nws/nws-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* with caching, and retry logic for transient failures.
|
|
4
4
|
* @module services/nws/nws-service
|
|
5
5
|
*/
|
|
6
|
-
import { JsonRpcErrorCode, McpError, notFound,
|
|
7
|
-
import { requestContextService, withRetry } from '@cyanheads/mcp-ts-core/utils';
|
|
6
|
+
import { JsonRpcErrorCode, McpError, notFound, serializationError, serviceUnavailable, timeout, validationError, } from '@cyanheads/mcp-ts-core/errors';
|
|
7
|
+
import { httpErrorFromResponse, requestContextService, withRetry, } from '@cyanheads/mcp-ts-core/utils';
|
|
8
8
|
import { getServerConfig } from '../../config/server-config.js';
|
|
9
9
|
const BASE_URL = 'https://api.weather.gov';
|
|
10
10
|
const POINTS_CACHE_TTL_MS = 3_600_000; // 1 hour — grid cells rarely change
|
|
@@ -103,11 +103,13 @@ function parseNwsJson(text, url) {
|
|
|
103
103
|
return JSON.parse(text);
|
|
104
104
|
}
|
|
105
105
|
catch (error) {
|
|
106
|
+
// HTML body usually signals a transient CDN/edge intercept — keep retryable
|
|
107
|
+
// (ServiceUnavailable). Anything else is a real serialization failure.
|
|
106
108
|
const isHtml = /^\s*<(!DOCTYPE\s+html|html[\s>])/i.test(text);
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
throw
|
|
109
|
+
if (isHtml) {
|
|
110
|
+
throw serviceUnavailable('NWS API returned HTML instead of JSON. Retry in a few seconds.', { url }, { cause: error });
|
|
111
|
+
}
|
|
112
|
+
throw serializationError('NWS API returned invalid JSON.', { url }, { cause: error });
|
|
111
113
|
}
|
|
112
114
|
}
|
|
113
115
|
function createRetryContext(ctx) {
|
|
@@ -137,6 +139,8 @@ function nwsFetch(url, ctx, retries = MAX_RETRIES, notFoundMessage = DEFAULT_NOT
|
|
|
137
139
|
if (response.status === 404) {
|
|
138
140
|
throw notFoundFactory(notFoundMessage);
|
|
139
141
|
}
|
|
142
|
+
// 400 carries an upstream parameter-validation message we want to surface
|
|
143
|
+
// verbatim — our params were valid JSON-RPC, NWS rejected the semantics.
|
|
140
144
|
if (response.status === 400) {
|
|
141
145
|
const detail = parseNwsErrorDetail(text);
|
|
142
146
|
throw validationError(detail ?? `NWS API returned 400: Bad Request for ${url}`, {
|
|
@@ -144,15 +148,15 @@ function nwsFetch(url, ctx, retries = MAX_RETRIES, notFoundMessage = DEFAULT_NOT
|
|
|
144
148
|
status: response.status,
|
|
145
149
|
});
|
|
146
150
|
}
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
status:
|
|
151
|
+
// Body already consumed via `response.text()` above — captureBody: false
|
|
152
|
+
// avoids the helper trying to read it again. NWS 500s are well-known
|
|
153
|
+
// transient failures (especially grid forecast endpoints), so remap
|
|
154
|
+
// 500/501 from InternalError → ServiceUnavailable to keep them retryable.
|
|
155
|
+
throw await httpErrorFromResponse(response, {
|
|
156
|
+
service: 'NWS',
|
|
157
|
+
data: { url },
|
|
158
|
+
captureBody: false,
|
|
159
|
+
codeOverride: (status) => status === 500 || status === 501 ? JsonRpcErrorCode.ServiceUnavailable : undefined,
|
|
156
160
|
});
|
|
157
161
|
}, {
|
|
158
162
|
maxRetries: retries,
|
|
@@ -184,7 +188,12 @@ async function resolvePoints(lat, lon, ctx) {
|
|
|
184
188
|
const tLat = truncateCoord(lat);
|
|
185
189
|
const tLon = truncateCoord(lon);
|
|
186
190
|
ctx.log.info('Resolving /points', { lat: tLat, lon: tLon });
|
|
187
|
-
const data = await nwsFetch(`${BASE_URL}/points/${tLat},${tLon}`, ctx, MAX_RETRIES, POINTS_NOT_FOUND, (message) => validationError(message, {
|
|
191
|
+
const data = await nwsFetch(`${BASE_URL}/points/${tLat},${tLon}`, ctx, MAX_RETRIES, POINTS_NOT_FOUND, (message) => validationError(message, {
|
|
192
|
+
lat: tLat,
|
|
193
|
+
lon: tLon,
|
|
194
|
+
reason: 'out_of_scope',
|
|
195
|
+
...ctx.recoveryFor('out_of_scope'),
|
|
196
|
+
}));
|
|
188
197
|
const props = data.properties;
|
|
189
198
|
const relativeLocation = props.relativeLocation
|
|
190
199
|
?.properties;
|
|
@@ -411,18 +420,27 @@ export class NwsService {
|
|
|
411
420
|
// Direct station ID — fetch metadata and observation in parallel
|
|
412
421
|
if (params.stationId) {
|
|
413
422
|
const stationId = params.stationId.toUpperCase();
|
|
414
|
-
const notFoundMsg = `Station '${stationId}' not found
|
|
423
|
+
const notFoundMsg = `Station '${stationId}' not found.`;
|
|
424
|
+
const stationNotFoundFactory = (message) => notFound(message, {
|
|
425
|
+
stationId,
|
|
426
|
+
reason: 'station_not_found',
|
|
427
|
+
...ctx.recoveryFor('station_not_found'),
|
|
428
|
+
});
|
|
415
429
|
ctx.log.info('Fetching station metadata and latest observation', { stationId });
|
|
416
430
|
const [stationData, obsData] = await Promise.all([
|
|
417
|
-
nwsFetch(`${BASE_URL}/stations/${stationId}`, ctx, 0, notFoundMsg),
|
|
418
|
-
nwsFetch(`${BASE_URL}/stations/${stationId}/observations/latest`, ctx, MAX_RETRIES, notFoundMsg),
|
|
431
|
+
nwsFetch(`${BASE_URL}/stations/${stationId}`, ctx, 0, notFoundMsg, stationNotFoundFactory),
|
|
432
|
+
nwsFetch(`${BASE_URL}/stations/${stationId}/observations/latest`, ctx, MAX_RETRIES, notFoundMsg, stationNotFoundFactory),
|
|
419
433
|
]);
|
|
420
434
|
const stationProps = stationData.properties;
|
|
421
435
|
const stationName = stationProps?.name ?? stationId;
|
|
422
436
|
const timeZone = typeof stationProps?.timeZone === 'string' ? stationProps.timeZone : null;
|
|
423
437
|
const observation = parseObservation(obsData, stationId, stationName, timeZone);
|
|
424
438
|
if (!observation.timestamp) {
|
|
425
|
-
throw notFound(`Station ${stationId} has no recent observations
|
|
439
|
+
throw notFound(`Station ${stationId} has no recent observations.`, {
|
|
440
|
+
stationId,
|
|
441
|
+
reason: 'no_observations',
|
|
442
|
+
...ctx.recoveryFor('no_observations'),
|
|
443
|
+
});
|
|
426
444
|
}
|
|
427
445
|
return { observation };
|
|
428
446
|
}
|
|
@@ -442,15 +460,25 @@ export class NwsService {
|
|
|
442
460
|
throw notFound('No observation stations found near this location.', {
|
|
443
461
|
latitude: lat,
|
|
444
462
|
longitude: lon,
|
|
463
|
+
reason: 'no_stations_nearby',
|
|
464
|
+
...ctx.recoveryFor('no_stations_nearby'),
|
|
445
465
|
});
|
|
446
466
|
}
|
|
447
467
|
const stationId = nearestStation.stationId;
|
|
448
468
|
const stationName = nearestStation.name;
|
|
449
469
|
ctx.log.info('Fetching latest observation', { stationId });
|
|
450
|
-
const data = await nwsFetch(`${BASE_URL}/stations/${stationId}/observations/latest`, ctx, MAX_RETRIES, `Station '${stationId}' not found
|
|
470
|
+
const data = await nwsFetch(`${BASE_URL}/stations/${stationId}/observations/latest`, ctx, MAX_RETRIES, `Station '${stationId}' not found.`, (message) => notFound(message, {
|
|
471
|
+
stationId,
|
|
472
|
+
reason: 'station_not_found',
|
|
473
|
+
...ctx.recoveryFor('station_not_found'),
|
|
474
|
+
}));
|
|
451
475
|
const observation = parseObservation(data, stationId, stationName, nearestStation.timeZone);
|
|
452
476
|
if (!observation.timestamp) {
|
|
453
|
-
throw notFound(`Station ${stationId} has no recent observations
|
|
477
|
+
throw notFound(`Station ${stationId} has no recent observations.`, {
|
|
478
|
+
stationId,
|
|
479
|
+
reason: 'no_observations',
|
|
480
|
+
...ctx.recoveryFor('no_observations'),
|
|
481
|
+
});
|
|
454
482
|
}
|
|
455
483
|
return { observation };
|
|
456
484
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nws-service.js","sourceRoot":"","sources":["../../../src/services/nws/nws-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nws-service.js","sourceRoot":"","sources":["../../../src/services/nws/nws-service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cyanheads/nws-weather-mcp-server",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.8",
|
|
4
4
|
"description": "Real-time US weather data via the National Weather Service API. Forecasts, alerts, and observations with zero auth.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -18,8 +18,7 @@
|
|
|
18
18
|
"format": "biome check --write --unsafe .",
|
|
19
19
|
"lint:mcp": "bun scripts/lint-mcp.ts",
|
|
20
20
|
"test": "vitest run",
|
|
21
|
-
"
|
|
22
|
-
"dev:http": "MCP_TRANSPORT_TYPE=http bun --watch src/index.ts",
|
|
21
|
+
"start": "node dist/index.js",
|
|
23
22
|
"start:stdio": "MCP_TRANSPORT_TYPE=stdio node dist/index.js",
|
|
24
23
|
"start:http": "MCP_TRANSPORT_TYPE=http node dist/index.js"
|
|
25
24
|
},
|
|
@@ -57,25 +56,25 @@
|
|
|
57
56
|
],
|
|
58
57
|
"license": "Apache-2.0",
|
|
59
58
|
"engines": {
|
|
60
|
-
"node": ">=
|
|
61
|
-
"bun": ">=1.
|
|
59
|
+
"node": ">=24.0.0",
|
|
60
|
+
"bun": ">=1.3.0"
|
|
62
61
|
},
|
|
63
62
|
"packageManager": "bun@1.3.11",
|
|
64
63
|
"publishConfig": {
|
|
65
64
|
"access": "public"
|
|
66
65
|
},
|
|
67
66
|
"dependencies": {
|
|
68
|
-
"@cyanheads/mcp-ts-core": "^0.
|
|
67
|
+
"@cyanheads/mcp-ts-core": "^0.8.19",
|
|
69
68
|
"@opentelemetry/api": "^1.9.1",
|
|
70
69
|
"pino-pretty": "^13.1.3"
|
|
71
70
|
},
|
|
72
71
|
"devDependencies": {
|
|
73
|
-
"@biomejs/biome": "^2.4.
|
|
74
|
-
"@types/node": "^25.6.
|
|
72
|
+
"@biomejs/biome": "^2.4.14",
|
|
73
|
+
"@types/node": "^25.6.2",
|
|
75
74
|
"@vitest/coverage-istanbul": "^4.1.5",
|
|
76
75
|
"depcheck": "^1.4.7",
|
|
77
76
|
"ignore": "^7.0.5",
|
|
78
|
-
"tsc-alias": "^1.8.
|
|
77
|
+
"tsc-alias": "^1.8.17",
|
|
79
78
|
"typescript": "^6.0.3",
|
|
80
79
|
"vitest": "^4.1.5"
|
|
81
80
|
}
|
package/server.json
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"url": "https://github.com/cyanheads/nws-weather-mcp-server",
|
|
7
7
|
"source": "github"
|
|
8
8
|
},
|
|
9
|
-
"version": "0.5.
|
|
9
|
+
"version": "0.5.8",
|
|
10
10
|
"remotes": [
|
|
11
11
|
{
|
|
12
12
|
"type": "streamable-http",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
20
20
|
"identifier": "@cyanheads/nws-weather-mcp-server",
|
|
21
21
|
"runtimeHint": "bun",
|
|
22
|
-
"version": "0.5.
|
|
22
|
+
"version": "0.5.8",
|
|
23
23
|
"packageArguments": [
|
|
24
24
|
{ "type": "positional", "value": "run" },
|
|
25
25
|
{ "type": "positional", "value": "start:stdio" }
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
50
50
|
"identifier": "@cyanheads/nws-weather-mcp-server",
|
|
51
51
|
"runtimeHint": "bun",
|
|
52
|
-
"version": "0.5.
|
|
52
|
+
"version": "0.5.8",
|
|
53
53
|
"packageArguments": [
|
|
54
54
|
{ "type": "positional", "value": "run" },
|
|
55
55
|
{ "type": "positional", "value": "start:http" }
|