# NOAA Alerts MCP

> NOAA Alerts — US Severe Weather Warnings delivers real-time NWS data. Get active warnings—tornadoes, floods, hurricanes—filtered by state, severity level, or exact coordinates anywhere in the United States. Check every alert type from 120+ event categories instantly.

## Overview
- **Category:** the-unthinkable
- **Price:** Free
- **Tags:** severe-weather, emergency-alerts, real-time-notifications, disaster-preparedness, nws-data, geospatial-data

## Description

# NOAA Alerts: Real-Time US Severe Weather Warnings

You're gonna get real-time access to active weather alerts across the entire United States; this server pulls all its data straight from NWS feeds. It lets your AI client check everything—tornadoes, floods, hurricanes—filtered by state code, severity level, or even exact coordinates anywhere in the U.S.

The system gives you four distinct ways to pull critical data using specific tools.

To get active warnings based on a whole US state, you use `get_active_alerts`. This tool lets you filter alerts using a US state code (like CA) and narrow it down by parameters such as severity or the specific event type. You'll need to run `get_alert_types` first; that function gives you a definitive list of every NWS event category ID, letting you know exactly what filters are valid for your other tools.

If you gotta monitor a defined region, you use `get_alerts_by_zone`. Just pass in a specific NWS zone ID—say, FLZ050—and it pulls all active weather alerts affecting that focused area. For pinpoint accuracy, send the latitude and longitude values to `get_alerts_by_point`; this tool retrieves every active warning impacting that precise geographic spot.

If you need a broad sweep of available alert types without specifying location or criteria, run `get_alert_types` to get a complete list of all 120+ NWS event categories. This lets your agent know what filter values it can use when calling the other tools.

This data is critical for emergency management, logistics operations, insurance claims processing, and any workflow that needs reliable, immediate weather awareness. You're dealing with active warnings—tornadoes, floods, hurricanes—and you need to check every alert type instantly, which this server handles through its mechanisms:

*   You can pull all alerts for an entire US state using `get_active_alerts` and filter by severity or event type.
*   You can pinpoint active warnings affecting a precise spot on the map by sending coordinates to `get_alerts_by_point`.
*   You can focus your monitoring on a specific, predefined region using `get_alerts_by_zone`, just by passing in the NWS zone ID. 
*   To build out custom filtering criteria for any tool, you always start by running `get_alert_types` to get that definitive list of all available alert categories.

The server gives your agent four specific tools: **`get_active_alerts`** filters alerts by US state code and allows narrowing results using severity (Extreme/Severe), urgency level, or a chosen event type; **`get_alert_types`** lists every possible NWS weather alert category ID available for filtering purposes across the entire system; **`get_alerts_by_point`** retrieves all active alerts that affect an exact US location based on provided latitude and longitude coordinates; and **`get_alerts_by_zone`** gets all active weather warnings for a focused, predefined NWS zone ID.

You use these tools to pull everything from the whole country down to one specific GPS coordinate. You're always dealing with real-time data across 120+ event categories and multiple severity levels.

## Tools

### get_active_alerts
Filters active weather alerts by US state, severity (Extreme/Severe), urgency, or specific event type. This is the primary alert retrieval tool.

### get_alerts_by_zone
Gets all active weather alerts for a predefined, focused NWS zone ID (e.g., FLZ050).

### get_alerts_by_point
Retrieves all active alerts affecting a specific US location using latitude and longitude coordinates.

### get_alert_types
Lists every possible NWS weather alert category ID. Use this to discover valid filter values for other tools.

## Prompt Examples

**Prompt:** 
```
Are there any active weather alerts in Texas?
```

**Response:** 
```
⚠️ **Texas — Active Alerts (6)**

🔴 Tornado Warning — Dallas County (until 4:30 PM)
🟠 Severe Thunderstorm Warning — Tarrant County
🟡 Flash Flood Watch — Houston metro (through tonight)
🟡 Heat Advisory — Rio Grande Valley (105°F+)
🔵 Dense Fog Advisory — Gulf Coast
🔵 Rip Current Statement — Galveston

6 active alerts across 14 counties.
```

**Prompt:** 
```
Show me extreme severity alerts nationwide
```

**Response:** 
```
🔴 **Extreme Severity Alerts**

1. Tornado Emergency — Moore, OK
2. Hurricane Warning — SW Florida Coast
3. Extreme Wind Warning — Miami-Dade County

3 extreme-level alerts currently active nationwide.
```

## Capabilities

### Filter alerts by state and criteria
Use `get_active_alerts` to pull warnings based on a US state code (e.g., CA) and specific parameters like severity or event type.

