@cyanheads/noaa-spaceweather-mcp-server 0.1.11 → 0.1.12

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/AGENTS.md CHANGED
@@ -1,10 +1,10 @@
1
1
  # Developer Protocol
2
2
 
3
3
  **Server:** noaa-spaceweather-mcp-server
4
- **Version:** 0.1.11
5
- **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.10.14`
4
+ **Version:** 0.1.12
5
+ **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.12.3`
6
6
  **Engines:** Bun ≥1.3.0, Node ≥24.0.0
7
- **MCP SDK:** `@modelcontextprotocol/sdk` ^1.29.0
7
+ **MCP SDK:** `@modelcontextprotocol/server` ^2.0.0 (protocol revisions 2026-07-28 and 2025-*)
8
8
  **Zod:** ^4.4.3
9
9
 
10
10
  > **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.
@@ -35,7 +35,6 @@ Tailor suggestions to what's actually missing or stale — don't recite the full
35
35
  - **Logic throws, framework catches.** Tool/resource handlers are pure — throw on failure, no `try/catch`. Plain `Error` is fine; the framework catches, classifies, and formats. Use error factories (`notFound()`, `validationError()`, etc.) when the error code matters.
36
36
  - **Use `ctx.log`** for request-scoped logging. No `console` calls.
37
37
  - **Use `ctx.state`** for tenant-scoped storage. Never access persistence directly.
38
- - **Check `ctx.elicit`** for presence before calling.
39
38
  - **Secrets in env vars only** — never hardcoded.
40
39
  - **Close the loop on issues.** When implementing work tracked by a GitHub issue, comment on the issue with what landed and close it. Do both — a comment without a close leaves stale issues open; a close without a comment leaves no record of what shipped. The comment is for future readers — state the concrete changes, not the conversation that produced them.
41
40
 
@@ -101,7 +100,7 @@ Handlers receive a unified `ctx` object. Key properties:
101
100
 
102
101
  | Property | Description |
103
102
  |:---------|:------------|
104
- | `ctx.log` | Request-scoped logger — `.debug()`, `.info()`, `.notice()`, `.warning()`, `.error()`. Auto-correlates requestId, traceId, tenantId. |
103
+ | `ctx.log` | Request-scoped logger — `.debug()`, `.info()`, `.notice()`, `.warning()`, `.error()`. Auto-correlates requestId, traceId, tenantId. Dual-sink: Pino and `notifications/message` to the client, so treat it as client-visible. |
105
104
  | `ctx.fail` | Typed error thrower — `ctx.fail('reason', message, opts?)` maps to declared `errors[]` contract. |
106
105
  | `ctx.enrich` | Attach advisory fields to a successful response — `ctx.enrich.notice(text)`, `.total(n)`, `.echo(query)`, `.delta({...})`. Requires a declared `enrichment` block on the tool; without one the values are silently stripped. |
107
106
  | `ctx.recoveryFor` | Spread into an error options object to attach the declared recovery hint: `...ctx.recoveryFor('reason')`. |
package/CLAUDE.md CHANGED
@@ -1,10 +1,10 @@
1
1
  # Developer Protocol
2
2
 
3
3
  **Server:** noaa-spaceweather-mcp-server
4
- **Version:** 0.1.11
5
- **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.10.14`
4
+ **Version:** 0.1.12
5
+ **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.12.3`
6
6
  **Engines:** Bun ≥1.3.0, Node ≥24.0.0
7
- **MCP SDK:** `@modelcontextprotocol/sdk` ^1.29.0
7
+ **MCP SDK:** `@modelcontextprotocol/server` ^2.0.0 (protocol revisions 2026-07-28 and 2025-*)
8
8
  **Zod:** ^4.4.3
9
9
 
10
10
  > **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.
@@ -35,7 +35,6 @@ Tailor suggestions to what's actually missing or stale — don't recite the full
35
35
  - **Logic throws, framework catches.** Tool/resource handlers are pure — throw on failure, no `try/catch`. Plain `Error` is fine; the framework catches, classifies, and formats. Use error factories (`notFound()`, `validationError()`, etc.) when the error code matters.
36
36
  - **Use `ctx.log`** for request-scoped logging. No `console` calls.
37
37
  - **Use `ctx.state`** for tenant-scoped storage. Never access persistence directly.
38
- - **Check `ctx.elicit`** for presence before calling.
39
38
  - **Secrets in env vars only** — never hardcoded.
40
39
  - **Close the loop on issues.** When implementing work tracked by a GitHub issue, comment on the issue with what landed and close it. Do both — a comment without a close leaves stale issues open; a close without a comment leaves no record of what shipped. The comment is for future readers — state the concrete changes, not the conversation that produced them.
41
40
 
@@ -101,7 +100,7 @@ Handlers receive a unified `ctx` object. Key properties:
101
100
 
102
101
  | Property | Description |
103
102
  |:---------|:------------|
104
- | `ctx.log` | Request-scoped logger — `.debug()`, `.info()`, `.notice()`, `.warning()`, `.error()`. Auto-correlates requestId, traceId, tenantId. |
103
+ | `ctx.log` | Request-scoped logger — `.debug()`, `.info()`, `.notice()`, `.warning()`, `.error()`. Auto-correlates requestId, traceId, tenantId. Dual-sink: Pino and `notifications/message` to the client, so treat it as client-visible. |
105
104
  | `ctx.fail` | Typed error thrower — `ctx.fail('reason', message, opts?)` maps to declared `errors[]` contract. |
