Space-weather and geomagnetic conditions (NOAA SWPC planetary Kp, solar wind, storm scales, alerts, 27-day outlook) as a Model Context Protocol server.
Strong domain-specific tool set with excellent descriptions (avg 180 chars, well above baseline 72 chars minimum). All 15 tools have clear, actionable descriptions explaining WHAT, WHEN, and WHY. Parameter schemas are well-typed with enums and constraints (e.g., window: [1-day|7-day], sampling_period: [1|60]). However, some tools lack input parameters entirely (get_conditions_now, get_kp_index, get_noaa_scales, get_27day_outlook, list_observatories, get_radiation_storm, get_solar_regions), which limits composability. Output schemas are inferred from Pydantic models (ConditionsNow, KpReading, etc.) but not explicitly documented in tool definitions. Error handling is minimal, no recovery guidance or actionable error messages visible in source. Tool naming is excellent (verb_noun pattern, clear intent). No security issues detected (no secrets in params, read-only operations only).
SWPC 27-day outlook: daily F10.7 cm radio flux, planetary Ap, largest Kp. A 4-week look-ahead driven by the ~27-day solar rotation. Coarser than the 3-day Kp forecast but useful for longer-range planning.
Most recent NOAA SWPC alerts, watches, and warnings (newest first). Plain-text bulletins for events like geomagnetic storm watches, radio blackouts, and solar radiation storms.
OVATION short-term (~30-90 min) auroral-oval forecast. Pass `latitude`/`longitude` to get the auroral activity probability (%) at that location — the "will I see aurora tonight?" answer. Without coordinates, returns the peak probability over the oval.
Single-call snapshot of current space weather. Returns the latest planetary Kp, interplanetary Bz/Bt, solar wind speed and density, the current NOAA G/S/R scale levels, whether a geomagnetic storm is in progress (Kp >= 5), and a human-readable one-line summary. Best first call for "what's space weather doing right now / will I see aurora" questions.
Hourly Dst (disturbance storm-time) index over the last `days`, in nT. Dst tracks the ring-current depression of a geomagnetic storm: roughly > -30 quiet, -50..-100 moderate, < -100 intense, < -250 great storm. NON-COMMERCIAL data from the WDC for Geomagnetism, Kyoto. Cite "WDC for Geomagnetism, Kyoto" and the Dst DOI; real-time/quicklook values are provisional and not licensed for commercial use. Kept separate from the public-domain NOAA/USGS feeds for this reason.
Output schemas not explicitly documented in tool definitions. Pydantic models (ConditionsNow, KpReading, etc.) exist but are not visible in the tool registration code shown. LLMs cannot infer return structure without explicit schema documentation.
No error handling or recovery guidance visible. Tools return data or fail silently. No actionable error messages (e.g., 'API timeout, retry in 30s' or 'Invalid station code, call list_observatories() first'). Agents cannot self-correct on failure.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 69 | 2026-07-28+ | v2 |
NOAA's 3-day planetary Kp forecast (3-hour resolution). Each point is tagged observed/estimated/predicted. Useful for aurora-watch planning and anticipating geomagnetic disturbance.
Observed planetary K-index time series (3-hour cadence, ~last week). Kp ranges 0-9; Kp >= 5 indicates a geomagnetic storm (G1+). Use for trend and history; for the single current value use `get_conditions_now`.
NOAA G (geomagnetic), S (solar radiation), R (radio blackout) scales. Returns today (index 0) plus the next 3 forecast days, each with a 0-5 scale level and label. The headline 'how bad is it' summary used by SWPC.
Ground magnetometer time series for one USGS observatory (nT). `station` is an IAGA code from `list_observatories` (e.g. 'BOU'). Returns the requested field components (default X,Y,Z,F) over the last `hours`, plus the latest finite value per element. Use 60s sampling for trends, 1s for detail (heavier). Data is U.S. public domain (credit USGS); near-real-time values are preliminary.
Current solar radiation (energetic proton) environment and NOAA S-scale. Latest GOES integral proton flux per energy threshold (pfu) plus the S (radiation storm) scale 0-5 derived from the >=10 MeV flux. Relevant to satellite operations, polar flights, and astronaut radiation exposure.
Recent GOES X-ray solar flares (events with peak class C/M/X), last `days`. Discrete flare events with begin/peak/end times and peak class (e.g. 'M2.1'). Best for "biggest recent flare?" / current flare activity.
Today's active sunspot regions with C/M/X flare probabilities (NOAA SWPC). Per-region location, area, spot/magnetic class, and flare/proton probabilities. Answers "how many sunspot regions / which is most likely to flare?"
Real-time solar wind from DSCOVR/ACE at L1: magnetic field + plasma. Returns `mag` (Bx/By/Bz/Bt in nT, GSM) and `plasma` (density cm^-3, speed km/s, temperature K) series for the chosen window. Sustained southward Bz (negative) plus elevated speed is the classic geomagnetic-storm driver.
Catalogued space-weather events from NASA DONKI (newest first). `event_type`: CME (coronal mass ejection), GST (geomagnetic storm), FLR (solar flare), SEP (solar energetic particle), IPS (interplanetary shock), HSS (high-speed stream). Each event carries a type-specific summary (e.g. GST max Kp, FLR class, CME speed) and a DONKI link for full detail. This is the structured "what space-weather events happened recently, and how are they linked?" view that complements the real-time SWPC feeds. Public domain (NASA/CCMC).
The USGS-operated magnetic observatories you can query with get_observatory. Returns 3-letter IAGA codes (BOU, HON, GUA, …) with names and coordinates, so an agent can pick a station near a region of interest.
Many tools lack input parameters (get_conditions_now, get_kp_index, get_noaa_scales, get_27day_outlook, list_observatories, get_radiation_storm, get_solar_regions). While appropriate for snapshot queries, this limits agent composability and filtering. Consider adding optional limit/window/days parameters to reduce result size.
No pagination or result-limiting mechanism for list-returning tools (get_kp_index, get_kp_forecast, get_alerts, get_solar_flares, get_space_weather_events). Large time-series or event lists could exhaust context window. Add limit/offset or cursor-based pagination.
Tool descriptions mention data sources and licensing (NOAA, USGS, Kyoto WDC) but do not include explicit attribution or citation guidance in tool responses. Agents may forget to credit sources when presenting results to users.