Skip to content

Release 1.2.0 with compact DONKI output - #16

Merged
ProgramComputer merged 2 commits into
mainfrom
programcomputer/release-1.2.0
Sep 30, 2026
Merged

ProgramComputer merged 2 commits into
mainfrom
programcomputer/release-1.2.0

Conversation

@ProgramComputer

Copy link
Copy Markdown
Owner

Release PR for 1.2.0. It contains the APOD/DONKI migrations and nine new tools from #15, plus the DONKI output change below. It sets the version in package.json/package-lock.json and turns the CHANGELOG's "Unreleased" section into ## 1.2.0, as RELEASING.md step 1 expects.

DONKI: compact output by default

nasa_donki returned DONKI's full JSON. A month of CMEs (108 records) produced about 270,000 characters, which failed with the server's 250,000-character limit. A month of CMEAnalysis records (about 66,000 characters) was too large for some clients' tool-output limits.

  • response_mode: "compact" (default) returns one line per event with the fields that matter for its type:

    Type Fields
    FLR class, peak, begin/end, source and region
    CME start, source, speed, half-angle and type from the most accurate analysis, and the modeled Earth arrival (glancing or impact, highest Kp)
    GST highest Kp and when
    IPS time and location
    WSA CMEs used and modeled Earth and spacecraft arrivals
    Notifications type, ID, summary and link
    SEP, MPC, RBE, HSS time, instruments and linked events

    Every line also lists linked events. A month of CMEs is now about 21 KB.

  • response_mode: "raw" returns the full records as before. The retained resource always holds the full records.

  • limit keeps the most recent N events.

DONKI: 30-day window

The CCMC API rejects ranges over 30 days (400 API Error: Date range cannot exceed 30 days. You requested 31 days., as text/plain). With only endDate, it counts its default start back from today, so an older endDate fails with "startDate cannot be after endDate". The tool now:

  • rejects spans over 30 days in the schema;
  • rejects a lone startDate more than 30 days ago, suggesting an endDate;
  • rejects a future startDate;
  • sends startDate = endDate - 30 days when only endDate is given, which matches the default the tool already documented.

Release notes

  • The CHANGELOG 1.2.0 intro flags that nasa_apod and nasa_donki parameters and output changed, and that APOD and DONKI no longer work in 1.1.0.
  • npm currently has latest = 1.0.14 and next = 1.1.0. 1.2.0 is not on npm.

Verification

  • npm run lint, npm run typecheck, npm test (144 tests) and npm run docs:check pass. node dist/index.js --version prints 1.2.0.
  • New unit tests cover:
    • the 30-day rules and the endDate-only start;
    • exact compact lines for FLR, CME (with a modeled Earth arrival), GST, notifications and SEP;
    • raw together with limit.
  • Over MCP stdio with the Inspector CLI and NASA_API_KEY blanked for the server:
    • a September CME month returned 108 records in about 21 KB;
    • wsa with response_mode: "raw" and limit: 1 returned the latest record;
    • a lone startDate of 2026-01-01 returned the 30-day message.
  • The README solar-storm prompt, run through an MCP client with only this server enabled, now finishes with every DONKI call succeeding (FLR, GST, CMEAnalysis and IPS for September).

@ProgramComputer
ProgramComputer merged commit bcb5e3d into main Sep 30, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant