Smarter Weather
Ce que fait ce MCP
Provides weather forecasts, observations, alerts, air quality, climate data, severe-weather analysis, maps, and gridded meteorological datasets.
Outils
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['locations', 'variables'], 'properties': {'hours': {'type': 'integer', 'default': 24, 'maximum': 168, 'minimum': 1, 'description': 'Forecast hours. Default 24.'}, 'locations': {'type': 'array', 'items': {'type': 'object', 'properties': {'lat': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'lon': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'label': {'type': 'string', 'description': 'Optional display label (e.g. "Denver warehouse").'}, 'location': {'type': 'string', 'description': 'Place name, ZIP, or "lat,lon" (e.g. "Denver", "Boulder, CO").'}}, 'additionalProperties': False}, 'maxItems': 10, 'minItems': 2, 'description': 'Locations to compare (2-10). Each takes location OR lat/lon, optional label.'}, 'variables': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 10, 'minItems': 1, 'description': 'Standard variable names (e.g. temperature_2m, precipitation).'}, 'dataset_id': {'type': 'string', 'maxLength': 80, 'minLength': 1, 'description': 'Dataset override. Default: auto-resolved NBM per location.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['variables', 'hours', 'comparisons'], 'properties': {'hours': {'type': 'number'}, 'variables': {'type': 'array', 'items': {'type': 'string'}}, 'comparisons': {'type': 'array', 'items': {'type': 'object', 'required': ['location'], 'properties': {'data': {'type': 'object', 'additionalProperties': {'type': 'array', 'items': {'type': ['number', 'null']}}}, 'location': {'type': 'object', 'required': ['lat', 'lon'], 'properties': {'lat': {'type': 'number'}, 'lon': {'type': 'number'}, 'name': {'type': 'string'}, 'label': {'type': 'string'}}, 'additionalProperties': False}, 'valid_times': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['dataset_id'], 'properties': {'dataset_id': {'type': 'string', 'maxLength': 80, 'minLength': 1, 'description': 'Pipeline dataset identifier (e.g. "nbm_conus", "mrms_reflectivity_conus"). Discover valid values with list_datasets; inspect variables with describe_dataset.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['dataset_id', 'detail'], 'properties': {'detail': {'type': 'object', 'additionalProperties': {}}, 'dataset_id': {'type': 'string'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['criteria'], 'properties': {'lat': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon.'}, 'lon': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian).'}, 'hours': {'type': 'integer', 'default': 72, 'maximum': 168, 'minimum': 1, 'description': 'Hours to search. Default 72.'}, 'units': {'enum': ['imperial', 'metric', 'si'], 'type': 'string', 'default': 'imperial', 'description': 'Unit system for all values in the request and response: imperial (°F, mph, inches), metric (°C, km/h, mm), or si (K, m/s, mm). Defaults to imperial.'}, 'activity': {'type': 'string', 'maxLength': 200, 'description': 'Free-form activity to rate the windows for (e.g. "afternoon golf"). Accepted even when rating is off so clients can send it.'}, 'criteria': {'type': 'object', 'properties': {'min_ceiling': {'type': 'number', 'description': 'Minimum cloud ceiling in the selected units (feet / m / m).'}, 'max_wind_gust': {'type': 'number', 'description': 'Maximum wind gust in the selected units (mph / km/h / m/s).'}, 'max_wind_speed': {'type': 'number', 'description': 'Maximum sustained wind in the selected units (mph / km/h / m/s).'}, 'min_visibility': {'type': 'number', 'description': 'Minimum visibility in the selected units (miles / km / m).'}, 'max_temperature': {'type': 'number', 'description': 'Maximum temperature in the selected units (°F / °C / K).'}, 'min_temperature': {'type': 'number', 'description': 'Minimum temperature in the selected units (°F / °C / K).'}, 'max_precipitation_probability': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'Maximum acceptable precipitation probability (0-100%).'}}, 'description': 'Weather criteria defining acceptable conditions (all optional).', 'additionalProperties': False}, 'location': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Free-text place: city ("Denver"), city+state ("Portland, OR"), US ZIP ("50219"), or "lat,lon" ("39.74,-104.99"). Provide either this OR explicit lat+lon, not both.'}, 'daylight_only': {'type': 'boolean', 'default': True, 'description': 'Only consider daylight hours (sunrise to sunset). Default true.'}, 'activity_duration_hours': {'type': 'integer', 'default': 2, 'maximum': 24, 'minimum': 1, 'description': 'Minimum consecutive hours meeting criteria. Default 2.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['location', 'units', 'windows', 'criteria_applied', 'daylight_only', 'activity_duration_hours'], 'properties': {'units': {'type': 'string'}, 'message': {'type': 'string'}, 'windows': {'type': 'array', 'items': {'type': 'object', 'required': ['start', 'end', 'hours'], 'properties': {'end': {'type': 'string'}, 'hours': {'type': 'number'}, 'start': {'type': 'string'}, 'rating': {'enum': ['unworkable', 'poor', 'workable', 'good', 'ideal'], 'type': 'string'}, 'limiting_factor': {'enum': ['wind', 'precip', 'temperature', 'visibility', 'storms', 'none'], 'type': 'string'}}, 'additionalProperties': False}}, 'location': {'type': 'object', 'required': ['lat', 'lon'], 'properties': {'lat': {'type': 'number'}, 'lon': {'type': 'number'}, 'name': {'type': 'string'}}, 'additionalProperties': False}, 'sun_times': {'type': 'array', 'items': {'type': 'object', 'required': ['sunrise', 'sunset'], 'properties': {'sunset': {'type': 'string'}, 'sunrise': {'type': 'string'}}, 'additionalProperties': False}}, 'daylight_only': {'type': 'boolean'}, 'criteria_applied': {'type': 'object', 'additionalProperties': {}}, 'activity_duration_hours': {'type': 'number'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'lat': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon.'}, 'lon': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian).'}, 'location': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Free-text place: city ("Denver"), city+state ("Portland, OR"), US ZIP ("50219"), or "lat,lon" ("39.74,-104.99"). Provide either this OR explicit lat+lon, not both.'}, 'pollutants': {'type': 'array', 'items': {'enum': ['aqi', 'pm25', 'ozone', 'pm10'], 'type': 'string'}, 'default': ['aqi'], 'description': 'Which measurements to return. aqi = combined AQI index. Default: ["aqi"].'}, 'include_forecast': {'type': 'boolean', 'default': False, 'description': 'Also return the AirNow next-day AQI forecast.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['location', 'current'], 'properties': {'widget': {'type': 'object', 'required': ['spec', 'entries'], 'properties': {'spec': {'type': 'string', 'const': 'sw-ui-spec'}, 'entries': {'type': 'array', 'items': {'type': 'object', 'required': ['component', 'props'], 'properties': {'props': {'type': 'object', 'additionalProperties': {}}, 'component': {'type': 'string'}}, 'additionalProperties': False}}}, 'description': 'sw-ui-spec widget block rendered by the MCP Apps weather widget (ui://weather-widget/v1/index.html). Additive; safe to ignore.', 'additionalProperties': False}, 'current': {'type': 'array', 'items': {'type': 'object', 'required': ['dataset_id', 'valid_times', 'data'], 'properties': {'data': {'type': 'object', 'additionalProperties': {'type': 'array', 'items': {'type': ['number', 'null']}}}, 'dataset_id': {'type': 'string'}, 'valid_times': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'forecast': {'type': 'array', 'items': {'type': 'object', 'required': ['dataset_id', 'valid_times', 'data'], 'properties': {'data': {'type': 'object', 'additionalProperties': {'type': 'array', 'items': {'type': ['number', 'null']}}}, 'dataset_id': {'type': 'string'}, 'valid_times': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'location': {'type': 'object', 'required': ['lat', 'lon'], 'properties': {'lat': {'type': 'number'}, 'lon': {'type': 'number'}, 'name': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'at': {'type': 'string', 'description': 'ISO-8601 UTC past instant for the in-effect snapshot. Ignored with alert_id.'}, 'lat': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon.'}, 'lon': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian).'}, 'bbox': {'type': 'object', 'required': ['west', 'south', 'east', 'north'], 'properties': {'east': {'$ref': '#/properties/lon'}, 'west': {'$ref': '#/properties/lon'}, 'north': {'$ref': '#/properties/lat'}, 'south': {'$ref': '#/properties/lat'}}, 'description': 'Bounding box {west,south,east,north}. Skips geocoding; intersecting polygons.', 'additionalProperties': False}, 'events': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Optional event-name filter, e.g. ["Tornado Warning"].'}, 'alert_id': {'type': 'string', 'description': 'Alert identifier for detail mode. When set, location is ignored.'}, 'location': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Free-text place: city ("Denver"), city+state ("Portland, OR"), US ZIP ("50219"), or "lat,lon" ("39.74,-104.99"). Provide either this OR explicit lat+lon, not both.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'alert': {'type': 'object', 'additionalProperties': {}}, 'alerts': {}, 'widget': {'type': 'object', 'required': ['spec', 'entries'], 'properties': {'spec': {'type': 'string', 'const': 'sw-ui-spec'}, 'entries': {'type': 'array', 'items': {'type': 'object', 'required': ['component', 'props'], 'properties': {'props': {'type': 'object', 'additionalProperties': {}}, 'component': {'type': 'string'}}, 'additionalProperties': False}}}, 'description': 'sw-ui-spec widget block rendered by the MCP Apps weather widget (ui://weather-widget/v1/index.html). Additive; safe to ignore.', 'additionalProperties': False}, 'alert_id': {'type': 'string'}, 'location': {'type': 'object', 'properties': {'lat': {'type': 'number'}, 'lon': {'type': 'number'}, 'name': {'type': 'string'}}, 'additionalProperties': False}, 'valid_time': {'type': 'string', 'description': 'Echo of at when an as-of snapshot was requested.'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['lat', 'lon'], 'properties': {'end': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Inclusive range end as YYYY-MM-DD. Must be supplied with start.'}, 'lat': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon.'}, 'lon': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian).'}, 'days': {'type': 'integer', 'maximum': 366, 'minimum': 1, 'description': 'Range length in days when start/end are omitted; the window opens today (default 14).'}, 'unit': {'enum': ['imperial', 'metric'], 'type': 'string', 'description': 'Unit system for the normals. Default imperial (°F).'}, 'start': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Inclusive range start as YYYY-MM-DD. Must be supplied with end.'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['type'], 'properties': {'end': {'type': 'string', 'description': 'Range end date, YYYY-MM-DD.'}, 'wfo': {'type': 'string', 'maxLength': 4, 'minLength': 3, 'description': 'WFO office filter (e.g. DMX, OUN).'}, 'date': {'type': 'string', 'description': 'Single date, YYYY-MM-DD.'}, 'type': {'enum': ['reports', 'records'], 'type': 'string', 'description': 'reports = CLI daily climate reports; records = RER record events.'}, 'hours': {'type': 'integer', 'maximum': 168, 'minimum': 1, 'description': 'Lookback window in hours (1-168) when no date/range is given.'}, 'start': {'type': 'string', 'description': 'Range start date, YYYY-MM-DD.'}, 'station': {'type': 'string', 'description': 'Station identifier filter (reports only).'}, 'record_type': {'type': 'string', 'description': 'Record type filter (records only), e.g. HIGH, LOW, RAIN.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['type', 'results'], 'properties': {'type': {'type': 'string'}, 'results': {'type': 'object', 'additionalProperties': {}}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'lat': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon.'}, 'lon': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian).'}, 'location': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Free-text place: city ("Denver"), city+state ("Portland, OR"), US ZIP ("50219"), or "lat,lon" ("39.74,-104.99"). Provide either this OR explicit lat+lon, not both.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['location', 'analysis', 'nearest_station'], 'properties': {'analysis': {'anyOf': [{'type': 'object', 'required': ['dataset_id', 'valid_times', 'data'], 'properties': {'data': {'type': 'object', 'additionalProperties': {'type': 'array', 'items': {'type': ['number', 'null']}}}, 'dataset_id': {'type': 'string'}, 'valid_times': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, {'type': 'null'}]}, 'location': {'type': 'object', 'required': ['lat', 'lon'], 'properties': {'lat': {'type': 'number'}, 'lon': {'type': 'number'}, 'name': {'type': 'string'}}, 'additionalProperties': False}, 'nearest_station': {'anyOf': [{'type': 'object', 'additionalProperties': {}}, {'type': 'null'}]}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'lat': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon.'}, 'lon': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian).'}, 'days': {'type': 'integer', 'default': 10, 'maximum': 14, 'minimum': 1, 'description': 'Number of forecast days (1-14). Default 10.'}, 'units': {'enum': ['imperial', 'metric', 'si'], 'type': 'string', 'default': 'imperial', 'description': 'Unit system for all values in the request and response: imperial (°F, mph, inches), metric (°C, km/h, mm), or si (K, m/s, mm). Defaults to imperial.'}, 'include': {'type': 'string', 'default': 'current,daily,alerts,outlooks', 'description': 'Comma-separated sections: current, daily, hourly, alerts, outlooks. Default "current,daily,alerts,outlooks". Use get_hourly_forecast for hourly detail.'}, 'location': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Free-text place: city ("Denver"), city+state ("Portland, OR"), US ZIP ("50219"), or "lat,lon" ("39.74,-104.99"). Provide either this OR explicit lat+lon, not both.'}, 'detail_level': {'enum': ['standard', 'detailed'], 'type': 'string', 'default': 'standard', 'description': 'standard: compact response (~5-10KB); daily includes day_precip_probability / night_precip_probability when available (precip_probability is max of day/night). detailed: also preserves CAPE, UV, full day/night period objects, extra hourly fields (~12-20KB).'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['location', 'units', 'forecast'], 'properties': {'units': {'type': 'string'}, 'widget': {'type': 'object', 'required': ['spec', 'entries'], 'properties': {'spec': {'type': 'string', 'const': 'sw-ui-spec'}, 'entries': {'type': 'array', 'items': {'type': 'object', 'required': ['component', 'props'], 'properties': {'props': {'type': 'object', 'additionalProperties': {}}, 'component': {'type': 'string'}}, 'additionalProperties': False}}}, 'description': 'sw-ui-spec widget block rendered by the MCP Apps weather widget (ui://weather-widget/v1/index.html). Additive; safe to ignore.', 'additionalProperties': False}, 'forecast': {'type': 'object', 'additionalProperties': {}}, 'location': {'type': 'object', 'required': ['lat', 'lon'], 'properties': {'lat': {'type': 'number'}, 'lon': {'type': 'number'}, 'name': {'type': 'string'}}, 'additionalProperties': False}, 'data_status': {'type': 'object', 'description': 'Present only when the platform reports degraded/outage data sources: overall state, a caveat note, and the affected sources. Absent means no advisory was available -- not a freshness guarantee. See get_platform_status for the full document.', 'additionalProperties': {}}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['type'], 'properties': {'day': {'type': 'integer', 'default': 1, 'maximum': 8, 'minimum': 1, 'description': 'Outlook day for type=swo or type=fwd (1-8). Ignored for the other types; WPC files ERO days 1-3 under one product.'}, 'lat': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon.'}, 'lon': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian).'}, 'wfo': {'type': 'string', 'maxLength': 4, 'minLength': 3, 'description': 'WFO identifier override (e.g. BOU). Default: resolved from the location.'}, 'type': {'enum': ['afd', 'hwo', 'now', 'fwf', 'hls', 'esf', 'mcd', 'mpd', 'swo', 'fwd', 'ero', 'tcd', 'tcp', 'tcm', 'twd', 'two', 'pmd', 'pwo'], 'type': 'string', 'description': 'Product type: afd (WFO discussion), hwo (hazard outlook), now (short-term NOW), fwf/hls/esf (local WFO), mcd (SPC mesoscale), mpd (WPC precipitation discussion), swo (SPC convective outlook), fwd (SPC fire weather), ero (WPC excessive rainfall), tcd/tcp/tcm/twd/two (NHC tropical text; two is text TWO not GIS), pmd (desk discussion), pwo (SPC public outlook).'}, 'limit': {'type': 'integer', 'default': 1, 'maximum': 10, 'minimum': 1, 'description': 'Number of recent products (1-10). Default 1 (latest).'}, 'awips_id': {'type': 'string', 'maxLength': 12, 'minLength': 3, 'description': 'Full AWIPS identifier (e.g. TCDAT1, PMDSPD). More specific than type + location. Exact source_ref match.'}, 'location': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Free-text place: city ("Denver"), city+state ("Portland, OR"), US ZIP ("50219"), or "lat,lon" ("39.74,-104.99"). Provide either this OR explicit lat+lon, not both.'}, 'summary_only': {'type': 'boolean', 'default': False, 'description': 'Return only the LLM summary + sections, omitting the full body text.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['type', 'products'], 'properties': {'type': {'type': 'string'}, 'location': {'type': 'object', 'required': ['lat', 'lon'], 'properties': {'lat': {'type': 'number'}, 'lon': {'type': 'number'}, 'name': {'type': 'string'}}, 'additionalProperties': False}, 'products': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {}}}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['aspect'], 'properties': {'lat': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon.'}, 'lon': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian).'}, 'hours': {'type': 'integer', 'maximum': 264, 'minimum': 1, 'description': 'Forecast hours (1-264). Default varies by aspect (48-72).'}, 'aspect': {'enum': ['precip', 'snow', 'ice', 'temperature', 'wind', 'severe', 'aviation', 'confidence'], 'type': 'string', 'description': 'Which distribution family to return (see tool description).'}, 'location': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Free-text place: city ("Denver"), city+state ("Portland, OR"), US ZIP ("50219"), or "lat,lon" ("39.74,-104.99"). Provide either this OR explicit lat+lon, not both.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['location', 'aspect', 'hours', 'series'], 'properties': {'hours': {'type': 'number'}, 'aspect': {'enum': ['precip', 'snow', 'ice', 'temperature', 'wind', 'severe', 'aviation', 'confidence'], 'type': 'string'}, 'series': {'type': 'array', 'items': {'type': 'object', 'required': ['dataset_id', 'valid_times', 'data'], 'properties': {'data': {'type': 'object', 'additionalProperties': {'type': 'array', 'items': {'type': ['number', 'null']}}}, 'dataset_id': {'type': 'string'}, 'valid_times': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'location': {'type': 'object', 'required': ['lat', 'lon'], 'properties': {'lat': {'type': 'number'}, 'lon': {'type': 'number'}, 'name': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'lat': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon.'}, 'lon': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian).'}, 'unit': {'enum': ['imperial', 'metric', 'si'], 'type': 'string', 'description': 'Units for the error magnitudes. Default imperial (bias/MAE/RMSE in °F, mph, in).'}, 'model': {'type': 'string', 'description': 'Narrow to one model, e.g. nbm or rrfs.'}, 'truth': {'type': 'string', 'description': 'Measure against a named truth source instead of the default one for each variable, e.g. urma. Only pass this if the user asked which analysis was used or named one; the default is already the designated source, and the analyses disagree, so switching changes the numbers.'}, 'regime': {'type': 'string', 'description': 'Ask for a track record measured only under particular conditions, as a comma-separated preference chain, most specific first, e.g. "SCN1:WINDY,SEA:JJA". SEA: is the meteorological season (DJF, MAM, JJA, SON); SCN1: is a forecast-conditioned scenario (WINDY, WET, QUIET â\x80\x94 mutually exclusive within the family); JC1: is a circulation pattern. The most specific tier with enough observations answers and the unconditioned record is the last resort, so this never empties a result the way truth does -- it degrades. Read the regime field on each entry to see which tier actually answered. Pass this when the question is conditional ("is it worse in winter", "how does it do when the model shows windy"); omit it otherwise, since conditioned tiers are thinner and slower to earn numbers.'}, 'location': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Free-text place: city ("Denver"), city+state ("Portland, OR"), US ZIP ("50219"), or "lat,lon" ("39.74,-104.99"). Provide either this OR explicit lat+lon, not both.'}, 'variable': {'type': 'string', 'description': 'Narrow to one variable, e.g. temperature_2m, dew_point_2m, wind_speed_10m, wind_gusts_10m, wind_vector_10m, cloud_cover, precipitation, precipitation_probability, or a thresholded rain event such as precipitation_gt_0p254mm (any measurable rain) or precipitation_gt_2p54mm. Omit for everything measured at the location.'}, 'lead_hours': {'type': 'integer', 'minimum': 1, 'description': 'Narrow to the lead time being asked about, in hours; the containing lead bucket is selected for you (60 gives the 48-72h bucket). Use the lead of the forecast you are qualifying: ~24 for tomorrow, ~72 for three days out. Never approximated -- a lead we have not verified returns no entries rather than a nearby bucket, so an empty result means we cannot speak to that range.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['location', 'units', 'minimumSamples', 'tracked', 'skill', 'insufficientHistory'], 'properties': {'cells': {'type': 'object', 'additionalProperties': {'type': 'string'}}, 'skill': {'type': 'array', 'items': {'type': 'object', 'required': ['model', 'variable', 'leadBucketHours', 'scope', 'metric'], 'properties': {'unit': {'type': 'string'}, 'model': {'type': 'string'}, 'scope': {'enum': ['point', 'neighborhood', 'region'], 'type': 'string'}, 'truth': {'type': 'string'}, 'metric': {'type': 'string'}, 'regime': {'type': 'string'}, 'vector': {'type': 'object', 'required': ['samples', 'vectorRmse'], 'properties': {'samples': {'type': 'number'}, 'skillScore': {'type': ['number', 'null']}, 'vectorRmse': {'type': 'number'}, 'persistenceSkillScore': {'type': ['number', 'null']}, 'analysisDisagreementMae': {'type': ['number', 'null']}, 'analysisDisagreementSamples': {'type': ['number', 'null']}}, 'additionalProperties': False}, 'variable': {'type': 'string'}, 'continuous': {'type': 'object', 'required': ['samples', 'bias', 'mae', 'rmse', 'meanObserved', 'observedVariance'], 'properties': {'mae': {'type': 'number'}, 'bias': {'type': 'number'}, 'rmse': {'type': 'number'}, 'samples': {'type': 'number'}, 'skillScore': {'type': ['number', 'null']}, 'meanObserved': {'type': 'number'}, 'observedVariance': {'type': 'number'}, 'persistenceSkillScore': {'type': ['number', 'null']}, 'analysisDisagreementMae': {'type': ['number', 'null']}, 'analysisDisagreementSamples': {'type': ['number', 'null']}}, 'additionalProperties': False}, 'categorical': {'type': 'object', 'required': ['samples', 'thresholdMm', 'hits', 'misses', 'falseAlarms', 'correctNegatives', 'baseRate'], 'properties': {'csi': {'type': ['number', 'null']}, 'ets': {'type': ['number', 'null']}, 'far': {'type': ['number', 'null']}, 'pod': {'type': ['number', 'null']}, 'hits': {'type': 'number'}, 'misses': {'type': 'number'}, 'samples': {'type': 'number'}, 'baseRate': {'type': 'number'}, 'falseAlarms': {'type': 'number'}, 'thresholdMm': {'type': 'number'}, 'baseVariable': {'type': 'string'}, 'frequencyBias': {'type': ['number', 'null']}, 'correctNegatives': {'type': 'number'}}, 'additionalProperties': False}, 'probabilistic': {'type': 'object', 'required': ['samples', 'brier', 'baseRate', 'reliability'], 'properties': {'brier': {'type': 'number'}, 'samples': {'type': 'number'}, 'baseRate': {'type': 'number'}, 'skillScore': {'type': ['number', 'null']}, 'reliability': {'type': 'array', 'items': {'type': 'object', 'required': ['bin', 'samples', 'meanForecast', 'observedFrequency'], 'properties': {'bin': {'type': 'number'}, 'samples': {'type': 'number'}, 'meanForecast': {'type': 'number'}, 'observedFrequency': {'type': 'number'}}, 'additionalProperties': False}}}, 'additionalProperties': False}, 'leadBucketHours': {'type': 'number'}}, 'additionalProperties': True}}, 'units': {'type': 'string'}, 'tracked': {'type': 'boolean', 'description': 'Whether this exact coordinate is one the verification pipeline tracks.'}, 'location': {'type': 'object', 'required': ['lat', 'lon'], 'properties': {'lat': {'type': 'number'}, 'lon': {'type': 'number'}, 'name': {'type': 'string'}}, 'additionalProperties': False}, 'minimumSamples': {'type': 'number'}, 'insufficientHistory': {'type': 'array', 'items': {'type': 'object', 'required': ['model', 'variable', 'leadBucketHours', 'scope', 'samples'], 'properties': {'model': {'type': 'string'}, 'scope': {'enum': ['point', 'neighborhood', 'region'], 'type': 'string'}, 'truth': {'type': 'string'}, 'regime': {'type': 'string'}, 'samples': {'type': 'number'}, 'variable': {'type': 'string'}, 'leadBucketHours': {'type': 'number'}}, 'additionalProperties': True}}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['bbox', 'model', 'variable', 'lead_hours'], 'properties': {'bbox': {'type': 'object', 'required': ['west', 'south', 'east', 'north'], 'properties': {'east': {'$ref': '#/properties/bbox/properties/west'}, 'west': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian).'}, 'north': {'$ref': '#/properties/bbox/properties/south'}, 'south': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon.'}}, 'description': 'Bounding box {west,south,east,north}. Hexes whose H3 center falls inside are returned.', 'additionalProperties': False}, 'model': {'type': 'string', 'description': 'Model id, e.g. nbm, gfs, hrrr, or rrfs.'}, 'domain': {'type': 'string', 'description': 'Optional domain (conus, alaska, hawaii). Omit unless you already know it.'}, 'variable': {'type': 'string', 'description': 'Verified variable, e.g. temperature_2m, dew_point_2m, precipitation, or precipitation_gt_0p254mm.'}, 'lead_hours': {'type': 'integer', 'minimum': 1, 'description': 'Lead time in hours; the containing published bucket is selected. Never approximated.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['generated_at', 'atom_resolution', 'minimum_samples', 'bbox', 'slices'], 'properties': {'bbox': {'type': 'object', 'required': ['west', 'south', 'east', 'north'], 'properties': {'east': {'$ref': '#/properties/bbox/properties/west'}, 'west': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian).'}, 'north': {'$ref': '#/properties/bbox/properties/south'}, 'south': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon.'}}, 'additionalProperties': False}, 'slices': {'type': 'array', 'items': {'type': 'object', 'required': ['model', 'domain', 'variable', 'lead_bucket_hours', 'metric', 'truth', 'cells', 'withheld'], 'properties': {'cells': {'type': 'array', 'items': {'type': 'array', 'items': {}}}, 'model': {'type': 'string'}, 'truth': {'type': 'string'}, 'domain': {'type': 'string'}, 'metric': {'type': 'string'}, 'variable': {'type': 'string'}, 'withheld': {'type': 'array', 'items': {'type': 'array', 'items': {}}}, 'threshold_mm': {'type': 'number'}, 'base_variable': {'type': 'string'}, 'lead_bucket_hours': {'type': 'number'}}, 'additionalProperties': True}}, 'generated_at': {'type': 'string'}, 'atom_resolution': {'type': 'number'}, 'minimum_samples': {'type': 'number'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['lat', 'lon', 'crop'], 'properties': {'lat': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon.'}, 'lon': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian).'}, 'crop': {'type': 'string', 'description': 'Crop id from the catalog (e.g. "corn", "soybean", "wheat") or "custom" to supply your own thresholds via base_temp_c.'}, 'days': {'type': 'integer', 'maximum': 30, 'minimum': 1, 'description': 'Forecast horizon in days (default 10).'}, 'unit': {'enum': ['imperial', 'metric'], 'type': 'string', 'description': 'Unit system for GDU + temps. Default imperial (°F-days).'}, 'method': {'enum': ['simple', 'modified'], 'type': 'string', 'description': 'GDU method for custom crops. Defaults from whether upper_temp_c is set.'}, 'base_temp_c': {'type': 'number', 'description': 'Custom base threshold in °C. Required when crop="custom".'}, 'season_start': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Season/planting start as YYYY-MM-DD (local date). Presence switches the response to a cumulative season-to-date GDU total. Must be within the ~180-day observed window.'}, 'upper_temp_c': {'type': 'number', 'description': 'Custom upper cutoff in °C (enables the modified method). Optional.'}, 'day_definition': {'enum': ['nws', 'local_calendar'], 'type': 'string', 'description': 'Daily boundary: "nws" (default; NBM MaxT/MinT period extremes) or "local_calendar" (midnight-to-midnight local day).'}, 'include_milestones': {'type': 'boolean', 'description': "Include the crop's growth-stage GDU milestones in the response."}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'lat': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon.'}, 'lon': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian).'}, 'days': {'type': 'integer', 'default': 2, 'maximum': 7, 'minimum': 1, 'description': 'Days of hourly data (1-7). Default 2. Widened when hours_to reaches further.'}, 'units': {'enum': ['imperial', 'metric', 'si'], 'type': 'string', 'default': 'imperial', 'description': 'Unit system for all values in the request and response: imperial (°F, mph, inches), metric (°C, km/h, mm), or si (K, m/s, mm). Defaults to imperial.'}, 'hours_to': {'type': 'integer', 'maximum': 168, 'minimum': 1, 'description': 'Window end, in hours from now, exclusive. 36 to 48 is hours 36-47.'}, 'location': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Free-text place: city ("Denver"), city+state ("Portland, OR"), US ZIP ("50219"), or "lat,lon" ("39.74,-104.99"). Provide either this OR explicit lat+lon, not both.'}, 'hours_from': {'type': 'integer', 'maximum': 168, 'minimum': 0, 'description': 'Window start, in hours from now (0 = the current hour).'}, 'detail_level': {'enum': ['standard', 'detailed'], 'type': 'string', 'default': 'standard', 'description': 'standard: compact hourly data (sampled past 24h). detailed: preserves CAPE, ceiling, UV, gust, thunderstorm probability for the first 48h.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['location', 'units', 'forecast'], 'properties': {'units': {'type': 'string'}, 'widget': {'type': 'object', 'required': ['spec', 'entries'], 'properties': {'spec': {'type': 'string', 'const': 'sw-ui-spec'}, 'entries': {'type': 'array', 'items': {'type': 'object', 'required': ['component', 'props'], 'properties': {'props': {'type': 'object', 'additionalProperties': {}}, 'component': {'type': 'string'}}, 'additionalProperties': False}}}, 'description': 'sw-ui-spec widget block rendered by the MCP Apps weather widget (ui://weather-widget/v1/index.html). Additive; safe to ignore.', 'additionalProperties': False}, 'forecast': {'type': 'object', 'additionalProperties': {}}, 'location': {'type': 'object', 'required': ['lat', 'lon'], 'properties': {'lat': {'type': 'number'}, 'lon': {'type': 'number'}, 'name': {'type': 'string'}}, 'additionalProperties': False}, 'data_status': {'type': 'object', 'description': 'Present only when the platform reports degraded/outage data sources: overall state, a caveat note, and the affected sources. Absent means no advisory was available -- not a freshness guarantee. See get_platform_status for the full document.', 'additionalProperties': {}}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'lat': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon.'}, 'lon': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian).'}, 'location': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Free-text place: city ("Denver"), city+state ("Portland, OR"), US ZIP ("50219"), or "lat,lon" ("39.74,-104.99"). Provide either this OR explicit lat+lon, not both.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['location', 'scope', 'lightning'], 'properties': {'scope': {'type': 'string', 'description': 'Area and time window searched, so a zero count is unambiguous to report.'}, 'location': {'type': 'object', 'required': ['lat', 'lon'], 'properties': {'lat': {'type': 'number'}, 'lon': {'type': 'number'}, 'name': {'type': 'string'}}, 'additionalProperties': False}, 'lightning': {'type': 'object', 'additionalProperties': {}}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'lat': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon.'}, 'lon': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian).'}, 'time': {'type': 'integer', 'description': 'Unix seconds; closest frame (default: latest). Forecasts honor future times.'}, 'zoom': {'type': 'number', 'default': 7, 'maximum': 14, 'minimum': 2, 'description': 'Map zoom (simple form)'}, 'scene': {'type': 'object', 'description': 'Full scene document (composed form). When set, product/location/zoom are ignored.', 'additionalProperties': {}}, 'width': {'type': 'integer', 'default': 720, 'maximum': 2000, 'minimum': 300}, 'height': {'type': 'integer', 'default': 440, 'maximum': 2000, 'minimum': 200}, 'opacity': {'type': 'number', 'maximum': 1, 'minimum': 0, 'description': 'Weather layer opacity'}, 'product': {'type': 'string', 'description': 'viz-catalog product_id or nexrad_l3:{SITE}:{KEY} (simple form)'}, 'location': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Free-text place: city ("Denver"), city+state ("Portland, OR"), US ZIP ("50219"), or "lat,lon" ("39.74,-104.99"). Provide either this OR explicit lat+lon, not both.'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'n': {'type': 'integer', 'default': 1, 'maximum': 10, 'minimum': 1, 'description': 'Number of nearest stations (1-10). Default 1. Ignored in station mode.'}, 'lat': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon.'}, 'lon': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian).'}, 'hours': {'type': 'integer', 'maximum': 24, 'minimum': 1, 'description': 'Hours of history in station mode (1-24).'}, 'station': {'type': 'string', 'maxLength': 4, 'minLength': 3, 'description': 'ICAO station identifier (e.g. KJFK). Switches to station-history mode.'}, 'location': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Free-text place: city ("Denver"), city+state ("Portland, OR"), US ZIP ("50219"), or "lat,lon" ("39.74,-104.99"). Provide either this OR explicit lat+lon, not both.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['observations'], 'properties': {'station': {'type': 'string'}, 'location': {'type': 'object', 'required': ['lat', 'lon'], 'properties': {'lat': {'type': 'number'}, 'lon': {'type': 'number'}, 'name': {'type': 'string'}}, 'additionalProperties': False}, 'observations': {'type': 'object', 'additionalProperties': {}}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'day': {'type': 'integer', 'default': 1, 'maximum': 8, 'minimum': 1, 'description': 'Outlook day for the narrative filter (1-8). Default 1.'}, 'lat': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon.'}, 'lon': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian).'}, 'hazard': {'enum': ['severe', 'fire', 'rain', 'heat'], 'type': 'string', 'default': 'severe', 'description': 'Hazard family: severe = SPC convective, fire = SPC fire weather, rain = WPC excessive rainfall, heat = NWS HeatRisk index. (Winter/WSSI is a planned expansion.)'}, 'location': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Free-text place: city ("Denver"), city+state ("Portland, OR"), US ZIP ("50219"), or "lat,lon" ("39.74,-104.99"). Provide either this OR explicit lat+lon, not both.'}, 'include_narrative': {'type': 'boolean', 'default': False, 'description': 'Include the forecaster narrative for the requested day (severe, fire, and rain).'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['location', 'hazard', 'day', 'outlooks'], 'properties': {'day': {'type': 'number'}, 'hazard': {'type': 'string'}, 'location': {'type': 'object', 'required': ['lat', 'lon'], 'properties': {'lat': {'type': 'number'}, 'lon': {'type': 'number'}, 'name': {'type': 'string'}}, 'additionalProperties': False}, 'outlooks': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {}}}, 'heat_risk': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {}}}, 'narrative': {'anyOf': [{'type': 'object', 'additionalProperties': {}}, {'type': 'null'}]}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['geometry'], 'properties': {'classes': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Optional civic classes: airport, station, hospital, school, university, library, museum, stadium, cemetery, place_of_worship, camp_site, golf, attraction.'}, 'geometry': {'type': 'object', 'required': ['type', 'coordinates'], 'properties': {'type': {'enum': ['Polygon', 'MultiPolygon'], 'type': 'string'}, 'coordinates': {'type': 'array'}}, 'description': 'GeoJSON Polygon or MultiPolygon. Clip national outlooks first.', 'additionalProperties': False}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['counts', 'features'], 'properties': {'counts': {'type': 'object', 'additionalProperties': {'type': 'number'}}, 'features': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'class'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'class': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['variable', 'periods'], 'properties': {'lat': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon.'}, 'lon': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian).'}, 'units': {'enum': ['imperial', 'metric', 'si'], 'type': 'string', 'default': 'imperial', 'description': 'Unit system for all values in the request and response: imperial (°F, mph, inches), metric (°C, km/h, mm), or si (K, m/s, mm). Defaults to imperial.'}, 'periods': {'type': 'array', 'items': {'type': 'object', 'required': ['start', 'end'], 'properties': {'end': {'type': 'string', 'description': 'ISO 8601 end time'}, 'label': {'type': 'string', 'description': 'Human label, e.g. "Today", "Tomorrow"'}, 'start': {'type': 'string', 'description': 'ISO 8601 start time'}}, 'additionalProperties': False}, 'maxItems': 14, 'minItems': 1, 'description': 'Time periods to aggregate over (1-14).'}, 'location': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Free-text place: city ("Denver"), city+state ("Portland, OR"), US ZIP ("50219"), or "lat,lon" ("39.74,-104.99"). Provide either this OR explicit lat+lon, not both.'}, 'variable': {'type': 'string', 'description': 'Standard variable name (e.g. precipitation, snowfall, temperature_2m, wind_speed_10m, cape).'}, 'dataset_id': {'type': 'string', 'maxLength': 80, 'minLength': 1, 'description': 'Dataset override. Default: auto-resolved NBM for the location.'}, 'aggregation': {'enum': ['sum', 'max', 'min', 'avg'], 'type': 'string', 'default': 'sum', 'description': 'Aggregation function. Default sum. Use sum for precipitation/snowfall, max for temperature/wind, min for low temperatures, avg for humidity/cloud cover.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['location', 'variable', 'aggregation', 'periods'], 'properties': {'message': {'type': 'string'}, 'periods': {'type': 'array', 'items': {'type': 'object', 'required': ['start', 'end', 'value', 'unit', 'hours_included'], 'properties': {'end': {'type': 'string'}, 'unit': {'type': 'string'}, 'label': {'type': 'string'}, 'start': {'type': 'string'}, 'value': {'type': 'number'}, 'hours_included': {'type': 'number'}}, 'additionalProperties': False}}, 'location': {'type': 'object', 'required': ['lat', 'lon'], 'properties': {'lat': {'type': 'number'}, 'lon': {'type': 'number'}, 'name': {'type': 'string'}}, 'additionalProperties': False}, 'variable': {'type': 'string'}, 'aggregation': {'type': 'string'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'include_ok': {'type': 'boolean', 'default': False, 'description': 'true: list every monitored source including healthy ones. false (default): only sources that are not ok, keeping the response compact.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['overall'], 'properties': {'note': {'type': 'string'}, 'overall': {'enum': ['ok', 'degraded', 'outage', 'no_signal', 'unknown'], 'type': 'string', 'description': 'Worst state across customer-facing data sources; "unknown" when status is unavailable.'}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['source_id', 'state'], 'properties': {'name': {'type': 'string'}, 'state': {'enum': ['ok', 'degraded', 'outage', 'no_signal'], 'type': 'string'}, 'warming': {'type': 'boolean', 'description': 'true when no_signal only means monitoring is still warming up (not an outage).'}, 'incident': {'type': 'object', 'properties': {'cause': {'type': 'string'}, 'since': {'type': ['string', 'number']}, 'status': {'type': 'string'}}, 'additionalProperties': True}, 'severity': {'type': 'string'}, 'source_id': {'type': 'string'}, 'provider_id': {'type': 'string'}}, 'additionalProperties': True}}, 'advisories': {'type': 'array', 'items': {'type': 'object', 'properties': {'url': {'type': 'string'}, 'title': {'type': 'string'}, 'provider_id': {'type': 'string'}, 'published_at': {'type': 'string'}}, 'additionalProperties': True}}, 'generated_at': {'type': 'string', 'description': 'When the status document was generated (UTC).'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'hazard': {'enum': ['heat'], 'type': 'string', 'description': 'Hazard family (expands the day-1..3 product set). Currently: heat (HeatRisk).'}, 'min_level': {'type': 'integer', 'default': 1, 'maximum': 5, 'minimum': 1, 'description': 'Minimum risk level to count (>=). Default 1 (any elevated risk).'}, 'product_id': {'type': 'string', 'description': 'Explicit risk-zone product ID (overrides hazard), e.g. heatrisk_day1_conus.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['min_level', 'summaries'], 'properties': {'min_level': {'type': 'number'}, 'summaries': {'type': 'array', 'items': {'type': 'object', 'required': ['product_id'], 'properties': {'error': {'type': 'string'}, 'population': {'type': 'number'}, 'product_id': {'type': 'string'}, 'valid_time': {'type': 'string'}, 'feature_count': {'type': 'number'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'n': {'type': 'integer', 'default': 1, 'maximum': 5, 'minimum': 1, 'description': 'Number of nearest soundings (1-5). Default 1.'}, 'lat': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon.'}, 'lon': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian).'}, 'location': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Free-text place: city ("Denver"), city+state ("Portland, OR"), US ZIP ("50219"), or "lat,lon" ("39.74,-104.99"). Provide either this OR explicit lat+lon, not both.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['location', 'soundings'], 'properties': {'location': {'type': 'object', 'required': ['lat', 'lon'], 'properties': {'lat': {'type': 'number'}, 'lon': {'type': 'number'}, 'name': {'type': 'string'}}, 'additionalProperties': False}, 'soundings': {'type': 'object', 'additionalProperties': {}}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'lat': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon.'}, 'lon': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian).'}, 'unit': {'enum': ['fahrenheit', 'celsius'], 'type': 'string', 'default': 'fahrenheit', 'description': 'Temperature axis display unit'}, 'scale': {'type': 'number', 'default': 2, 'maximum': 3, 'minimum': 1, 'description': 'Raster scale factor (2 = retina; higher = larger image payload)'}, 'location': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Free-text place: city ("Denver"), city+state ("Portland, OR"), US ZIP ("50219"), or "lat,lon" ("39.74,-104.99"). Provide either this OR explicit lat+lon, not both.'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'lat': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon.'}, 'lon': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian).'}, 'include': {'type': 'array', 'items': {'enum': ['tracks', 'hail_index', 'mesocyclone', 'tvs'], 'type': 'string'}, 'default': ['tracks', 'hail_index', 'mesocyclone', 'tvs'], 'description': 'Which detection families to include. Default: all.'}, 'location': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Free-text place: city ("Denver"), city+state ("Portland, OR"), US ZIP ("50219"), or "lat,lon" ("39.74,-104.99"). Provide either this OR explicit lat+lon, not both.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['location', 'summary', 'detections'], 'properties': {'tracks': {'type': 'object', 'additionalProperties': {}}, 'summary': {'type': 'string', 'description': 'Ready-to-use one-liner. States explicitly when nothing was detected.'}, 'location': {'type': 'object', 'required': ['lat', 'lon'], 'properties': {'lat': {'type': 'number'}, 'lon': {'type': 'number'}, 'name': {'type': 'string'}}, 'additionalProperties': False}, 'detections': {'type': 'object', 'additionalProperties': {}}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'lat': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon.'}, 'lon': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian).'}, 'type': {'type': 'string', 'description': 'Report type filter: T=tornado, H=hail, W=wind, F=flood, D=damage, S=snow.'}, 'hours': {'type': 'integer', 'default': 6, 'maximum': 24, 'minimum': 1, 'description': 'Lookback window in hours (1-24). Default 6.'}, 'location': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Free-text place: city ("Denver"), city+state ("Portland, OR"), US ZIP ("50219"), or "lat,lon" ("39.74,-104.99"). Provide either this OR explicit lat+lon, not both.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['location', 'hours', 'reports'], 'properties': {'hours': {'type': 'number'}, 'reports': {'type': 'object', 'additionalProperties': {}}, 'location': {'type': 'object', 'required': ['lat', 'lon'], 'properties': {'lat': {'type': 'number'}, 'lon': {'type': 'number'}, 'name': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'lat': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon.'}, 'lon': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian).'}, 'location': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Free-text place: city ("Denver"), city+state ("Portland, OR"), US ZIP ("50219"), or "lat,lon" ("39.74,-104.99"). Provide either this OR explicit lat+lon, not both.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['location', 'current_time', 'daylight', 'moon', 'calendar'], 'properties': {'moon': {'type': 'object', 'additionalProperties': {}}, 'calendar': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {}}}, 'daylight': {'type': 'object', 'additionalProperties': {}}, 'location': {'type': 'object', 'required': ['lat', 'lon'], 'properties': {'lat': {'type': 'number'}, 'lon': {'type': 'number'}, 'name': {'type': 'string'}}, 'additionalProperties': False}, 'current_time': {'type': 'object', 'additionalProperties': {}}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'include_geometry': {'type': 'boolean', 'default': False, 'description': 'Include full GeoJSON geometries (cone/track polygons). Default false.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['active', 'feature_count', 'features'], 'properties': {'active': {'type': 'boolean'}, 'features': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {}}}, 'feature_count': {'type': 'number'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'kind': {'enum': ['vdm', 'hdob', 'all'], 'type': 'string', 'default': 'vdm', 'description': 'vdm = vortex fixes; hdob = flight-level obs; all = both. Default vdm.'}, 'hours': {'type': 'integer', 'default': 24, 'maximum': 72, 'minimum': 1, 'description': 'Lookback window in hours (1-72). Default 24.'}, 'storm': {'type': 'string', 'maxLength': 32, 'description': 'ATCF id (al14) or storm name (polo). Unnumbered USAF missions never match.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['active', 'storms', 'feature_count', 'truncated', 'features'], 'properties': {'active': {'type': 'boolean'}, 'storms': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {}}}, 'features': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {}}}, 'truncated': {'type': 'boolean'}, 'feature_count': {'type': 'number'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'lat': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon.'}, 'lon': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian).'}, 'location': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Free-text place: city ("Denver"), city+state ("Portland, OR"), US ZIP ("50219"), or "lat,lon" ("39.74,-104.99"). Provide either this OR explicit lat+lon, not both.'}, 'include_freshness': {'type': 'boolean', 'default': True, 'description': 'Include per-dataset data age and run times. Default true.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['location', 'datasets'], 'properties': {'datasets': {'type': 'object', 'additionalProperties': {}}, 'location': {'type': 'object', 'required': ['lat', 'lon'], 'properties': {'lat': {'type': 'number'}, 'lon': {'type': 'number'}, 'name': {'type': 'string'}}, 'additionalProperties': False}, 'freshness': {'type': 'object', 'additionalProperties': {}}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['variables'], 'properties': {'lat': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon.'}, 'lon': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian).'}, 'hours': {'type': 'integer', 'maximum': 264, 'minimum': 1, 'description': 'Forecast/lookahead hours from now (1-264). Default 24 when no other time mode set.'}, 'latest': {'type': 'boolean', 'default': False, 'description': 'Return only the most recent value (analysis datasets like RTMA/MRMS).'}, 'location': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Free-text place: city ("Denver"), city+state ("Portland, OR"), US ZIP ("50219"), or "lat,lon" ("39.74,-104.99"). Provide either this OR explicit lat+lon, not both.'}, 'time_end': {'type': 'string', 'description': 'ISO 8601 window end (with time_start).'}, 'variables': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 20, 'minItems': 1, 'description': 'Standard variable names (e.g. temperature_2m, precipitation). Discover with describe_dataset.'}, 'dataset_id': {'type': 'string', 'maxLength': 80, 'minLength': 1, 'description': 'Dataset to query. Default: the NBM dataset for the location domain (nbm_conus/nbm_alaska/nbm_hawaii). Discover options with list_datasets.'}, 'time_start': {'type': 'string', 'description': 'ISO 8601 window start (with time_end).'}, 'reference_time': {'type': 'string', 'description': 'Pin a specific model run (ISO 8601). Default: latest run.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['location', 'series'], 'properties': {'series': {'type': 'array', 'items': {'type': 'object', 'required': ['dataset_id', 'valid_times', 'data'], 'properties': {'data': {'type': 'object', 'additionalProperties': {'type': 'array', 'items': {'type': ['number', 'null']}}}, 'dataset_id': {'type': 'string'}, 'valid_times': {'type': 'array', 'items': {'type': 'string'}}, 'reference_time': {'type': 'string', 'description': 'Model run behind every value in this series.'}, 'reference_times': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Distinct runs, when this series mixes more than one.'}}, 'additionalProperties': False}}, 'location': {'type': 'object', 'required': ['lat', 'lon'], 'properties': {'lat': {'type': 'number'}, 'lon': {'type': 'number'}, 'name': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon.'}, 'lon': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian).'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['lat', 'lon', 'place'], 'properties': {'lat': {'type': 'number'}, 'lon': {'type': 'number'}, 'place': {'type': 'object', 'properties': {'city': {'type': 'string'}, 'state': {'type': 'string'}, 'county': {'type': 'string'}, 'timezone': {'type': 'string'}, 'nearest_city': {'type': 'string'}}, 'additionalProperties': True}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'fuzzy': {'type': 'boolean', 'default': False, 'description': 'Autosuggest mode for partial/misspelled input. Default false (exact search).'}, 'limit': {'type': 'integer', 'default': 5, 'maximum': 10, 'minimum': 1, 'description': 'Maximum candidates to return (1-10). Default 5.'}, 'query': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Place query: city, "city, state", ZIP, or partial text with fuzzy=true.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query', 'candidates'], 'properties': {'query': {'type': 'string'}, 'candidates': {'type': 'array', 'items': {'type': 'object', 'properties': {'lat': {'type': ['number', 'null']}, 'lon': {'type': ['number', 'null']}, 'zip': {'type': 'string'}, 'name': {'type': 'string'}, 'type': {'type': 'string'}, 'state': {'type': 'string'}, 'place_id': {'type': 'string'}, 'timezone': {'type': 'string'}}, 'additionalProperties': True}}}, 'additionalProperties': False}
Modifications récentes des outils
Serveurs MCP similaires
UK Environmental Intelligence MCP Server from MCPBundles
Provides UK environmental intelligence covering flood warnings, river and groundwater readings, bathing water quality, ecology ob…
Meteoswiss
Discovers and searches Swiss weather stations and federal geospatial datasets from MeteoSwiss and swisstopo, with links to data a…
Global Forest Watch
Browses and queries Global Forest Watch datasets covering forest loss and gain, alerts, fires, carbon, protected areas and relate…
Global Fishing Watch
Searches Global Fishing Watch vessel identities and AIS-derived events, and aggregates apparent fishing effort by location, date,…
DeepMap AI -- Earth Grounding
Provides evidence-backed, location-specific information on water availability, ground stability, seismic and space-weather hazard…
Atlas Data Exchange
Discovers, samples, evaluates, purchases, and monitors spatial datasets covering infrastructure, hazards, logistics, commodities,…
MAD Synapse · World
Provides geocoding, weather, exchange rates, holidays, time-zone conversion, astronomical data, country facts, and earthquake inf…
DeepPVMapper
Queries and aggregates a French registry of rooftop solar detections, including locations, estimated capacity, imagery validation…