# Weather

<!-- Generated by scripts/gen-docs-mcp.mjs from the shared tool catalog. Do not edit by hand —
     edit the catalog in packages/shared/src/mcp.ts and regenerate. -->

## Tools

Current conditions and a nine-day forecast for anywhere in the world, historical weather from the nearest NOAA station, earthquakes worldwide from USGS, live US weather alerts from the National Weather Service, and US storm history with deaths and damage since 1950.

Data from MET Norway and GeoNames (CC BY 4.0), NOAA and USGS. See [Weather](/docs/data/sources/weather) for coverage, freshness and credits.

Your agent reaches these on Vistazo's MCP server, `https://mcp.vistazo.ai/mcp`, through `search_tools` and `call_tool`, as `weather__<tool>` — for example `weather__current_weather`.

| Tool | What it does | |
|---|---|---|
| [`current_weather`](#current_weather) | Current weather | Read-only |
| [`forecast`](#forecast) | Weather forecast | Read-only |
| [`historical_weather`](#historical_weather) | Historical weather | Read-only |
| [`earthquakes`](#earthquakes) | Earthquakes | Read-only |
| [`weather_alerts`](#weather_alerts) | Active weather alerts | Read-only |
| [`storm_events`](#storm_events) | Storm events | Read-only |
| [`storm_event_summary`](#storm_event_summary) | Storm event summary | Read-only |

## current_weather

`Read-only` · `Reaches outside Vistazo`

Current conditions for one or more places — temperature, humidity, precipitation, wind, cloud cover and a plain-language sky description. One row per place, good for a stat card. Returns a `units` map for labels and the resolved coordinates of each place. No feels-like / apparent temperature is available on this connection.

## forecast

`Read-only` · `Reaches outside Vistazo`

Daily forecast for the next N days — at most 9 (a larger `days` is a validation error, not a truncation) — one row per place per day with high/low/mean temperature, precipitation, max wind and conditions; no feels-like temperature. Same columns as historical_weather, so past and forecast union onto one chart. Days are LOCAL calendar days at each place. Returns a `units` map for axis labels and the resolved coordinates of each place.

## historical_weather

`Read-only` · `Reaches outside Vistazo`

Past daily or monthly weather from the nearest NOAA weather station — one row per place per date with high/low/mean temperature, precipitation and wind. These are real station OBSERVATIONS, so a gap means no reading was taken; mean temperature and wind are not reported everywhere, and `note` names each place whose station reports none of a field in the range (approximate a missing mean as (max+min)/2 and say so). `stations` names the instrument each place resolved to — NOAA station id, name, coordinates and `distance_km` from the place. The station is the closest one with good coverage over the range, which need not be the geometrically nearest; say how far out it is when that matters (an airport 20 km away is a proxy, not the city centre). Use interval="monthly" for ranges beyond a year or two.

## earthquakes

`Read-only` · `Reaches outside Vistazo`

Earthquakes worldwide from the USGS catalog, minutes behind real time. Location: one `places` name or latitude+longitude, with `radius_km` (default 500, max 5,000); omit both for worldwide. `start_date`/`end_date` default to the last 30 days, span at most 1 year. `min_magnitude` defaults to 2.5. One row per event — id, time (ISO UTC), magnitude, mag_type, place, latitude, longitude, depth_km, felt reports, PAGER alert, tsunami flag, significance, url — ordered by `order_by` time (newest first) or magnitude, at most `limit` (default 200, max 2,000; a notebook's call — vistazo.call or a data cell — may ask for up to 10,000) — 200 rows run about 60,000 characters, so pass a smaller `limit` or a higher `min_magnitude` for a glance. For a count over time pass `bucket` day | week | month: `counts` (period, count, max_magnitude) then covers EVERY matching event, while `rows` stays capped at `limit` — chart the counts, not the rows. A bucketed query matching more than 20,000 events is refused; raise min_magnitude or narrow the dates.

## weather_alerts

`Read-only` · `Reaches outside Vistazo`

Weather watches, warnings and advisories in effect RIGHT NOW from the US National Weather Service — US states, territories and coastal waters only; there is no alert history (past storms are storm_events). Filter by `states` (two-letter codes, up to 10) OR one place / latitude+longitude, plus `event_types` (e.g. ["Tornado Warning"]) and `min_severity` (Minor | Moderate | Severe | Extreme). Marine alerts (about three quarters of the feed) are left out unless `include_marine` is true. One row per alert, most severe first — id, event, severity, urgency, certainty, onset, ends, expires, headline, area, states, sender — at most `limit` (default 200, max 500). `ends` is when the hazard ends (null when NWS gives none); `expires` is only when this message lapses or is replaced, often hours before the hazard ends — show `ends` as an alert's end time; `counts_by_state` and `counts_by_event` cover the full result before the limit, and `fetched_at` says when the feed was read. Most alerts carry no geometry, so map them by state counts, not points.

## storm_events

`Read-only` · `Reaches outside Vistazo`

Past US storm events from the NOAA Storm Events Database, 1950 onward — tornadoes, floods, hail, hurricanes, heat, winter storms and every other NOAA event type, with deaths, injuries and damage. US states, territories and coastal waters only. NOAA publishes about three months behind: every response carries `data_through` (the latest event date loaded), and a range past it is simply empty there. Before 1996 NOAA timestamped most records in Central time wherever they occurred, so earlier times are approximate. Filter by `states` (two-letter codes, up to 10), `event_types` (NOAA names, e.g. "Tornado", "Flash Flood"), `start_date`/`end_date` (span at most 30 years), `min_deaths`, `min_damage_usd`. One row per event — event_id, begin/end time, state, county_or_zone, event_type, deaths, injuries, property and crop damage in USD, magnitude, tornado F/EF scale, begin coordinates — ordered by `order_by` time | deaths | injuries | damage (largest or newest first), at most `limit` (default 200, max 1,000; a notebook's call — vistazo.call or a data cell — may ask for up to 10,000). `include_narrative` adds NOAA's written account, caps the span at 2 years and holds `limit` to 1,000. For totals by type, state, year or month use storm_event_summary.

## storm_event_summary

`Read-only` · `Reaches outside Vistazo`

Totals from the NOAA Storm Events Database (US, 1950 onward): events, deaths, injuries, property and crop damage in USD, grouped by one or two of `group_by` event_type | state | year | month. Same filters as storm_events — `states`, `event_types`, `start_date`/`end_date` (span at most 30 years), `min_deaths`, `min_damage_usd`. Time groups come back in time order, the others by event count, at most 1,000 groups. NOAA publishes about three months behind; every response carries `data_through`, and recent months past it read as zero rather than missing. Before 1996 NOAA timestamped most records in Central time wherever they occurred, so earlier month boundaries are approximate. Use this, not storm_events, for "which state had the most tornado deaths" or "damage by year".
