{"name":"io.github.cyanheads/noaa-spaceweather-mcp-server","slug":"cyanheads-noaa-spaceweather-mcp-server","title":null,"description":"NOAA SWPC space weather: storm scales, Kp index, aurora forecasts, solar wind, activity, alerts.","url":"https://mcp.market/server/cyanheads-noaa-spaceweather-mcp-server","rating":null,"grade":"A","score":93,"certified":false,"status":"active","category":"maps","tags":["maps"],"presence":{"score":38,"stars":2,"forks":0,"downloads_week":430,"last_push_at":"2026-09-17T19:06:36.000Z","license":"Apache-2.0"},"claimed":false,"transport":"mixed","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/cyanheads/noaa-spaceweather-mcp-server","website":null,"version":"0.2.0","remotes":[{"type":"streamable-http","url":"https://noaa-spaceweather.caseyjhand.com/mcp"}],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@cyanheads/noaa-spaceweather-mcp-server","version":"0.2.0","runtimeHint":"bun","transport":{"type":"stdio"},"packageArguments":[{"value":"run","type":"positional"},{"value":"start:stdio","type":"positional"}],"environmentVariables":[{"description":"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').","format":"string","default":"info","name":"MCP_LOG_LEVEL"}]},{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@cyanheads/noaa-spaceweather-mcp-server","version":"0.2.0","runtimeHint":"bun","transport":{"type":"streamable-http","url":"http://localhost:3010/mcp"},"packageArguments":[{"value":"run","type":"positional"},{"value":"start:http","type":"positional"}],"environmentVariables":[{"description":"The hostname for the HTTP server.","format":"string","default":"127.0.0.1","name":"MCP_HTTP_HOST"},{"description":"The port to run the HTTP server on.","format":"string","default":"3010","name":"MCP_HTTP_PORT"},{"description":"The endpoint path for the MCP server.","format":"string","default":"/mcp","name":"MCP_HTTP_ENDPOINT_PATH"},{"description":"Authentication mode to use: 'none', 'jwt', or 'oauth'.","format":"string","default":"none","name":"MCP_AUTH_MODE"},{"description":"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').","format":"string","default":"info","name":"MCP_LOG_LEVEL"}]}],"tools":[{"name":"noaa_spaceweather_get_alerts","description":"Active SWPC alerts, watches, and warnings — parsed into structured records with product type, NOAA scale and level, issue time, serial number, validity window, and plain text. Covers geomagnetic storms, radio blackouts, and radiation storms. With active_only=false, also returns informational summaries, expired notices, and cancellations. max_age_hours controls how far back to look for candidates (default 48 h) — under active_only=true it does not cut off a product whose validity end is still in the future, and under active_only=false it is a literal age cutoff. The SWPC feed keeps all historical records and has no built-in expiry.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"active_only":{"default":true,"description":"When true (default), return only in-force Warnings, Watches, and Alerts. Excluded: Summaries and unrecognized products; products whose validity end has passed; cancellation notices; any product a later cancellation names by serial; and all but the newest record carrying the \"THIS SUPERSEDES ANY/ALL PRIOR WATCHES IN EFFECT\" line. Counts per reason ride in the exclusions enrichment field. Set false to return every product in the window, cancellations included (flagged by the cancelled field).","type":"boolean"},"max_age_hours":{"default":48,"description":"How far back to look for products, in hours (default 48). The SWPC feed retains all historical records, so this bounds the candidate set rather than declaring what is current. Under active_only=true a product whose validity end is still in the future is returned even when its issue time falls outside this window — a multi-day Watch would otherwise disappear while a day it forecasts a storm for is still running. Under active_only=false it is literal and cuts at exactly the requested age.","type":"number","minimum":1,"maximum":720}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false}},{"name":"noaa_spaceweather_get_aurora_forecast","description":"OVATION model aurora forecast for the next ~30–60 min: global grid of aurora probability percentages by latitude/longitude (1° resolution). With optional coordinates, returns the local aurora probability at the nearest grid point, the geomagnetic latitude those coordinates convert to, the minimum Kp and G level needed for aurora at that geomagnetic latitude, and a plain-language go/no-go verdict. Without coordinates, returns only global metadata. Data updates every ~5 minutes. Supply coordinates as geographic (WGS84); aurora bands are geomagnetic, and the tool converts between them.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"latitude":{"description":"Geographic latitude in degrees (−90 to 90). Provide with longitude for a local aurora probability lookup.","type":"number","minimum":-90,"maximum":90},"longitude":{"description":"Geographic longitude in degrees (−180 to 180). Provide with latitude for a local aurora probability lookup.","type":"number","minimum":-180,"maximum":180}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false}},{"name":"noaa_spaceweather_get_conditions","description":"Current space-weather snapshot: NOAA R/S/G storm scales (today + 3-day forecast), latest Kp index with its G-scale equivalent and aurora-visibility latitude, and a plain-language status summary. Optionally includes the SWPC forecast discussion explaining what is driving the forecast. The quickest way to answer \"is anything happening right now?\" — use before deciding whether to drill into solar wind (noaa_spaceweather_get_solar_wind), aurora (noaa_spaceweather_get_aurora_forecast), or alert details (noaa_spaceweather_get_alerts).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"include_discussion":{"default":false,"description":"Also fetch SWPC's forecaster-written Forecast Discussion, which explains why the forecast looks the way it does (CME versus coronal-hole stream, expected arrival). Costs one extra upstream request.","type":"boolean"}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false}},{"name":"noaa_spaceweather_get_kp_index","description":"Planetary K-index (0–9 geomagnetic activity scale) — recent observed 3-hour values with their NOAA G-scale equivalents and aurora-latitude guidance, plus the 3-day Kp forecast series. Kp is the primary driver of aurora visibility and geomagnetic storm severity. SWPC reports Kp in thirds and starts each G level at that level’s \"minus\" value: Kp 4.67 (5−) is G1, Kp 6.67 (7−) is G3 (aurora to ~50° geomagnetic), Kp 8.67 (9−) is still G4, and only Kp 9 is G5 extreme. Use noaa_spaceweather_get_conditions for a combined snapshot including storm scales; use this tool when you need the Kp time series or forecast detail.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"window_days":{"default":1,"description":"Number of past days of observed Kp to return (1–7, default 1). Larger windows show trend context.","type":"integer","minimum":1,"maximum":7}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false}},{"name":"noaa_spaceweather_get_solar_activity","description":"Solar flare and radiation storm picture: discrete flare events from the past week with peak class and R-scale level, recent GOES X-ray flux with flare-class labels (A/B/C/M/X) and class magnitude, the daily F10.7 cm solar radio flux, 3-day flare-class probabilities (C/M/X), active solar regions with per-region flare probabilities, and GOES integral proton flux at ≥10 MeV with NOAA S-scale. For operators tracking HF radio blackout (R-scale, driven by X-ray) and radiation storm risk (S-scale, driven by protons). Active region data helps identify which region is driving current activity.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"include_regions":{"default":true,"description":"Include active solar region details (default true). Set false to skip region data and reduce response size.","type":"boolean"},"flare_hours":{"default":24,"description":"How far back to report discrete flare events, in hours before now, filtered on each flare’s onset time (1–168, default 24). The feed keeps a rolling 7 days, so 168 returns everything it carries. When the window comes back empty, the response names the newest flare the feed holds.","type":"integer","minimum":1,"maximum":168}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false}},{"name":"noaa_spaceweather_get_solar_wind","description":"Real-time solar wind measurements from the active spacecraft at L1: proton speed (km/s), density (n/cm³), temperature (K), and the critical Bz component (southward Bz = negative = storm driver). Returns the recent plasma and magnetic field time series within the requested window, oldest first, each record tagged with the reporting spacecraft and bounded to 200 records per series unless resolution is set to \"full\". Bz < −10 nT for sustained periods is a primary geomagnetic storm trigger — use alongside noaa_spaceweather_get_kp_index to see whether elevated solar wind has translated into a geomagnetic storm.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"window_hours":{"default":3,"description":"Hours of recent solar wind history to return (1–168, default 3). Records update ~every 1 min, but the feed only carries roughly the last 24 hours — a larger window returns the whole feed, not more history, and at the default resolution the returned series stay bounded to 200 records each rather than growing with the window. When a window comes back empty, feedStalenessHours and latestFeedPlasmaTime/latestFeedMagTime report how current the feed actually is.","type":"integer","minimum":1,"maximum":168},"resolution":{"default":"reduced","description":"Detail level of the returned plasma and mag series. \"reduced\" (default) bounds each series to at most 200 records: the window is bucketed by record count and one real measurement is emitted per bucket — the bucket's fastest speed for plasma, its most southward Bz for mag — with the newest record in the window always last. A series already inside the bound is returned untouched, so a default 3-hour call is unaffected. \"full\" returns every record in the window (~1,400 per series over 24 hours, a ~540 KB response). bzStatus, bzMinInWindow, latestPlasma, and latestMag are computed from the full window either way.","type":"string","enum":["reduced","full"]}},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false}}],"scan":{"score":93,"grade":"A","scanned_at":"2026-09-19T00:30:19.802Z","report":{"scannerVersion":"0.1.3","scannedAt":"2026-09-19T00:30:19.742Z","components":{"code":{"score":25,"max":25,"notes":["22 source files scanned","22 source files scanned"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 1085ms"]},"poisoning":{"score":15,"max":15,"notes":["6 tool descriptions checked"]},"auth":{"score":10,"max":15,"notes":["open endpoint, read-only tools"]},"maintenance":{"score":15,"max":15,"notes":["last push 1 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"probes":[{"url":"https://noaa-spaceweather.caseyjhand.com/mcp","reachable":true,"authRequired":false,"latencyMs":1085,"serverInfo":{"name":"noaa-spaceweather-mcp-server","version":"0.2.0"}}],"packages":[{"registryType":"npm","identifier":"@cyanheads/noaa-spaceweather-mcp-server","version":"0.2.0","found":true,"license":"Apache-2.0","hasInstallScripts":false,"dependencyCount":3,"publishedAt":"2026-09-17T19:02:25.475Z","repositoryUrl":"git+https://github.com/cyanheads/noaa-spaceweather-mcp-server.git","weeklyDownloads":215},{"registryType":"npm","identifier":"@cyanheads/noaa-spaceweather-mcp-server","version":"0.2.0","found":true,"license":"Apache-2.0","hasInstallScripts":false,"dependencyCount":3,"publishedAt":"2026-09-17T19:02:25.475Z","repositoryUrl":"git+https://github.com/cyanheads/noaa-spaceweather-mcp-server.git","weeklyDownloads":215}],"repo":{"found":true,"owner":"cyanheads","repo":"noaa-spaceweather-mcp-server","archived":false,"pushedAt":"2026-09-17T19:06:36Z","stars":2,"forks":0,"openIssues":1,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/10339515?v=4","ownerCreatedAt":"2014-12-29T13:01:12Z","license":"Apache-2.0"},"icon":{"url":"https://avatars.githubusercontent.com/u/10339515?v=4&s=128","source":"github"},"presence":{"stars":2,"forks":0,"downloadsWeek":430,"license":"Apache-2.0","lastPushAt":"2026-09-17T19:06:36.000Z","score":38}}}},"grade_history":[],"reviews":[]}