# NOAA Climate MCP

> NOAA Climate — Historical Weather Records provides access to the planet's largest archive of daily weather data, including temperature, precipitation, snow depth, and wind records for over 100,000 stations worldwide. You can retrieve detailed daily readings (GHCN-Daily), monthly averages (GSOM), or yearly summaries (GSOY) spanning decades. It also provides 30-year climate normals and station searches, making it the definitive source for historical climate science analysis.

## Overview
- **Category:** the-unthinkable
- **Price:** Free
- **Tags:** historical-data, climate-science, environmental-data, precipitation-records, temperature-analysis, data-archiving

## Description

This MCP gives your agent direct access to NOAA's massive archive of global weather data. Forget sifting through dozens of academic databases or piecing together yearly reports. You can ask specific questions like, 'How did average rainfall change in Miami between 1980 and 2000?' The system pulls the raw historical records—daily temperature highs, precipitation totals, and snow accumulation—and formats them for immediate use. Whether you need a full year's worth of data or just the baseline thirty-year normal, this MCP handles it. You can pinpoint exact stations anywhere in the world and run analyses across daily, monthly, or annual scales. By connecting to Vinkius, you get all these climate tools under one roof, letting your AI client treat NOAA as a single, unified source for everything from local microclimates to continental trends.

## Tools

### get_daily_data
Pulls daily temperature, precipitation, snow depth, and wind records for specific dates at a given station.

### get_monthly_summary
Generates monthly aggregates of average temperature, total rainfall, and heating degree days for trend analysis.

### get_yearly_summary
Provides annual summaries detailing yearly averages and extreme values for long-term climate assessment.

### get_climate_normals
Retrieves the standard 30-year statistical baseline (1991-2020) that defines 'normal' weather conditions for any location.

### search_stations
Finds official NOAA station IDs and coordinates using a location name or bounding box, which are necessary inputs for all other tools.

## Prompt Examples

**Prompt:** 
```
Get daily temperatures for Central Park, NYC in January 2024
```

**Response:** 
```
📊 **Central Park (USW00094728) — January 2024**

| Date | Max°C | Min°C | Precip mm |
|------|-------|-------|----------|
| Jan 1 | 4.4 | -1.1 | 0.0 |
| Jan 2 | 6.7 | 1.1 | 2.5 |
| Jan 3 | 2.2 | -3.3 | 0.0 |
| ... | ... | ... | ... |
| Jan 31 | 7.8 | 0.0 | 8.1 |

Monthly avg high: 4.8°C. Monthly precip: 89mm.
```

**Prompt:** 
```
Show me the total monthly precipitation for Seattle in 2023.
```

**Response:** 
```
Here is the GSOM data for Seattle (USW00024233) for 2023: Total annual precipitation was 31.5 inches. The wettest month was November with 6.2 inches, and the driest was August with 0.1 inches.
```

**Prompt:** 
```
What are the 30-year climate normals for Miami?
```

**Response:** 
```
Based on the 1991-2020 normals for Miami International Airport: The average annual high is 84.4°F, the average low is 71.2°F, and the average annual precipitation is 61.9 inches.
```

## Capabilities

### Fetch detailed daily weather readings
Retrieve specific measurements like maximum/minimum temperature and precipitation totals for any given date range and station.

### Calculate monthly climate averages
Generate aggregate summaries that provide average temperatures, total rainfall, or heating degree days for an entire month.

### Determine yearly climate trends
Get year-over-year data points, including annual temperature averages and extreme weather values.

### Establish baseline 'normal' conditions
Access the statistical 30-year baseline (1991–2020) to compare current readings against historical norms for a location.

### Locate weather stations globally
Search NOAA's network to find specific station IDs, names, and geographical coordinates needed for all other data calls.

## Use Cases

### Investigating drought severity in agriculture
An agricultural planner needs to know how much total precipitation fell across the last five summers. They first use `search_stations` to get the county ID, then call `get_monthly_summary` for each of the past five years' months, giving them a clear trend line.

### Assessing changes in coastal storm risks
A risk analyst wants to compare average high temperatures from 1950 versus today. They use `get_yearly_summary` for both periods and then run the data through their agent for immediate comparison against the 30-year climate normals.

### Building a historical research paper on rainfall
A scientist needs raw daily rainfall totals. They use `search_stations` to locate all relevant points, then iteratively call `get_daily_data` across the entire time span and compile the massive dataset in one go.

### Determining optimal building placement
An urban developer needs to check for extreme cold periods. They use `get_climate_normals` to establish a baseline low temperature, helping them determine if current local readings are dangerously outside the norm.

## Benefits

- You stop manually cross-referencing academic papers. By running `get_daily_data`, your agent pulls raw, verifiable daily records for temperature and precipitation directly from the source archive.
- Comparing different time scales is simple. You can run a year's summary using `get_yearly_summary` and then immediately compare it to the established baseline using `get_climate_normals`. It’s all in one workflow.
- Pinpointing location data used to be a headache. Now, just use `search_stations` first; you get the exact ID needed before calling any of the summary tools for accurate results.
- You gain deep temporal insight. Instead of just knowing 'it rained last year,' your agent can quantify total precipitation and identify the wettest or driest months using `get_monthly_summary`.
- The MCP handles complexity. You don't need to know how NOAA structures its data; you just ask for a trend, and the system figures out if it needs daily readings or yearly aggregates.

## How It Works

The bottom line is: instead of navigating complex government APIs, you just tell your AI client what time period and location you need, and it handles the data plumbing.

1. First, use `search_stations` to get the precise ID and location name of the weather station you need.
2. Next, call one of the summary tools—like `get_monthly_summary` or `get_daily_data`—by passing that station ID along with your required date range and data type.
3. The MCP returns structured historical records (temperatures, precipitation, etc.) which your agent uses to build a final report or chart for you.

## Frequently Asked Questions

**How do I find a specific NOAA weather station ID using NOAA Climate — Historical Weather Records MCP?**
You must start by calling `search_stations`. This tool accepts location names or bounding boxes and returns the exact, necessary station IDs for every other data retrieval tool.

**What is the difference between using get_daily_data and get_monthly_summary with NOAA Climate — Historical Weather Records MCP?**
`get_daily_data` gives you granular records (max/min temp, precipitation) for every day. `get_monthly_summary` aggregates this data to give you averages and totals for the entire month, which is better for spotting general trends.

**Can I use NOAA Climate — Historical Weather Records MCP to compare temperatures across different years?**
Yes. You can use `get_yearly_summary` repeatedly across different decades (e.g., 1950 vs. 2020) to track yearly averages and extreme values.

**Does get_climate_normals cover all historical data?**
No, `get_climate_normals` provides the standardized statistical baseline (1991-2020). It is a reference point, not raw historical data.

**What if I need precipitation records for many different stations?**
First, you run `search_stations` to get the list of all required IDs. Then, your agent can iterate through that list, calling `get_daily_data` or `get_monthly_summary` for each ID and date range.