Smarter Weather
Qué hace este MCP
Provides weather forecasts, observations, alerts, air quality, climate data, severe-weather analysis, maps, and gridded meteorological datasets.
Herramientas
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['type', 'results'], 'properties': {'type': {'type': 'string'}, 'results': {'type': 'object', 'additionalProperties': {}}}, 'additionalProperties': False}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Cambios recientes en herramientas
Servidores MCP similares
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…