106
105
  | `ctx.enrich` | Attach advisory fields to a successful response — `ctx.enrich.notice(text)`, `.total(n)`, `.echo(query)`, `.delta({...})`. Requires a declared `enrichment` block on the tool; without one the values are silently stripped. |
107
106
  | `ctx.recoveryFor` | Spread into an error options object to attach the declared recovery hint: `...ctx.recoveryFor('reason')`. |
package/Dockerfile CHANGED
@@ -3,8 +3,11 @@
3
3
  #
4
4
  # This stage installs all dependencies (including dev), builds the TypeScript
5
5
  # source code into JavaScript, and prepares the production assets.
6
+ #
7
+ # The build emits platform-independent JavaScript, so keep this stage native to
8
+ # the builder instead of running Bun under cross-architecture emulation.
6
9
  # ==============================================================================
7
- FROM oven/bun:1.3.14 AS build
10
+ FROM --platform=$BUILDPLATFORM oven/bun:1.4.0 AS build
8
11
 
9
12
  WORKDIR /usr/src/app
10
13
 
@@ -30,7 +33,7 @@ RUN bun run build
30
33
  # application. It uses a slim base image and only includes production
31
34
  # dependencies and build artifacts.
32
35
  # ==============================================================================
33
- FROM oven/bun:1.3.14-slim AS production
36
+ FROM oven/bun:1.4.0-slim AS production
34
37
 
35
38
  WORKDIR /usr/src/app
36
39
 
@@ -52,8 +55,11 @@ COPY package.json bun.lock ./
52
55
 
53
56
  # Install only production dependencies, ignoring any lifecycle scripts (like 'prepare')
54
57
  # that are not needed in the final production image.
58
+ # `--omit=peer` drops the framework's optional peer tiers. Anything this server
59
+ # imports belongs in its own dependencies. The OTEL step carries the same flag
60
+ # so that install does not pull optional peers back into the runtime image.
55
61
  RUN --mount=type=cache,target=/root/.bun/install/cache \
56
- bun install --production --frozen-lockfile --ignore-scripts
62
+ bun install --production --omit=peer --frozen-lockfile --ignore-scripts
57
63
 
58
64
  # Conditionally install OpenTelemetry optional peer dependencies (Tier 3).
59
65
  # These are not bundled by default to keep the base image lean. Enable at build time
@@ -61,7 +67,7 @@ RUN --mount=type=cache,target=/root/.bun/install/cache \
61
67
  ARG OTEL_ENABLED=true
62
68
  RUN --mount=type=cache,target=/root/.bun/install/cache \
63
69
  if [ "$OTEL_ENABLED" = "true" ]; then \
64
- bun add @hono/otel \
70
+ bun add --omit=dev --omit=peer --ignore-scripts @hono/otel \
65
71
  @opentelemetry/instrumentation-http \
66
72
  @opentelemetry/exporter-metrics-otlp-http \
67
73
  @opentelemetry/exporter-trace-otlp-http \
@@ -102,8 +108,7 @@ ENV MCP_FORCE_CONSOLE_LOGGING="true"
102
108
  # Expose the port the server listens on
103
109
  EXPOSE ${MCP_HTTP_PORT}
104
110
 
105
- HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
106
- CMD bun -e "fetch('http://localhost:'+process.env.MCP_HTTP_PORT+'/healthz').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"
111
+ HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 CMD bun -e "fetch('http://localhost:'+(process.env.MCP_HTTP_PORT??'3010')+'/healthz').then((r)=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"
107
112
 
108
113
  # The command to start the server
109
114
  CMD ["bun", "run", "dist/index.js"]
package/LICENSE CHANGED
@@ -186,7 +186,7 @@ Apache License
186
186
  same "printed page" as the copyright notice for easier
187
187
  identification within third-party archives.
188
188
 
189
- Copyright 2025 Casey Hand @cyanheads
189
+ Copyright 2026 Casey Hand @cyanheads
190
190
 
191
191
  Licensed under the Apache License, Version 2.0 (the "License");
192
192
  you may not use this file except in compliance with the License.
package/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  <div align="center">
9
9
 
