Tool ReferenceStation Observations
station_historical_data
Station Historical Data
Historical weather station data. Returns METAR/SYNOP-derived weather observations for a single station. Use station_search first for station IDs, or geolocator for coordinates. Call station_available_variables to discover available fields and packages before use. Interval guidance: HOURLY for <1 month, DAILY for 1mo-2yr, MONTHLY for >2yr. GMT time zone available for HOURLY and DAILY intervals only. DATA TYPES: - GAPFILLED (default): Continuous hourly series with ERA5/GFS gap-filling. Use for time series, aggregations, and computed fields (apparent temp, wet bulb, solar, 80m wind). 40+ variables. - FORMATTED: Raw METAR observations as issued. Use for present weather codes, ceiling/visibility, flight category analysis, and thunderstorm climatology. Combine with fields="rawMetar,presentWeather" to activate the full METAR parsing engine. DATA SOURCE NOTE: Data is METAR/SYNOP-derived, not GHCN-Daily or NWS COOP records. Temperatures are at tenths-of-degree precision. For climate queries, prefer maxInstantaneousSurfaceTemperature / minInstantaneousSurfaceTemperature over the envelope max/min fields — these are closer to official NWS daily values (DAILY/MONTHLY only). SNOWFALL NOTE: Recent snowfall (<~45 days) uses hourly estimates that may significantly underestimate accumulation. GHCN-corrected totals finalize ~30-45 days after the event. Always check the finalizedData flag for snowfall queries. INTERANNUAL MODE: Set interannual=True to pull the same calendar window across multiple years for climatological analysis (e.g., "Is this unusual?", "30-year trend"). For full field guidance, snowfall caveats, METAR parsing details, and aviation analysis reference, call with info=True.
https://mcp.barocline.com/mcphttps://mcpkey.barocline.com/weather-risk/mcphttps://mcpoauth.barocline.com/mcpRead-onlyIdempotent
Parameters
| Name | Type | Required | Default |
|---|---|---|---|
station | string | null | No | null |
latitude | number | null | No | null |
longitude | number | null | No | null |
startDate | string | No | null |
endDate | string | No | null |
interval | string | No | "DAILY" |
fields | string | No | "standard" |
units | string | No | "IMPERIAL" |
data_type | string | No | "GAPFILLED" |
filters | string | object | null | No | null |
analysis_level | string | No | "auto" |
time | string | No | "LWT" |
content_mode | string | No | "text" |
interannual | boolean | No | false |
interannual_output | string | No | "stats" |
info | boolean | No | false |
Sample input
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "station_historical_data",
"arguments": {
"interval": "DAILY",
"fields": "standard",
"units": "IMPERIAL",
"data_type": "GAPFILLED",
"analysis_level": "auto",
"time": "LWT",
"content_mode": "text",
"interannual": false,
"interannual_output": "stats",
"info": false
}
}
}{
"name": "station_historical_data",
"arguments": {
"interval": "DAILY",
"fields": "standard",
"units": "IMPERIAL",
"data_type": "GAPFILLED",
"analysis_level": "auto",
"time": "LWT",
"content_mode": "text",
"interannual": false,
"interannual_output": "stats",
"info": false
}
}