Published prices and licence fit for email verification, sound effect packs and font licences.
Developer ToolsCommunication & messaging
- Passed: Handshake
- Passed: Tools listed
- Passed: Updated recently
Median latency 96 ms · Last checked
Explore
Evidence for your next connection.
Independent measurements of remote MCP servers. Every observation has a timestamp.
Read-only probesMCP server · Communication & messaging
Smarter Weather MCP: forecasts, alerts, outlooks, observations, AQI, grids, and map imagery.
0 failed · 7 not measured
Median of successful probes over 7 days
Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.
Tool definitions returned by this server
Independent monitoring
Responded
The server completed its last measured handshake. This is an observation, not a guarantee.
Last checked| Test area | Passed | Failed | Unmeasured |
|---|---|---|---|
ConnectionCan a client connect and discover tools? | 5 | 0 | 0 |
Reliability & speedDoes it respond consistently and quickly? | 1 | 0 | 3 |
Access & authenticationWhat is required to use this server? | 1 | 0 | 2 |
Tool qualityAre the tool definitions usable by an agent? | 4 | 0 | 0 |
Publisher identityCan the publisher be traced to its source? | 4 | 0 | 2 |
Unmeasured means there is not enough evidence to decide. How these checks work
Start using Smarter Weather
Choose your client, copy the configuration, then enable the server in your client’s MCP settings.
Run this command in your terminal, then restart Claude Code.
Claude Code
claude mcp add --transport http smarter-weather https://mcp.smarterweather.comCapabilities
Runs a tool find_tools lists, by name: same price, limits and result as calling it directly. Tools already in your list are called directly, not through this. `arguments` follows that tool's input schema.
DiscoveredA dataset's variables or properties (standard names, units, categories, bands, aggregates), horizon, step, cadence, freshness, cost class, verified `examples` and an example_query to read its values; a map layer's axes (source, region, facts) and render (visual) call. Free. Call it when a grid or snapshot hit's `call` lacks the variable you need (with no `variable`, it may read only the headline one), or to check units, horizon or cost; not needed when the hit's `call` already names what you need: run that. Example: {"dataset_id": "<from search_data>"}.
DiscoveredFind places: a name, ZIP, venue or address to ranked candidates with lat/lon, or coordinates to the place and timezone. Pass `query` or `lat`+`lon`; rows carry `type` place|zip|address|poi|county|station, `matched_via: "autosuggest"` marks fallback rows and `partial` a timed-out section. Weather tools take `location`; use this to disambiguate or name a point. Example: {"lat": 39.74, "lon": -104.99} -> Denver, Colorado, America/Denver.
DiscoveredLists the weather tools this connection does not show (best times, routes; storm cells, storm reports, lightning; outlooks, forecaster text; forecast accuracy; maps and charts), with when to use each and its required arguments. Run one with call_tool, in this session, no reconnect. With `tools`, returns their full input schemas. Free; no network call.
DiscoveredNWS watches, warnings and advisories in effect at a place (`location`), over a `bbox`, or over a state or county as `area` {product, feature_id} (find_places `boundaries` hands those back), now or at a past instant (`at`). Narrow with `filter` over event, severity, urgency or certainty, and page past 50 with `cursor`; an alert's id is its group_id (each alert's `id`), or its current CAP `message_id`, and `filter` on either with `view: detailed` returns its full text and geometry. Empty means all clear or purged (about 24 h), and a city with none is not a statewide all-clear. Example: {"location": "Wichita, KS", "filter": ["event in Tornado Warning,Severe Thunderstorm Warning"]}.
DiscoveredCurrent weather right now at a place: the observed analysis at the exact point (temperature, dew point, relative humidity derived from them, wind speed, direction and gusts, pressure, visibility, cloud cover) plus the nearest station report. Values are in `units` (imperial by default; labels in analysis.units); nearest_station is the report as filed, with its distance in meters, and a forecast is get_forecast. Example: {"location": "Pella, IA"}.
DiscoveredValues, totals, comparisons, people/POI counts, station observations, upper-air profiles, climate records, normals, degree days, teleconnection indices and forecaster text from any catalog dataset (models, radar, alerts, outlooks, tropical cyclones, aircraft recon, reference layers) at a place or several, over a bbox or area, along a path, or as items. `select` takes `product:variable` or `product:property` tokens, a standard name or a concept (`population`); send one space word and at most one time word (hours, start+end or at; run pins a cycle); `stats` reduces per `step` or over the area; omit units for SI. Example: {"select": ["temperature_2m"], "locations": ["Savannah, GA", "Macon, GA"], "hours": 36}.
DiscoveredForecast for one US place: current conditions, daily forecast with sunrise and sunset, active alerts and outlooks in one call, hour by hour with include=hourly, and air quality (AQI) with include=aqi; several places: get_data with `locations`. Blended across NBM, HRRR, GFS, RTMA and SPC; times are UTC ISO 8601, quote daily[].astro.local as local, and if forecast.location.timezone_resolved is false state times as UTC. For hours set `hours` (next N) or `start`+`end` for one stretch hour by hour, and check hourly_coverage (first_time, last_time, truncated) before answering about a specific hour; past last_time say the forecast does not reach that far. Example: {"location": "Portland, OR", "include": "hourly", "hours": 24}.
DiscoveredProbabilistic forecast guidance for one aspect, from severe risk to aviation ceilings: percentiles (p10 to p90), exceedance probabilities and ensemble spread, for the odds, ranges or confidence one forecast value cannot answer. Read p50 as the likely outcome, p90 as the reasonable worst case when the risk is the high end (snow, wind, rain) and p10 when it is the low end (cold, visibility, ceiling). Aspects: precip, snow, ice, temperature (daily high and low ranges), wind, severe (thunderstorm and severe-environment odds; SPC tornado, hail and wind odds are get_outlooks (guidance)), aviation (ceiling and visibility odds) and confidence (spread). Example: {"location": "Denver, CO", "aspect": "snow", "hours": 72}.
DiscoveredHow much rain fell: observed precipitation totals at a place over trailing 1 to 72 h windows (`hours`, default 24), or ending at a past time (`end` with `start`), from radar estimates bias-corrected to rain gauges. Values have about 0.08 in (2 mm) resolution, so 0 means under about 0.04 in, and data runs about an hour behind; `product: nowcast` adds the next hour's radar nowcast (peak intensity, type and start, not an amount). Example: {"location": "Chicago, IL", "hours": 24}.
DiscoveredData freshness of the weather platform (no inputs needed; refreshed about every 5 minutes): overall state, per-source states (ok / degraded / outage / no_signal), open incidents with their cause (provider outage vs internal processing delay) and active provider advisories. Use it when asked whether data is current, or when other tools return stale-looking data. If a source is degraded or in outage, say the data may be stale rather than presenting it as live. Example: {}.
DiscoveredLocal time, timezone, a 14-day calendar with day names and Today/Tomorrow labels, sunrise, sunset and solar times, and moon phase and rise and set for a place. Use it to reason about dates, times or daylight there ("when is sunset?", "is it dark there now?"); when current_time.timezone_resolved is false, state times in UTC. Example: {"location": "Seattle, WA"}.
DiscoveredSearch the data catalog: which dataset's values answer a question about weather and the people and places it affects, or what data exists at a point. With `query` it ranks datasets and map layers and returns hits with the next `call` (a named place fills its `area`; add a place if `note` asks) and any verified `example`; without it, it lists datasets at the place with freshness, or all. A place or `domain` keeps datasets covering it; `kind` and `family` filter a listing, rank a query; describe_data lists other variables for get_data. Example: {"query": "snow depth", "location": "Erie, PA"}.
DiscoveredRecent measurements
| Checked | Result | Response | Tools |
|---|---|---|---|
| Connected | 1065 ms | 13 | |
| Connected | 955 ms | 13 |