10
- [![Version](https://img.shields.io/badge/Version-0.1.11-blue.svg?style=flat-square)](./CHANGELOG.md) [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](./LICENSE) [![Docker](https://img.shields.io/badge/Docker-ghcr.io-2496ED?style=flat-square&logo=docker&logoColor=white)](https://github.com/users/cyanheads/packages/container/package/noaa-spaceweather-mcp-server) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^1.29.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![npm](https://img.shields.io/npm/v/@cyanheads/noaa-spaceweather-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/noaa-spaceweather-mcp-server) [![TypeScript](https://img.shields.io/badge/TypeScript-^6.0.3-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.3.14-blueviolet.svg?style=flat-square)](https://bun.sh/)
10
+ [![Version](https://img.shields.io/badge/Version-0.1.12-blue.svg?style=flat-square)](./CHANGELOG.md) [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](./LICENSE) [![Docker](https://img.shields.io/badge/Docker-ghcr.io-2496ED?style=flat-square&logo=docker&logoColor=white)](https://github.com/users/cyanheads/packages/container/package/noaa-spaceweather-mcp-server) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^2.0.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![npm](https://img.shields.io/npm/v/@cyanheads/noaa-spaceweather-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/noaa-spaceweather-mcp-server) [![TypeScript](https://img.shields.io/badge/TypeScript-^7.0.2-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.4.0-blueviolet.svg?style=flat-square)](https://bun.sh/)
11
11
 
12
12
  </div>
13
13
 
@@ -257,6 +257,7 @@ cp .env.example .env
257
257
  | `MCP_HTTP_PORT` | Port for HTTP server. | `3010` |
258
258
  | `MCP_HTTP_HOST` | Hostname for HTTP server. | `127.0.0.1` |
259
259
  | `MCP_HTTP_ENDPOINT_PATH` | Endpoint path. | `/mcp` |
260
+ | `MCP_SESSION_MODE` | HTTP session mode. This project explicitly uses `stateless`; `auto` resolves to `stateful`. | `stateless` |
260
261
  | `MCP_AUTH_MODE` | Auth mode: `none`, `jwt`, or `oauth`. | `none` |
261
262
  | `MCP_LOG_LEVEL` | Log level (RFC 5424). | `info` |
262
263
  | `LOGS_DIR` | Directory for log files (Node.js only). | `<project-root>/logs` |
@@ -0,0 +1,27 @@
1
+ ---
2
+ summary: "adopts mcp-ts-core 0.12.3 and the MCP SDK v2 stack, adding modern 2026-07-28 and legacy protocol support, strict tool-input validation, and consistent stateless HTTP serving"
3
+ breaking: false
4
+ security: false
5
+ ---
6
+
7
+ # 0.1.12 — 2026-08-25
8
+
9
+ ## Changed
10
+
11
+ - **MCP SDK v2 support** — adopts `@cyanheads/mcp-ts-core` 0.12.3 and the MCP SDK v2 server stack. Streamable HTTP clients can negotiate the modern `2026-07-28` protocol or a 2025-era protocol without changing the server's six-tool surface.
12
+ - **Strict tool inputs** — undeclared fields are now rejected before handler execution and returned as normal MCP tool errors that name the unknown field, instead of being silently stripped.
13
+ - **Explicit stateless HTTP sessions** — `.env.example`, the Docker image, and the README now consistently select stateless mode. STDIO behavior is unchanged.
14
+ - **Current framework scaffold** — refreshes the Bun 1.4 container and package-manager baseline, TypeScript 7 build configuration, MCPB cleanup, release checks, agent skills, and community health files.
15
+
16
+ ## Fixed
17
+
18
+ - **Security contact** — vulnerability reports now route to `security@caseyjhand.com`.
19
+
20
+ ## Dependencies
21
+
22
+ - `@cyanheads/mcp-ts-core` `^0.10.14` → `^0.12.3`
23
+ - `@biomejs/biome` `^2.5.3` → `^2.5.10`
24
+ - `@types/node` `^26.1.1` → `^26.2.0`
25
+ - `tsc-alias` `^1.9.0` → `^1.9.2`
26
+ - `typescript` `^6.0.3` → `^7.0.2`
27
+ - `vitest` `^4.1.10` → `^4.1.11`
@@ -4,10 +4,11 @@
4
4
  # to author a new release. Set that file's H1 to `# <version> — YYYY-MM-DD`
5
5
  # with a concrete date.
6
6
 
7
- # Required. One-line GitHub Release-style headline. 350 character cap.
8
- # Default short and scannable. Don't pad, don't stitch unrelated changes with
9
- # semicolons — pick the headline. Quotes required: unquoted YAML treats `: `
10
- # inside the value as a key separator and fails GitHub's strict parser.
7
+ # Required. One-line GitHub Release-style headline. 350 character cap — a
8
+ # ceiling, not a target. Default short and scannable. Don't pad, don't stitch
9
+ # unrelated changes with commas/semicolons into an inventory — pick the
10
+ # headline, like a tag's theme line. Quotes required: unquoted YAML treats
11
+ # `: ` inside the value as a key separator and fails GitHub's strict parser.
11
12
  summary: ""
12
13
 
13
14
  # Set `true` when consumers must change code to upgrade: API removals,
@@ -24,9 +25,10 @@ security: false
24
25
 
25
26
  # Optional free-form notes for maintenance agents processing this release.
26
27
  # Not rendered in CHANGELOG — consumed by agents running `maintenance` on
27
- # downstream servers. Use for adoption instructions that don't fit the
28
- # human-facing sections: new files to create, fields to populate, one-time
29
- # migration steps. Omit the field entirely when there's nothing to say.
28
+ # downstream servers. ADOPTION STEPS ONLY — new files to create, fields to
29
+ # populate, one-time migration steps. Never a second rendering of the body:
30
+ # if a body bullet already says it, name the bullet's symbol instead of
31
+ # re-explaining. Omit the field entirely when there's nothing to say.
30
32
  # agent-notes: |
31
33
  # <instructions for downstream maintenance agents>
32
34
  ---
@@ -41,17 +43,54 @@ security: false
41
43
  each bullet with the symbol or concept name in **bold** so they can skip
42
44
  what's irrelevant and zoom in on what's not.
43
45
 
44
- Tone: terse, fact-dense, not verbose. Default to one sentence per bullet —
45
- name the symbol, state what changed, stop. Use a second sentence only when
46
- it carries weight. If a bullet feels long, it is.
47
-
48
- Cut: mechanism walkthroughs (those belong in JSDoc, CLAUDE.md/AGENTS.md, or the
49
- relevant skill), ceremonial framings ("This release introduces…",
50
- backwards-compat paragraphs), file-by-file test enumerations, internal
51
- implementation notes. Prefer code/symbol names over English re-explanations.
46
+ Tone: terse, fact-dense, not verbose. Bullet shape: **symbol** + what
47
+ changed + at most one consumer-facing caveat. One sentence by default, two
48
+ when the second carries weight — a bullet past ~40 words or three sentences
49
+ is wrong. The depth lives one hop away: the linked issue carries the why,
50
+ the commit diff carries the how. The changelog names what changed and what
51
+ a consumer does about it; a reader who wants mechanism opens the link.
52
+
53
+ Model length on THIS guide, never on the previous entry — entries modeled
54
+ on entries compound.
55
+
56
+ Cut (each has shipped as a wall of text; these are the cruft):
57
+ - History/justification narration — how the bug worked, why the old
58
+ behavior was wrong. One short clause at most; the issue carries the story.
59
+ - Design-rationale defense — "chosen over Y because…", "guarding the
60
+ getter is not enough…". That is the author arguing with a reviewer;
61
+ reviewers read the PR, not the changelog.
62
+ - Defensive unchanged-clauses — "X is unchanged", "byte-identical to
63
+ <prev>". Keep one only where its absence would cause a real misread,
64
+ as a short parenthetical.
65
+ - Edge-case inventories — marker lists, not-flagged lists, escape tables.
66
+ Tests and the issue carry those.
67
+ - Mechanism walkthroughs (JSDoc, CLAUDE.md/AGENTS.md, or the relevant
68
+ skill own those), ceremonial framings ("This release introduces…"),
69
+ backwards-compat paragraphs, file-by-file test enumerations. Prefer
70
+ code/symbol names over English re-explanations.
71
+
72
+ Verified ≠ included: the every-claim-verified-from-the-diff rule bounds
73
+ the TRUTH of what you write, never the AMOUNT.
74
+
75
+ Example — same fact, right size:
76
+
77
+ TOO LONG: **`fetchWithTimeout`'s `timeoutMs` bounds the whole exchange**
78
+ (#341). `fetch` resolves once headers arrive and the deadline was
79
+ cleared as the helper returned, so a peer that answered promptly and
80
+ then stalled the stream held the request open indefinitely. A 2xx
81
+ carrying a body now comes back as a passthrough wrapper that disarms
82
+ the deadline when the body closes, errors, or is cancelled; …
83
+ [+90 more words of mechanism and edge cases]
84
+
85
+ RIGHT: **`fetchWithTimeout`'s `timeoutMs` now bounds the whole
86
+ exchange, not just the headers** (#341). A stalled body aborts with
87
+ the same `Timeout` error; the returned `Response` is a wrapper, so
88
+ identity assertions (`toBe(response)`) no longer hold.
52
89
 
53
90
  Narrative intro: skip by default. Add one short sentence only when the
54
- release theme genuinely needs framing the bullets can't carry.
91
+ release theme genuinely needs framing the bullets can't carry. When many
92
+ bullets share one upgrade consequence, state it ONCE — intro line or
93
+ agent-notes — never per bullet.
55
94
 
56
95
  Sections: Keep a Changelog order — Added, Changed, Deprecated, Removed,
57
96
  Fixed, Security. Include only sections with entries; delete the rest
@@ -12,11 +12,11 @@ export declare const getAlerts: import("@cyanheads/mcp-ts-core").ToolDefinition<
12
12
  productId: z.ZodString;
13
13
  messageCode: z.ZodString;
14
14
  productType: z.ZodEnum<{
15
- Warning: "Warning";
16
- Watch: "Watch";
17
15
  Alert: "Alert";
18
- Summary: "Summary";
19
16
  Other: "Other";
17
+ Summary: "Summary";
18
+ Warning: "Warning";
19
+ Watch: "Watch";
20
20
  }>;
21
21
  level: z.ZodNumber;
22
22
  noaaScale: z.ZodNullable<z.ZodString>;
@@ -20,7 +20,7 @@ function classifyFlare(fluxWm2) {
20
20
  /** Format X-ray flux to 2 significant digits in scientific notation, e.g. 1.4e-6. */
21
21
  function formatFlux(fluxWm2) {
22
22
  // toPrecision gives "1.40e-6" style; strip trailing zeros after decimal for readability.
23
- return fluxWm2.toExponential(1) + ' W/m²';
23
+ return `${fluxWm2.toExponential(1)} W/m²`;
24
24
  }
25
25
  /**
26
26
  * Round integral proton flux to 3 significant figures. Raw GOES values carry
@@ -1 +1 @@
1
- {"version":3,"file":"get-solar-activity.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-solar-activity.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-solar-activity.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-solar-activity.tool.ts"],"names":[],"mappings":"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"}
@@ -2,69 +2,7 @@
2
2
  * @fileoverview Barrel export for all tool definitions.
3
3
  * @module mcp-server/tools/definitions/index
4
4
  */
5
- export declare const allToolDefinitions: (import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
6
- active_only: import("zod").ZodDefault<import("zod").ZodBoolean>;
7
- max_age_hours: import("zod").ZodDefault<import("zod").ZodNumber>;
8
- }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
9
- alerts: import("zod").ZodArray<import("zod").ZodObject<{
10
- productId: import("zod").ZodString;
11
- messageCode: import("zod").ZodString;
12
- productType: import("zod").ZodEnum<{
13
- Warning: "Warning";
14
- Watch: "Watch";
15
- Alert: "Alert";
16
- Summary: "Summary";
17
- Other: "Other";
18
- }>;
19
- level: import("zod").ZodNumber;
20
- noaaScale: import("zod").ZodNullable<import("zod").ZodString>;
21
- cancelled: import("zod").ZodBoolean;
22
- phenomenon: import("zod").ZodString;
23
- issueDatetime: import("zod").ZodString;
24
- validFrom: import("zod").ZodNullable<import("zod").ZodString>;
25
- validTo: import("zod").ZodNullable<import("zod").ZodString>;
26
- message: import("zod").ZodString;
27
- }, import("zod/v4/core").$strip>>;
28
- totalCount: import("zod").ZodNumber;
29
- fetchedAt: import("zod").ZodString;
30
- }, import("zod/v4/core").$strip>, readonly [{
31
- readonly reason: "feed_unavailable";
32
- readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ServiceUnavailable;
33
- readonly when: "SWPC endpoint returns non-OK status or times out after retries.";
34
- readonly retryable: true;
35
- readonly recovery: "Retry in 30–60 seconds; SWPC feeds occasionally lag during high-activity events.";
36
- }], {
37
- readonly notice: import("zod").ZodOptional<import("zod").ZodString>;
38
- }> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
39
- latitude: import("zod").ZodOptional<import("zod").ZodNumber>;
40
- longitude: import("zod").ZodOptional<import("zod").ZodNumber>;
41
- }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
42
- observationTime: import("zod").ZodString;
43
- forecastTime: import("zod").ZodString;
44
- localLookup: import("zod").ZodNullable<import("zod").ZodObject<{
45
- requestedLatitude: import("zod").ZodNumber;
46
- requestedLongitude: import("zod").ZodNumber;
47
- gridLatitude: import("zod").ZodNumber;
48
- gridLongitude: import("zod").ZodNumber;
49
- auroraPercent: import("zod").ZodNumber;
50
- minKpRequired: import("zod").ZodNumber;
51
- verdict: import("zod").ZodString;
52
- }, import("zod/v4/core").$strip>>;
53
- gridPointCount: import("zod").ZodNumber;
54
- topAuroraPercent: import("zod").ZodNumber;
55
- topAuroraRegion: import("zod").ZodString;
56
- }, import("zod/v4/core").$strip>, readonly [{
57
- readonly reason: "feed_unavailable";
58
- readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ServiceUnavailable;
59
- readonly when: "SWPC endpoint returns non-OK status or times out after retries.";
60
- readonly retryable: true;
61
- readonly recovery: "Retry in 30–60 seconds; SWPC feeds occasionally lag during high-activity events.";
62
- }, {
63
- readonly reason: "invalid_coordinates";
64
- readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
65
- readonly when: "One coordinate provided without the other.";
66
- readonly recovery: "Provide both latitude and longitude together, or omit both for global metadata only.";
67
- }], undefined> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
5
+ export declare const allToolDefinitions: (import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
68
6
  observedAt: import("zod").ZodString;
69
7
  currentKp: import("zod").ZodNumber;
70
8
  currentGScale: import("zod").ZodNumber;
@@ -112,6 +50,39 @@ export declare const allToolDefinitions: (import("@cyanheads/mcp-ts-core").ToolD
112
50
  readonly retryable: true;
113
51
  readonly recovery: "Retry in 30–60 seconds; SWPC feeds occasionally lag during high-activity events.";
114
52
  }], undefined> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
53
+ active_only: import("zod").ZodDefault<import("zod").ZodBoolean>;
54
+ max_age_hours: import("zod").ZodDefault<import("zod").ZodNumber>;
55
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
56
+ alerts: import("zod").ZodArray<import("zod").ZodObject<{
57
+ productId: import("zod").ZodString;
58
+ messageCode: import("zod").ZodString;
59
+ productType: import("zod").ZodEnum<{
60
+ Alert: "Alert";
61
+ Other: "Other";
62
+ Summary: "Summary";
63
+ Warning: "Warning";
64
+ Watch: "Watch";
65
+ }>;
66
+ level: import("zod").ZodNumber;
67
+ noaaScale: import("zod").ZodNullable<import("zod").ZodString>;
68
+ cancelled: import("zod").ZodBoolean;
69
+ phenomenon: import("zod").ZodString;
70
+ issueDatetime: import("zod").ZodString;
71
+ validFrom: import("zod").ZodNullable<import("zod").ZodString>;
72
+ validTo: import("zod").ZodNullable<import("zod").ZodString>;
73
+ message: import("zod").ZodString;
74
+ }, import("zod/v4/core").$strip>>;
75
+ totalCount: import("zod").ZodNumber;
76
+ fetchedAt: import("zod").ZodString;
77
+ }, import("zod/v4/core").$strip>, readonly [{
78
+ readonly reason: "feed_unavailable";
79
+ readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ServiceUnavailable;
80
+ readonly when: "SWPC endpoint returns non-OK status or times out after retries.";
81
+ readonly retryable: true;
82
+ readonly recovery: "Retry in 30–60 seconds; SWPC feeds occasionally lag during high-activity events.";
83
+ }], {
84
+ readonly notice: import("zod").ZodOptional<import("zod").ZodString>;
85
+ }> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
115
86
  window_days: import("zod").ZodDefault<import("zod").ZodNumber>;
116
87
  }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
117
88
  observed: import("zod").ZodArray<import("zod").ZodObject<{
@@ -140,6 +111,53 @@ export declare const allToolDefinitions: (import("@cyanheads/mcp-ts-core").ToolD
140
111
  readonly retryable: true;
141
112
  readonly recovery: "Retry in 30–60 seconds; SWPC feeds occasionally lag during high-activity events.";
142
113
  }], undefined> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
114
+ window_hours: import("zod").ZodDefault<import("zod").ZodNumber>;
115
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
116
+ plasma: import("zod").ZodArray<import("zod").ZodObject<{
117
+ timeTag: import("zod").ZodString;
118
+ source: import("zod").ZodString;
119
+ densityPerCm3: import("zod").ZodNullable<import("zod").ZodNumber>;
120
+ speedKmS: import("zod").ZodNullable<import("zod").ZodNumber>;
121
+ temperatureK: import("zod").ZodNullable<import("zod").ZodNumber>;
122
+ }, import("zod/v4/core").$strip>>;
123
+ mag: import("zod").ZodArray<import("zod").ZodObject<{
124
+ timeTag: import("zod").ZodString;
125
+ source: import("zod").ZodString;
126
+ bxGsm: import("zod").ZodNullable<import("zod").ZodNumber>;
127
+ byGsm: import("zod").ZodNullable<import("zod").ZodNumber>;
128
+ bzGsm: import("zod").ZodNullable<import("zod").ZodNumber>;
129
+ bt: import("zod").ZodNullable<import("zod").ZodNumber>;
130
+ }, import("zod/v4/core").$strip>>;
131
+ latestPlasma: import("zod").ZodNullable<import("zod").ZodObject<{
132
+ timeTag: import("zod").ZodString;
133
+ source: import("zod").ZodString;
134
+ densityPerCm3: import("zod").ZodNullable<import("zod").ZodNumber>;
135
+ speedKmS: import("zod").ZodNullable<import("zod").ZodNumber>;
136
+ temperatureK: import("zod").ZodNullable<import("zod").ZodNumber>;
137
+ }, import("zod/v4/core").$strip>>;
138
+ latestMag: import("zod").ZodNullable<import("zod").ZodObject<{
139
+ timeTag: import("zod").ZodString;
140
+ source: import("zod").ZodString;
141
+ bxGsm: import("zod").ZodNullable<import("zod").ZodNumber>;
142
+ byGsm: import("zod").ZodNullable<import("zod").ZodNumber>;
143
+ bzGsm: import("zod").ZodNullable<import("zod").ZodNumber>;
144
+ bt: import("zod").ZodNullable<import("zod").ZodNumber>;
145
+ }, import("zod/v4/core").$strip>>;
146
+ bzStatus: import("zod").ZodString;
147
+ plasmaCount: import("zod").ZodNumber;
148
+ magCount: import("zod").ZodNumber;
149
+ latestFeedPlasmaTime: import("zod").ZodNullable<import("zod").ZodString>;
150
+ latestFeedMagTime: import("zod").ZodNullable<import("zod").ZodString>;
151
+ feedStalenessHours: import("zod").ZodNullable<import("zod").ZodNumber>;
152
+ }, import("zod/v4/core").$strip>, readonly [{
153
+ readonly reason: "feed_unavailable";
154
+ readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ServiceUnavailable;
155
+ readonly when: "SWPC endpoint returns non-OK status or times out after retries.";
156
+ readonly retryable: true;
157
+ readonly recovery: "Retry in 30–60 seconds; SWPC feeds occasionally lag during high-activity events.";
158
+ }], {
159
+ readonly notice: import("zod").ZodOptional<import("zod").ZodString>;
160
+ }> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
143
161
  include_regions: import("zod").ZodDefault<import("zod").ZodBoolean>;
144
162
  }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