### List all possible alert types
Run `get_alert_types` to get a definitive list of every 120+ NWS event category available for filtering.

### Get alerts by coordinates
Send latitude and longitude values to `get_alerts_by_point` to pinpoint all active warnings in that exact geographic spot.

### Monitor specific zones
Pass a NWS zone ID (like FLZ050) to `get_alerts_by_zone` for focused monitoring of a defined region.

## Use Cases

### Planning an industrial site shutdown
A plant manager needs to know if the facility is safe before workers return. They prompt their agent: 'What severe weather warnings are active near our coordinates?' The agent runs `get_alerts_by_point` and returns a list showing no critical alerts, confirming safety.

### Tracking flood risk in multiple counties
A civil engineer needs to assess the scope of flood damage across several areas. They use `get_active_alerts`, filtering by 'Flood' event type and checking specific zones via `get_alerts_by_zone` for a comprehensive view.

### Responders need immediate confirmation
During an active emergency, dispatch needs to confirm if the highest level of threat is present. They ask: 'Show me all Extreme severity alerts nationwide.' The agent calls `get_active_alerts` using the 'Extreme' filter and gets a prioritized list.

### Mapping seasonal weather change
A climate researcher wants to know every type of warning possible. They first call `get_alert_types` to build a master dictionary, then use that list with `get_active_alerts` to map the full range of potential warnings.

## Benefits

- Pinpoint exact risks with `get_alerts_by_point`. Don't just know the state; find out what hit 34.05 N, 118.24 W right now.
- Manage complex data sets using `get_active_alerts` to filter by severity (Extreme, Severe, etc.) and event type—don't waste time sifting through irrelevant warnings.
- Streamline regional monitoring with `get_alerts_by_zone`. Instead of querying a whole state, you focus only on the specific NWS zone ID for better performance.
- Avoid guessing what kind of alert exists. Use `get_alert_types` to pull the master list and ensure your agent queries against valid event categories every time.
- Confirm operational status instantly. Instead of checking multiple dashboards, one call can aggregate all active alerts across a state or zone.

## How It Works

The bottom line is you get structured, real-time weather alerts pulled directly into your agent's context using specific tools.

1. First, you tell your AI agent what kind of alerts you need—for example, 'Tornado Warnings in Florida.'
2. The agent selects the best tool (`get_active_alerts`) and passes the necessary parameters (State: FL, Severity: Severe, Event Type: Tornado Warning).
3. The server executes the query and returns a structured list of active warnings, including location, expiration time, and advisory details.

## Frequently Asked Questions

**How do I find out what kinds of alerts are available using get_alert_types?**
You call `get_alert_types` first. This returns a list of all valid event category values—like 'Tornado Warning' or 'Flash Flood Watch.' You must use these exact strings when filtering with `get_active_alerts`.

**Can I check for alerts in an entire state using get_active_alerts?**
Yes. Pass the two-letter US state code (e.g., 'FL') to `get_active_alerts`. You can then further narrow that search by severity or event type.

**Which tool is best for checking a specific intersection?**
Use `get_alerts_by_point`. This requires the precise latitude and longitude of the location, giving you the most granular answer possible regarding active warnings at that exact spot.

**What if I only have an NWS zone ID?**
Use `get_alerts_by_zone`. This tool accepts a specific NOAA Zone ID (like TXZ211) and retrieves all alerts applicable to that entire, focused region.

**If I use `get_alerts_by_point` with incorrect latitude or longitude, how does the tool handle it?**
It returns a specific error message indicating invalid coordinates. The system won't crash; instead, your agent receives an explicit failure signal and no alert data. You can then adjust your input values.

**When running `get_active_alerts`, can I filter by both severity level and event type simultaneously?**
Yes, you pass multiple parameters to refine the search. For instance, you can request all 'Severe' alerts that are specifically a 'Flash Flood Watch.' This narrows down results quickly.

**Using `get_active_alerts`, what key data points (like expiration time or county name) should I expect in the response object?**
The alert payload includes critical details: the specific geographic area, the defined severity level, and a precise end timestamp. This lets you know exactly when the warning expires.

**Does the server impose any rate limits when calling `get_alerts_by_zone` repeatedly during a short period?**
The service is designed for frequent querying, but we recommend checking the official NOAA API documentation linked in the listing. High-volume usage may require adhering to standard API quota policies.

**How quickly are alerts updated?**
NWS alerts are updated in real-time. When a warning is issued or cancelled, it appears within seconds on the API. Tornado Warnings have a typical lead time of 13 minutes.