← Back to search

io.github.cyanheads/nws-weather-mcp-server

cyanheads streamable_http Scanned 24d ago

Real-time US weather data via the National Weather Service API. Forecasts, alerts, and observations with zero auth.

B
85 / 100

Versions

No versions found.

PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 7

nws_get_office_discussion
annotations: verified low

Get the latest narrative forecast product from a Weather Forecast Office (WFO). The default product is AFD (Area Forecast Discussion), which explains the meteorological reasoning behind the forecast — synoptic setup, model guidance, and forecaster confidence. Other types: HWO (Hazardous Weather Outlook, 1-7 day severe/flood/winter outlook), ZFP (Zone Forecast Product, zone-by-zone text), SPS (Special Weather Statement, short-fuse advisory). The office code is the 3-letter WFO identifier returned as the "office" field by nws_get_forecast.

input object output object productCode string productName string
readOnlyHint true
nws_get_observations
annotations: verified low

Get current weather observations (actual measured conditions). Accepts coordinates (resolves nearest station automatically) or a station ID directly (e.g., "KSEA").

input object
readOnlyHint true
nws_list_alert_types
annotations: verified low

List all valid NWS alert event type names. Use to discover valid values for the event filter in nws_search_alerts, or to browse alert categories. No parameters required.

count number input object output object eventTypes array
readOnlyHint true
nws_get_forecast
annotations: verified low

Get the weather forecast for a US location. Returns either named 12-hour periods (default) or hourly breakdowns.

city string input object state string county string office string output object endTime string latitude number timeZone string startTime string generatedAt string forecastZone string
readOnlyHint true
nws_find_stations
annotations: verified low

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.

input object county string output object bearing string latitude number timeZone string longitude number stationId string distanceKm number elevationM number forecastZone string
readOnlyHint true
nws_search_alerts
annotations: verified low

Search active weather alerts (watches, warnings, advisories) across the US. Filter by state, coordinates, zone, land/marine region, event type, severity, urgency, or certainty. area, point, zone, region_type, and region are mutually exclusive — provide at most one. Omit all filters for a national search.

id string output object
readOnlyHint true
nws_get_zone_forecast
annotations: verified low

Get the text forecast for a public NWS forecast zone. Returns named forecast periods (e.g., "Today", "Tonight", "Monday") with detailed narrative text — the human-readable, zone-level forecast written by local forecasters. Completes the alert-to-forecast chain: nws_search_alerts returns each affected zone in "affectedZones" as a code plus a type, and nws_find_stations returns codes in the "forecastZone" column. Only affectedZones entries with type "forecast" work here; entries typed "county" or "fire" have no text forecast upstream and will not resolve. Zone codes follow the pattern XXZ### (e.g., "WAZ315" for Western Washington lowlands).

input object number number output object zoneId string
readOnlyHint true

Permissions 3

network medium
Server uses network capabilities via: fetch()
shell high
Server uses shell capabilities via: child_process, spawn(), spawnSync()
env_vars low
Server uses env_vars capabilities via: process.env

Scan Findings 24

info
Tool 'nws_get_office_discussion' annotations are consistent annotation_checker · 80%
info
Tool 'nws_get_observations' annotations are consistent annotation_checker · 80%
info
Tool 'nws_list_alert_types' annotations are consistent annotation_checker · 80%
info
Tool 'nws_get_forecast' annotations are consistent annotation_checker · 80%
info
Tool 'nws_find_stations' annotations are consistent annotation_checker · 80%
info
Tool 'nws_search_alerts' annotations are consistent annotation_checker · 80%
info
Tool 'nws_get_zone_forecast' annotations are consistent annotation_checker · 80%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
info
package.json metadata manifest_parser · 100%
info
Tool: nws_get_office_discussion manifest_parser · 75%
info
Tool: nws_get_observations manifest_parser · 75%
info
Tool: nws_list_alert_types manifest_parser · 75%
info
Tool: nws_get_forecast manifest_parser · 75%
info
Tool: nws_find_stations manifest_parser · 75%
info
Tool: nws_search_alerts manifest_parser · 75%
info
Tool: nws_get_zone_forecast manifest_parser · 75%
info
Required env vars (11) manifest_parser · 80%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
medium
Permission: network access detected permission_analyzer · 70%
high
Permission: shell access detected permission_analyzer · 95%
low
Permission: env_vars access detected permission_analyzer · 90%
info
SBOM generated: 13 components sbom_generator · 100%
high
Hardcoded Password found in cyanheads-nws-weather-mcp-server-a326316/framework-skills/api-utils/references/security.md secret_scanner · 65%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%