145
163
  latestXray: import("zod").ZodNullable<import("zod").ZodObject<{
@@ -194,51 +212,33 @@ export declare const allToolDefinitions: (import("@cyanheads/mcp-ts-core").ToolD
194
212
  readonly retryable: true;
195
213
  readonly recovery: "Retry in 30–60 seconds; SWPC feeds occasionally lag during high-activity events.";
196
214
  }], undefined> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
197
- window_hours: import("zod").ZodDefault<import("zod").ZodNumber>;
215
+ latitude: import("zod").ZodOptional<import("zod").ZodNumber>;
216
+ longitude: import("zod").ZodOptional<import("zod").ZodNumber>;
198
217
  }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
199
- plasma: import("zod").ZodArray<import("zod").ZodObject<{
200
- timeTag: import("zod").ZodString;
201
- source: import("zod").ZodString;
202
- densityPerCm3: import("zod").ZodNullable<import("zod").ZodNumber>;
203
- speedKmS: import("zod").ZodNullable<import("zod").ZodNumber>;
204
- temperatureK: import("zod").ZodNullable<import("zod").ZodNumber>;
205
- }, import("zod/v4/core").$strip>>;
206
- mag: import("zod").ZodArray<import("zod").ZodObject<{
207
- timeTag: import("zod").ZodString;
208
- source: import("zod").ZodString;
209
- bxGsm: import("zod").ZodNullable<import("zod").ZodNumber>;
210
- byGsm: import("zod").ZodNullable<import("zod").ZodNumber>;
211
- bzGsm: import("zod").ZodNullable<import("zod").ZodNumber>;
212
- bt: import("zod").ZodNullable<import("zod").ZodNumber>;
213
- }, import("zod/v4/core").$strip>>;
214
- latestPlasma: import("zod").ZodNullable<import("zod").ZodObject<{
215
- timeTag: import("zod").ZodString;
216
- source: import("zod").ZodString;
217
- densityPerCm3: import("zod").ZodNullable<import("zod").ZodNumber>;
218
- speedKmS: import("zod").ZodNullable<import("zod").ZodNumber>;
219
- temperatureK: import("zod").ZodNullable<import("zod").ZodNumber>;
220
- }, import("zod/v4/core").$strip>>;
221
- latestMag: import("zod").ZodNullable<import("zod").ZodObject<{
222
- timeTag: import("zod").ZodString;
223
- source: import("zod").ZodString;
224
- bxGsm: import("zod").ZodNullable<import("zod").ZodNumber>;
225
- byGsm: import("zod").ZodNullable<import("zod").ZodNumber>;
226
- bzGsm: import("zod").ZodNullable<import("zod").ZodNumber>;
227
- bt: import("zod").ZodNullable<import("zod").ZodNumber>;
218
+ observationTime: import("zod").ZodString;
219
+ forecastTime: import("zod").ZodString;
220
+ localLookup: import("zod").ZodNullable<import("zod").ZodObject<{
221
+ requestedLatitude: import("zod").ZodNumber;
222
+ requestedLongitude: import("zod").ZodNumber;
223
+ gridLatitude: import("zod").ZodNumber;
224
+ gridLongitude: import("zod").ZodNumber;
225
+ auroraPercent: import("zod").ZodNumber;
226
+ minKpRequired: import("zod").ZodNumber;
227
+ verdict: import("zod").ZodString;
228
228
  }, import("zod/v4/core").$strip>>;
229
- bzStatus: import("zod").ZodString;
230
- plasmaCount: import("zod").ZodNumber;
231
- magCount: import("zod").ZodNumber;
232
- latestFeedPlasmaTime: import("zod").ZodNullable<import("zod").ZodString>;
233
- latestFeedMagTime: import("zod").ZodNullable<import("zod").ZodString>;
234
- feedStalenessHours: import("zod").ZodNullable<import("zod").ZodNumber>;
229
+ gridPointCount: import("zod").ZodNumber;
230
+ topAuroraPercent: import("zod").ZodNumber;
231
+ topAuroraRegion: import("zod").ZodString;
235
232
  }, import("zod/v4/core").$strip>, readonly [{
236
233
  readonly reason: "feed_unavailable";
237
234
  readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ServiceUnavailable;
238
235
  readonly when: "SWPC endpoint returns non-OK status or times out after retries.";
239
236
  readonly retryable: true;
240
237
  readonly recovery: "Retry in 30–60 seconds; SWPC feeds occasionally lag during high-activity events.";
241
- }], {
242
- readonly notice: import("zod").ZodOptional<import("zod").ZodString>;
243
- }>)[];
238
+ }, {
239
+ readonly reason: "invalid_coordinates";
240
+ readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
241
+ readonly when: "One coordinate provided without the other.";
242
+ readonly recovery: "Provide both latitude and longitude together, or omit both for global metadata only.";
243
+ }], undefined>)[];
244
244
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAO9B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAO9B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"space-weather-service.d.ts","sourceRoot":"","sources":["../../../src/services/space-weather/space-weather-service.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAErE,OAAO,KAAK,EACV,kBAAkB,EAClB,UAAU,EACV,aAAa,EACb,cAAc,EAEd,UAAU,EACV,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,QAAQ,EACT,MAAM,YAAY,CAAC;AAqBpB,sFAAsF;AACtF,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAO7C;AAkXD,8EAA8E;AAC9E,qBAAa,mBAAmB;IAC9B;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAIvB,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc;IAMvD,gEAAgE;IAC1D,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;IAkD1D,uCAAuC;IACjC,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAoB3D,+BAA+B;IACzB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAgBxD,qDAAqD;IAC/C,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAwBlE;;;;;OAKG;IACG,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAclE;;;;OAIG;IACG,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAiB5D,kEAAkE;IAC5D,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAgBpD,mEAAmE;IAC7D,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAkC3D,4FAA4F;IACtF,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAyCxE,gEAAgE;IAC1D,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAkBxD,gDAAgD;IAC1C,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;CA2C5D;AAMD,0EAA0E;AAC1E,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAExF;AAED,4DAA4D;AAC5D,wBAAgB,sBAAsB,IAAI,mBAAmB,CAM5D"}
1
+ {"version":3,"file":"space-weather-service.d.ts","sourceRoot":"","sources":["../../../src/services/space-weather/space-weather-service.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAErE,OAAO,KAAK,EACV,kBAAkB,EAClB,UAAU,EACV,aAAa,EACb,cAAc,EAEd,UAAU,EACV,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,QAAQ,EACT,MAAM,YAAY,CAAC;AAqBpB,sFAAsF;AACtF,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAO7C;AAkXD,8EAA8E;AAC9E,qBAAa,mBAAmB;IAC9B;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAInC,YAAY,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAEtD;IAID,gEAAgE;IAC1D,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,CA8CzD;IAID,uCAAuC;IACjC,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAkB1D;IAED,+BAA+B;IACzB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAYvD;IAID,qDAAqD;IAC/C,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAoBjE;IAID;;;;;OAKG;IACG,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAYjE;IAED;;;;OAIG;IACG,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAa3D;IAID,kEAAkE;IAC5D,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAcnD;IAED,mEAAmE;IAC7D,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAgC1D;IAED,4FAA4F;IACtF,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAuCvE;IAED,gEAAgE;IAC1D,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAcvD;IAID,gDAAgD;IAC1C,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CA0C1D;CACF;AAMD,0EAA0E;AAC1E,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAExF;AAED,4DAA4D;AAC5D,wBAAgB,sBAAsB,IAAI,mBAAmB,CAM5D"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cyanheads/noaa-spaceweather-mcp-server",
3
- "version": "0.1.11",
3
+ "version": "0.1.12",
4
4
  "mcpName": "io.github.cyanheads/noaa-spaceweather-mcp-server",
5
5
  "description": "Query NOAA SWPC space weather: geomagnetic storm scales, Kp index, aurora forecasts, solar wind, solar activity, and alerts via MCP. STDIO or Streamable HTTP.",
6
6
  "type": "module",
@@ -31,7 +31,7 @@
31
31
  "format:unsafe": "biome check --write --unsafe .",
32
32
  "lint:mcp": "bun run scripts/lint-mcp.ts",
33
33
  "lint:packaging": "bun run scripts/lint-packaging.ts",
34
- "bundle": "npm run build && npx -y @anthropic-ai/mcpb pack . dist/noaa-spaceweather-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/noaa-spaceweather-mcp-server.mcpb",
34
+ "bundle": "bun run build && npx -y @anthropic-ai/mcpb pack . dist/noaa-spaceweather-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/noaa-spaceweather-mcp-server.mcpb",
35
35
  "changelog:build": "bun run scripts/build-changelog.ts",
36
36
  "changelog:check": "bun run scripts/build-changelog.ts --check",
37
37
  "release:github": "bun run scripts/release-github.ts",
@@ -80,7 +80,7 @@
80
80
  }
81
81
  ],
