NOAA Climate MCP. Analyze climate trends from raw data to 30-year normals.
Works with every AI agent you already use
…and any MCP-compatible client
Just plug in your AI agents and start using Vinkius.
NOAA Climate — Historical Weather Records gives you access to the planet's largest archive of daily weather data. You can pull raw temperature and precipitation readings for over 100,000 stations worldwide.
Use it to compare current conditions against established 30-year climate normals, or aggregate data into monthly or yearly summaries for deep trend analysis.
What your AI agents can do
Get climate normals
Retrieves the 30-year statistical baseline used to define 'normal' temperature and climate conditions for a given location.
Get daily data
Pulls highly granular daily records, including max/min temperatures, precipitation totals, and snow depth, for specific stations and dates.
Get monthly summary
Generates monthly aggregates of average temperature, total precipitation, and heating degree days, ideal for seasonal pattern analysis.
You search for specific NOAA weather stations by location or name, returning the required ID needed for all other data calls.
Your agent retrieves precise daily temperature, precipitation, snow, and wind records for a given station and date range using get_daily_data.
The system aggregates data to provide monthly summaries, giving you average temperatures and total rainfall for trend analysis with get_monthly_summary.
You get yearly averages and extreme values spanning decades using the get_yearly_summary tool.
The server fetches the 30-year statistical baseline for any location, defining what 'normal' weather conditions should be with get_climate_normals.
Ask AI about this MCP
Supported MCP Clients
Waiting for input…
NOAA Climate — Historical Weather Records: 5 Tools
These five tools allow your agent to search locations, retrieve raw daily weather measurements, and aggregate data into monthly or yearly summaries for deep climate analysis.
019d75deget climate normals
Retrieves the 30-year statistical baseline used to define 'normal' temperature and climate conditions for a given location.
019d75deget daily data
Pulls highly granular daily records, including max/min temperatures, precipitation totals, and snow depth, for specific stations and dates.
019d75deget monthly summary
Generates monthly aggregates of average temperature, total precipitation, and heating degree days, ideal for seasonal pattern analysis.
019d75deget yearly summary
Provides yearly averages and extreme values. This tool is best for long-term climate reports spanning multiple decades.
019d75desearch stations
Identifies the unique NOAA station ID, name, and coordinates using a location bounding box or keyword search.
Choose How to Get Started
Build a custom MCP for your own tools, or connect a ready-made integration from our catalog.
Build Your Own
Turn any API into an MCP. Import a spec, define Agent Skills, or deploy with MCPFusion.
- Import from OpenAPI, Swagger, or YAML specs
- Create Agent Skills with progressive disclosure
- Deploy to edge with MCPFusion framework
- Built in DLP, auth, and compliance on every call
- Real time usage dashboard and cost metering
- Publish to catalog or keep private
Make Your AI Do More
Start with NOAA Climate — Historical Weather Records, then connect any of our 4,700+ other servers whenever your AI needs more. One click, no limits.
- Use this MCP plus 4,700+ others, all in one place
- Add new capabilities to your AI anytime you want
- Every connection is secured and compliant automatically
- Track usage and costs across all your servers
- Works with Claude, ChatGPT, Cursor, and more
- New servers added to the catalog every week
What you can do with this MCP connector
The NOAA Climate — Historical Weather Records MCP Server gives your agent direct access to the largest archive of daily weather data on the planet, pulling raw records instead of just vague reports. You can pull temperature and precipitation readings for over 100,000 stations worldwide. Before you do anything else, you need a station ID; that's where search_stations comes in play.
You use this tool to identify the unique NOAA station ID, name, and coordinates by searching using a location bounding box or just keywords.
Once you have that crucial station identifier, you can define what 'normal' looks like for any spot using get_climate_normals. This fetches the 30-year statistical baseline—the established standard used to measure if current conditions are deviating from average. It sets the benchmark against which you compare everything else.
For granular analysis, you'll use get_daily_data. This tool pulls precise daily records for a specified station and date range. You get max/min temperatures, total precipitation measurements, snow depth readings, and wind data—all highly detailed, day-by-day metrics that let you see the true variability of the weather. If you're doing deep trend analysis, or comparing specific historical days to today's reading, this is the dataset you want.
If raw daily noise overwhelms your goal, you can aggregate the data. get_monthly_summary generates monthly totals and averages. This gives you an average temperature, total precipitation, and heating degree days for a given month, perfect when you're analyzing seasonal patterns without getting bogged down in day-to-day fluctuations.
For long-term climate reporting that spans multiple decades, get_yearly_summary provides the necessary scope. This tool gives yearly averages and extreme values, letting you track massive shifts in climate data over time. You’ll use this when your report needs to cover a decade or more of Earth's weather history.
In short, you first gotta locate the station ID using search_stations. Then, if you need context, you check the baseline with get_climate_normals. If you want deep detail, you run get_daily_data for specific dates. To spot seasonal trends, use get_monthly_summary. And finally, to build those multi-decade reports, grab yearly metrics using get_yearly_summary.
You're pulling hard data points; the system doesn't just give you a pretty summary.
How NOAA Climate MCP Works
- 1 First, run
search_stationsto locate the specific NOAA station ID and name. You need this ID for every subsequent query. - 2 Next, determine your required time scale (daily, monthly, or yearly) and call the appropriate tool (
get_daily_data,get_monthly_summary, orget_yearly_summary). - 3 Finally, compare the retrieved data against the 30-year baseline by calling
get_climate_normalsto quantify how far off your target period was from 'normal'.
The bottom line is: you start with a location ID, select a time granularity, and then use normals to put that data into context.
Who Is NOAA Climate MCP For?
Environmental scientists, climate modelers, and resource managers need this. These are people who get tired of manually cross-referencing NOAA's various database endpoints or spending hours sifting through raw CSV dumps just to compare a single season to the 30-year average. You use this when scientific accuracy means knowing if something is just 'bad weather,' or statistically anomalous.
Uses get_daily_data and get_climate_normals to analyze year-over-year deviations in temperature or precipitation, pinpointing specific anomalies.
Runs search_stations followed by get_yearly_summary when advising a client on long-term risks, like drought potential or changes in growing seasons.
Calls get_monthly_summary to track precipitation totals and degree days across decades, helping model water availability for irrigation planning.
What Changes When You Connect
- Compare current weather against the long term. By running
get_daily_dataand comparing it immediately withget_climate_normals, you instantly quantify how far a given period deviated from its historical average. - Track seasonal shifts without noise. Use
get_monthly_summarywhen you need to see if September's rainfall is trending higher or lower than previous years, avoiding the distraction of daily fluctuations. - Build multi-decade reports fast. Instead of querying year by year, running
get_yearly_summarygives you a clean comparison of annual averages and extremes across decades for quick trend spotting. - Start with location certainty. The
search_stationstool is essential; it provides the precise station ID needed to ensure all subsequent data calls (get_daily_data, etc.) point to the right spot on Earth. - Model water availability accurately. By pulling precipitation totals and degree days using
get_monthly_summary, you can build reliable models for agricultural or hydrological planning.
Real-World Use Cases
Investigating a drought event.
An environmental consultant needs to prove that last summer's low rainfall was statistically unusual. They use search_stations to get the ID, then call get_monthly_summary for the entire season. Finally, they run this data against get_climate_normals to generate a report showing the deviation from average.
Comparing two specific decades.
A researcher wants to compare 1995's annual temperature to 2023's. They run search_stations first, then use get_yearly_summary twice (once for each year). This allows them to quantify the difference in yearly averages and extremes directly.
Analyzing a single severe storm.
A meteorologist needs raw data for an unusual weather event. They use search_stations to pinpoint the station, then call get_daily_data for only that 7-day window. This provides the maximum resolution needed to understand daily temperature and precipitation changes.
Modeling long-term climate change.
A hydrologist needs a trendline of total water availability. They use search_stations for the river basin, then repeatedly call get_monthly_summary across many years to create a continuous dataset showing cumulative changes over time.
The Tradeoffs
Jumping straight to data.
Calling get_daily_data without knowing the exact station ID or location bounding box. The call fails because the server doesn't know where to look, wasting time and effort.
→
Always start with search_stations. This tool finds the necessary unique identifier (the station ID) first. Only then should you pass that ID into tools like get_daily_data or get_yearly_summary.
Mixing time scales.
Trying to use annual data (get_yearly_summary) to understand a sudden, localized flash flood event. Annual summaries average out the extreme events you're actually interested in.
→
For short-term or high-impact events, stick to get_daily_data. If you need to see how often an event happens over time, use get_monthly_summary for a broader view.
Ignoring the baseline.
Running a query that returns 'Average high temp was 85°F' without context. The number means nothing until you know if that is normal or an extreme outlier.
→
Every analysis should conclude by calling get_climate_normals. Comparing your retrieved data against the 30-year baseline makes your findings actionable and measurable.
When It Fits, When It Doesn't
Use this server if your problem involves quantifying deviations from established, long-term climate patterns. You need to know if a recent measurement is unusual—whether that's too cold for October or too wet for May.
Don't use this if you simply need general global averages (for those, a different API might suffice) or if your data source comes from a non-weather related domain (like market sentiment). If you just need 'a temperature reading,' that's insufficient; you must compare it to the normal. Use search_stations first, then select your time scale: use get_daily_data for resolution, get_monthly_summary for seasonality, or get_yearly_summary for macro-trends.
Independent Platform Disclaimer: Vinkius is an independent platform and is not affiliated with, endorsed by, sponsored by, verified by, or otherwise authorized by NOAA. All third-party trademarks, logos, and brand names are the property of their respective owners. Their use on this website is strictly for informational purposes to identify service compatibility and interoperability.
VINKIUS INFRASTRUCTURE
Cloud Hosted
Managed infra
V8 Isolated
Sandboxed per request
Zero-Trust Proxy
No stored credentials
DLP Enforced
Policy on every call
GDPR Compliant
EU data residency
Token Compression
~60% cost reduction
Works with Claude, ChatGPT, Cursor, and more
The Model Context Protocol standardizes how applications expose capabilities to LLMs. Instead of operating in isolation, your AI gains direct access to external platforms, live data, and real-world actions through secure, standardized connections.
This server provides 5 capabilities that interface natively with Claude, ChatGPT, Cursor, and any MCP client. No middleware. No custom integration required.
Available Capabilities
Reading climate reports today means juggling four different data sources and seven manual steps.
Right now, analyzing a single region's temperature trend requires you to jump between the NOAA website’s daily records, find the correct station ID in one tab, download yearly summaries into another spreadsheet, and then cross-reference that against separate documents listing 30-year averages. It takes hours of manual data wrangling just to compare two dates.
With this MCP server, you tell your agent what you need—say, 'Show me the temperature deviation for Seattle in June 2024.' Your agent handles finding the station ID with `search_stations`, pulls the raw numbers using `get_daily_data`, and automatically compares it against the long-term average via `get_climate_normals`. You get a single answer, ready to report.
Get structured time series data with `get_monthly_summary`.
Manually compiling monthly climate data means pulling individual months' totals and averages one by one. You have to check for missing records, make sure the units match across years, and manually calculate seasonal deviations—a tedious mess that invites error.
This tool automates that process. By calling `get_monthly_summary`, you get clean aggregates of average temp and total precipitation spanning multiple months in a single structured output. You stop calculating totals and start analyzing trends.
Common Questions About NOAA Climate MCP
How do I find the station ID to use with get_daily_data? +
First, you must run search_stations. This tool finds the unique NOAA ID for any location or name. You need that specific ID before you can pull daily records.
What's the difference between get_monthly_summary and get_yearly_summary? +
Use get_monthly_summary when seasonality matters (e.g., comparing wettest months). Use get_yearly_summary when you need a broad, single annual figure for long-term comparisons.
Does get_climate_normals cover all time periods? +
No. get_climate_normals specifically provides the 30-year statistical baseline (1991–2020). It's a fixed reference point, not historical data itself.
Can I use get_daily_data to pull multiple years at once? +
Yes. get_daily_data supports defining a date range that spans many years, allowing you to capture the raw records for comparison across time.
How do I handle missing or incomplete records when I use get_daily_data? +
The system returns null values for any metrics that were not recorded at the station on that date. When analyzing, you must filter out these nulls before calculating averages or trends to prevent skewed results.
What are the rate limits when querying multiple regions using get_monthly_summary? +
Our current usage policy allows for a high volume of queries, but we recommend grouping requests geographically. If you hit a limit, wait 30 seconds before retrying your batch analysis.
When running any tool, how do I ensure consistent units (like °F vs. °C) across all results? +
You must specify the required unit of measure in your prompt or input parameters. The tools will then convert and standardize the output data type for you.
After running search_stations, what is the best way to pass a list of IDs to get_daily_data? +
Pass the station IDs as an array or comma-separated string in your input query. This allows you to pull data for multiple locations simultaneously in one request.
How far back does the data go? +
GHCN-Daily records go back to the 1700s for some stations, with widespread coverage since the 1890s. Over 100,000 stations worldwide, with the densest network in the United States.
What is the difference between GHCN-D, GSOM, and GSOY? +
GHCN-Daily provides day-by-day records. GSOM (Global Summary of the Month) aggregates these into monthly averages and totals. GSOY (Global Summary of the Year) provides annual summaries.
Are observations available for international locations? +
Yes, while NOAA is a US agency, the GHCN incorporates data from over 100,000 stations worldwide, though the highest density remains in North America, Europe, and Australia.
Use it with your favorite AI tools
Connect this server to Cursor, Claude, VS Code, and more.
More in this category
GovInfo
Search and retrieve official US Government documents and publications via AI.
NASA Full — Ultimate Space Intelligence
The definitive NASA Mega-Server: 32+ tools spanning astronomy pictures, near-Earth asteroids, Mars rover photos, solar flares and CMEs, Earth imagery and natural disasters, 5,700+ exoplanets, NASA's media library, and technology patents — all from 10 official NASA data sources.
AEMO Australian Energy
Access Australian electricity market data — spot prices, demand, generation by fuel type, emissions, and renewable energy proportions via OpenElectricity API.
You might also like
UK Postbox
Manage your virtual mailbox via UK Postbox u2014 scan letters, forward mail, send correspondence, and track parcels from your AI agent.
RenderMe
Automate video generation via RenderMe (re.video) templates directly from your AI agent.
Integrate (Integrate.com)
Manage marketing campaigns, leads, and sources via Integrate.com API.