Connect Smarter Weather and your agent gets 33 tools, among them compare_locations, describe_dataset, find_best_window. It answers at https://mcp.smarterweather.com over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 6 of 6 times since 11 September 2026; the last check, on 24 October 2026, succeeded.
Smarter Weather MCP: forecasts, alerts, outlooks, observations, AQI, grids, and map imagery.
Description as the publisher wrote it.
| Tool | What it does |
|---|---|
compare_locations | Compare forecast variables across multiple locations side-by-side in one batched call. Returns a distilled per-location series matrix for direct comparison -- prefer this over N sequential forecast calls. Locations accept place names direct Inputs: locations, variables, hours, dataset_id |
describe_dataset | Variables available in a dataset, with standard names, units, descriptions, and the time range of available data. Use before query_dataset to discover valid variable names. Example: {"dataset_id": "nbm_conus"}. Inputs: dataset_id |
find_best_window | Find the optimal time window for an activity based on weather criteria. Scans the forecast and returns daylight-aware periods matching all conditions. Criteria are expressed in the selected `units` system (default imperial: °F, mph, miles, Inputs: location, lat, lon, units, criteria, hours |
get_air_quality | AirNow air quality at a location (CONUS): current overall AQI plus per-pollutant detail (PM2.5, ozone, PM10 concentrations) and the AirNow AQI forecast. AQI scale: 0-50 good, 51-100 moderate, 101-150 unhealthy for sensitive groups, 151-200 Inputs: location, lat, lon, pollutants, include_forecast |
get_alerts | NWS watches, warnings, advisories. Point (city/ZIP/lat+lon): containing polygons. BBox or US state/DC/CONUS (codes, full names, US/national): intersecting polygons. A city miss is not a statewide all-clear — query the state or a bbox; never Inputs: location, lat, lon, bbox, events, alert_id |
get_climate_normals | Day-of-year climate normals (NCEI 1991-2020 30-year averages) for a US location, from the nearest station with a record. Returns normal high, normal low, and normal mean for each date in the window, plus the station and how far away it is. Inputs: lat, lon, start, end, days, unit |
get_climate_records | NWS daily climate data: type=reports returns CLI daily climate reports (observed high/low/precip vs normals per station); type=records returns RER record event reports (record highs/lows/rainfall actually set). Filter by wfo (3-letter offic Inputs: type, wfo, station, record_type, date, start |
get_current_conditions | Current weather right now at a location from two independent sources in one call: the RTMA gridded analysis (exact-point values, updated sub-hourly) and the nearest METAR station observation (ground truth with raw METAR, flight category). U Inputs: location, lat, lon |
get_forecast | Complete weather overview for a location: current conditions, daily forecast (day/night periods, SPC threats, severity, CAPE, UV), active alerts, and convective outlooks in one call. Data is pre-aggregated across NBM, HRRR, GFS, RTMA, and S Inputs: location, lat, lon, days, units, include |
get_forecast_discussion | Expert forecaster text products. type=afd: Area Forecast Discussion. type=hwo: Hazardous Weather Outlook. type=now: WFO short-term NOW. type=fwf/hls/esf: local fire weather / hurricane local statement / hydrologic discussion. type=mcd: SPC Inputs: location, lat, lon, type, day, awips_id |
get_forecast_distribution | Probabilistic forecast guidance from NBM for one aspect of the weather: percentile ranges (p10-p90), exceedance probabilities, and ensemble spread. Use this for any question about odds, ranges, potential or confidence ("how much could we ge Inputs: location, lat, lon, aspect, hours |
get_forecast_skill | How accurate our forecasts have actually been near a location, measured against observed analysis truth. Returns bias (positive = the model runs high), mean absolute error, RMSE, and a skill score against local climatology, per model, weath Inputs: location, lat, lon, variable, model, lead_hours |
get_forecast_skill_map | Measured forecast skill as a map of res-4 hexes inside a bounding box, sliced from the public skill map. Use this when the question is spatial ("where is NBM temperature skill weak across Colorado"), not "how good is the forecast at this po Inputs: bbox, model, variable, lead_hours, domain |
get_growing_degree_days | Growing Degree Units (GDU / GDD) for a US location (CONUS, Alaska, Hawaii), computed from daily max/min temperatures. Pass a crop id (e.g. "corn", "soybean", "wheat") to use calibrated base/upper thresholds, or crop="custom" with base_temp_ Inputs: lat, lon, crop, season_start, days, day_definition |
get_hourly_forecast | Blended hourly forecast: temperature, feels-like, humidity, wind, precipitation probability/amount, conditions, and icon per hour. Snapped to the current hour so hourly[0] is "now". Timestamps are UTC ISO 8601; convert to the local timezone Inputs: location, lat, lon, days, hours_from, hours_to |
get_lightning_activity | Real-time lightning near a location: GLM satellite flash count (30km/10min) and MRMS ground-truth lightning density + 30-minute probability. The summary field is ready-to-use. A zero flash count means no lightning inside that window -- repo Inputs: location, lat, lon |
get_map_snapshot | Render a weather map image for visual analysis. Simple form: pass `product` (a viz-catalog product_id like "mrms_qpe_01h_pass2_conus", "goes_truecolor_conus", "spc_day1_categorical", "hrrr_precip_hybrid_derived_conus" (future radar), "hrrr_ Inputs: location, lat, lon, product, zoom, time |
get_observations | METAR surface observations from weather stations: temperature, wind, visibility, ceiling, flight category, raw METAR. Nearest mode (default) returns the closest N stations to a location; station mode returns history for a specific ICAO iden Inputs: location, lat, lon, n, station, hours |
get_outlooks | Hazard outlooks affecting a location. hazard=severe returns SPC convective outlooks (Day 1-8 categorical risk + tornado/wind/hail probabilities); hazard=fire returns SPC fire weather outlooks; hazard=rain returns WPC Excessive Rainfall Outl Inputs: location, lat, lon, hazard, day, include_narrative |
get_path_exposure | Civic POIs (schools, hospitals, airports, …) inside a caller-supplied GeoJSON Polygon or MultiPolygon. Clip first — do not pass a CONUS HeatRisk dissolve. For an NWS alert use get_alerts({alert_id}) (already includes pois). Optional classes Inputs: geometry, classes |
get_period_totals | Aggregate a weather variable over one or more time periods. Returns server-computed totals, maxima, minima, or averages per period. Period start/end times should use the user's local timezone boundaries (not UTC midnight). Response includes Inputs: location, lat, lon, variable, aggregation, periods |
get_platform_status | Current data-freshness status of the weather platform: overall state, per-source states (ok / degraded / outage / no_signal), open incidents with cause attribution (provider outage vs internal processing delay), and active provider advisori Inputs: include_ok |
get_population_exposure | National population-exposure headline for a risk-zone outlook product: how many people are inside risk bands at or above min_level. Powers headlines like "~57M people under major heat risk tomorrow". hazard=heat covers NWS HeatRisk days 1-3 Inputs: hazard, product_id, min_level |
get_sounding | Nearest RAOB (radiosonde) vertical soundings to a point. Each sounding carries: profile (pressure-indexed thermodynamics: pressure_hpa, height_m, temperature_c, dewpoint_c, wind arrays), wind_profile (height-indexed winds for hodographs/she Inputs: location, lat, lon, n |
get_sounding_chart | Render the nearest RAOB (radiosonde) sounding as a Skew-T log-P + hodograph chart image for visual analysis: temperature/dewpoint traces, wind barbs, height-banded hodograph, and a derived-indices table (CAPE/CIN, lifted index, PWAT, shear, Inputs: location, lat, lon, unit, scale |
get_storm_cells | Radar-identified storm cells near a location, merging NEXRAD Level III algorithm output from the nearest radar site: storm tracks (cell position, movement, forecast positions), hail index (probability of hail/severe hail + max expected size Inputs: location, lat, lon, include |
get_storm_reports | Recent NWS Local Storm Reports (LSRs) -- verified reports of tornadoes, hail, damaging winds, flooding near a location. Use to confirm severe weather occurrence or assess reported damage. valid_time is event occurrence (UTC); cite in local Inputs: location, lat, lon, hours, type |
get_time_context | Complete temporal context for a location: local time, timezone, 14-day calendar with day names and Today/Tomorrow offsets, sunrise/sunset/solar times (from the weather pipeline's astro product), and moon phase. Use whenever you need to reas Inputs: location, lat, lon |
get_tropical | Active NHC (National Hurricane Center) tropical systems: forecast cones, track lines, forecast points, coastal watches/warnings, and 7-day Tropical Weather Outlook formation areas -- Atlantic + East Pacific. Each feature carries a kind (con Inputs: include_geometry |
list_datasets | Discover the datasets (model grids, analyses, observations) available at a location, with per-dataset freshness (data age, latest model run). Datasets vary by domain (CONUS/Alaska/Hawaii). Use this to find dataset_id values for query_datase Inputs: location, lat, lon, include_freshness |
query_dataset | Raw time series from a specific dataset for specific variables at a point. Power-user access to any gridded product (NBM, HRRR, RRFS, GFS, RTMA, MRMS, air quality, ...). Time modes: hours (next N hours, default 24), time_start+time_end (exp Inputs: location, lat, lon, dataset_id, variables, hours |
reverse_geocode | Resolve coordinates to a human-readable place (city, state, county, timezone). Use when you have lat/lon but need a display name or the local timezone. Example: {"lat": 39.74, "lon": -104.99} -> Denver, Colorado, America/Denver. Inputs: lat, lon |
search_locations | Resolve a place query to candidate locations with coordinates. Accepts city names ("Denver"), city+state ("Portland, OR" via query), ZIP codes ("50219"), or partial input with fuzzy=true for autosuggest-style matching ("bost" -> Boston). Re Inputs: query, fuzzy, limit |
Every block below points at https://mcp.smarterweather.com. Pick your client and copy.
claude mcp add --transport http smarter-weather https://mcp.smarterweather.com
{
"mcpServers": {
"smarter-weather": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.smarterweather.com"]
}
}
}{
"mcpServers": {
"smarter-weather": {
"url": "https://mcp.smarterweather.com"
}
}
}{
"servers": {
"smarter-weather": {
"type": "http",
"url": "https://mcp.smarterweather.com"
}
}
}{
"context_servers": {
"smarter-weather": {
"url": "https://mcp.smarterweather.com"
}
}
}{
"mcpServers": {
"smarter-weather": {
"serverUrl": "https://mcp.smarterweather.com"
}
}
}{
"mcpServers": {
"smarter-weather": {
"url": "https://mcp.smarterweather.com"
}
}
}name: Smarter Weather
version: 0.0.1
schema: v1
mcpServers:
- name: Smarter Weather
type: streamable-http
url: https://mcp.smarterweather.com{
"mcpServers": {
"smarter-weather": {
"httpUrl": "https://mcp.smarterweather.com"
}
}
}{
"mcpServers": {
"smarter-weather": {
"type": "http",
"url": "https://mcp.smarterweather.com"
}
}
}{
"mcpServers": {
"smarter-weather": {
"url": "https://mcp.smarterweather.com"
}
}
}goose://extension?url=https%3A%2F%2Fmcp.smarterweather.com&type=streamable_http&id=smarter-weather&name=Smarter%20Weather
It answered our last check on 24 October 2026 in 249 ms. Over 6 checks since 11 September 2026 it answered 6. Status here comes from Neuronto's own probes, not from the publisher.
33, as returned by the server's own tools/list on 21 September 2026: compare_locations, describe_dataset, find_best_window, get_air_quality, get_alerts, get_climate_normals, get_climate_records, get_current_conditions, and 25 more.
It answered our last check on 24 October 2026 in 249 ms. Over 6 checks since 11 September 2026 it answered 6.
Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://mcp.smarterweather.com. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.
It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.
Publisher: io.github.smarterweather. Endpoint host: mcp.smarterweather.com. ARD identifier: urn:air:io.github.smarterweather:mcp:weather.
First indexed 10 September 2026. The tools are exactly what the server returned; nothing on this page
is inferred from its name. Ranking in Neuronto search is never for sale.