82
82
  "license": "Apache-2.0",
83
- "packageManager": "bun@1.3.14",
83
+ "packageManager": "bun@1.4.0",
84
84
  "engines": {
85
85
  "bun": ">=1.3.0",
86
86
  "node": ">=24.0.0"
@@ -89,18 +89,18 @@
89
89
  "access": "public"
90
90
  },
91
91
  "dependencies": {
92
- "@cyanheads/mcp-ts-core": "^0.10.14",
92
+ "@cyanheads/mcp-ts-core": "^0.12.3",
93
93
  "pino-pretty": "^13.1.3",
94
94
  "zod": "^4.4.3"
95
95
  },
96
96
  "devDependencies": {
97
- "@biomejs/biome": "^2.5.3",
97
+ "@biomejs/biome": "^2.5.10",
98
98
  "@socketsecurity/bun-security-scanner": "^1.1.2",
99
- "@types/node": "^26.1.1",
99
+ "@types/node": "^26.2.0",
100
100
  "depcheck": "^1.4.7",
101
101
  "ignore": "^7.0.6",
102
- "tsc-alias": "^1.9.0",
103
- "typescript": "^6.0.3",
104
- "vitest": "^4.1.10"
102
+ "tsc-alias": "^1.9.2",
103
+ "typescript": "^7.0.2",
104
+ "vitest": "^4.1.11"
105
105
  }
106
106
  }
package/server.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "url": "https://github.com/cyanheads/noaa-spaceweather-mcp-server",
7
7
  "source": "github"
8
8
  },
9
- "version": "0.1.11",
9
+ "version": "0.1.12",
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/noaa-spaceweather-mcp-server",
21
21
  "runtimeHint": "bun",
22
- "version": "0.1.11",
22
+ "version": "0.1.12",
23
23
  "packageArguments": [
24
24
  {
25
25
  "type": "positional",
@@ -48,7 +48,7 @@
48
48
  "registryBaseUrl": "https://registry.npmjs.org",
49
49
  "identifier": "@cyanheads/noaa-spaceweather-mcp-server",
50
50
  "runtimeHint": "bun",
51
- "version": "0.1.11",
51
+ "version": "0.1.12",
52
52
  "packageArguments": [
53
53
  {
54
54
  "type": "positional",