Skip to main content
Glama

Criora: climate & disaster risk for any place

Natural disasters and warnings in a country, a region or the world

list_hazards
Read-onlyIdempotent

Disasters, hazards and official warnings across a country, a region (bbox) or the whole world, most severe first by the Criora Risk Index (severity_rank) beside the issuer's own level: wildfires, earthquakes, tsunamis, tropical cyclones, floods, eruptions, volcano alert levels, ash clouds, droughts, weather warnings and air quality.

Use for "what is happening in Japan", "which red warnings are in force in Europe", "the strongest earthquakes this week" (days 7), what happened in a country over recent days (days, up to 30). Near one place: get_hazards_near. A country holds an event by its point. For the whole world the answer opens with the Earth's pulse (earth_pulse), one figure for "how dangerous is the world today".

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "list_hazards"
  }
}

Input Schema

NameRequiredDescriptionDefault
bboxNoA region as [west, south, east, north] in degrees; across 180, give east past 180 ([120, -50, 300, 30])
daysNoEvery event active in the last N days, 1 to 30, each marked current or over; for this week, 7. Omitted, only what is current now, which drops most earthquakes a day to four days after they struck
kindsNoOnly occurrences, warnings or statuses; all of them when omitted
limitNoHow many events to list
countryNoOnly events in this country or territory: its ISO 3166-1 alpha-3 code (e.g. JPN, PRI) or its name
event_typesNoOnly these types of event; every type when omitted
min_severityNoOnly events at least this severe; every severity when omitted
response_formatNoconcise (default) answers the question; detailed adds every field the sources giveconcise

Output Schema

NameRequiredDescriptionDefault
dataYes
scopeYes
totalYes
creditYes
listedYes
periodYes
coverageNo
truncatedNo
data_as_ofYes
earth_pulseNo
generated_atYes
counts_by_kindYes
counts_by_typeYes
severity_versionYes
counts_by_severityYes
methodology_versionYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedOutput schema / $defs / HazardEvent / properties / awaits_confirmation
      Added value: +{
      +  "type": [
      +    "boolean",
      +    "null"
      +  ]
      +}
    • addedOutput schema / $defs / HazardEvent / properties / reasons
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {
      +        "enum": [
      +          "reading",
      +          "official_level",
      +          "people",
      +          "awaits_confirmation"
      +        ],
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • changedOutput schema / $defs / HazardEvent / required
      Previous value: -[
      -  "id",
      -  "type",
      -  "lat",
      -  "lon",
      -  "label",
      -  "severity",
      -  "event_date",
      -  "source",
      -  "confidence",
      -  "severity_rank",
      -  "trend"
      -]New value: +[
      +  "id",
      +  "type",
      +  "lat",
      +  "lon",
      +  "label",
      +  "severity_rank",
      +  "severity",
      +  "event_date",
      +  "source",
      +  "confidence",
      +  "trend"
      +]
  2. Changed231 schema fields changed
    • removedOutput schema / $defs / BuildingValue / additionalProperties
      Removed value: -true
    • removedOutput schema / $defs / BuildingValue / properties / currency / description
      Removed value: -"EUR"
    • removedOutput schema / $defs / BuildingValue / properties / non_residential / description
      Removed value: -"Workplaces, shops, industry, services and their contents"
    • removedOutput schema / $defs / BuildingValue / properties / residential / description
      Removed value: -"Homes and household contents"
    • removedOutput schema / $defs / BuildingValue / properties / total_high / description
      Removed value: -"The high end of the two's total"
    • removedOutput schema / $defs / BuildingValue / properties / total_low / description
      Removed value: -"The low end of the two's total: its cost per square metre alone reads so"
    • removedOutput schema / $defs / Coverage / additionalProperties
      Removed value: -true
    • removedOutput schema / $defs / Coverage / properties / sources / description
      Removed value: -"Every source that reports there"
    • removedOutput schema / $defs / Coverage / properties / volcano_levels / description
      Removed value: -"Whether a volcano observatory's alert levels reach Criora there; false means a volcano is known only by its eruptions as reported, not by its standing level"
    • removedOutput schema / $defs / Coverage / properties / warnings / description
      Removed value: -"Whether any official warnings feed covers it; false means no authority's warnings reach Criora there"
    • removedOutput schema / $defs / CoveringSource / additionalProperties
      Removed value: -true
    • removedOutput schema / $defs / CoveringSource / properties / last_read / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / CoveringSource / properties / last_read / default
      Removed value: -null
    • removedOutput schema / $defs / CoveringSource / properties / last_read / description
      Removed value: -"When it was last read whole; null if never. Detailed only"
    • addedOutput schema / $defs / CoveringSource / properties / last_read / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / CoveringSource / properties / name / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / CoveringSource / properties / name / default
      Removed value: -null
    • removedOutput schema / $defs / CoveringSource / properties / name / description
      Removed value: -"Detailed only"
    • addedOutput schema / $defs / CoveringSource / properties / name / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / CoveringSource / properties / status / description
      Removed value: -"silent: its last runs failed, since last_read"
    • removedOutput schema / $defs / CoveringSource / properties / types / default
      Removed value: -null
    • removedOutput schema / $defs / CoveringSource / properties / types / description
      Removed value: -"The hazards it reports. Detailed only"
    • removedOutput schema / $defs / CoveringSource / properties / warnings / anyOf
      Removed value: -[
      -  {
      -    "type": "boolean"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / CoveringSource / properties / warnings / default
      Removed value: -null
    • removedOutput schema / $defs / CoveringSource / properties / warnings / description
      Removed value: -"Whether it reports an authority's warnings rather than what is happening. Detailed only"
    • addedOutput schema / $defs / CoveringSource / properties / warnings / type
      Added value: +[
      +  "boolean",
      +  "null"
      +]
    • removedOutput schema / $defs / Credit / additionalProperties
      Removed value: -true
    • removedOutput schema / $defs / Credit / properties / attribution / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / Credit / properties / attribution / default
      Removed value: -null
    • removedOutput schema / $defs / Credit / properties / attribution / description
      Removed value: -"The credit the licence asks for when it is retold"
    • addedOutput schema / $defs / Credit / properties / attribution / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / Credit / properties / licence / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / Credit / properties / licence / default
      Removed value: -null
    • addedOutput schema / $defs / Credit / properties / licence / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / Credit / properties / name / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / Credit / properties / name / default
      Removed value: -null
    • removedOutput schema / $defs / Credit / properties / name / description
      Removed value: -"The feed's name as it is cited"
    • addedOutput schema / $defs / Credit / properties / name / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / EarthPulse / additionalProperties
      Removed value: -true
    • removedOutput schema / $defs / EarthPulse / properties / at / description
      Removed value: -"When it was read"
    • removedOutput schema / $defs / EarthPulse / properties / driver / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / EarthPulse / properties / driver / description
      Removed value: -"The event that weighs most in it now"
    • addedOutput schema / $defs / EarthPulse / properties / driver / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / EarthPulse / properties / level / description
      Removed value: -"very_low, low, medium, high or critical"
    • removedOutput schema / $defs / EarthPulse / properties / meaning / description
      Removed value: -"What the scale's two ends stand for"
    • removedOutput schema / $defs / EarthPulse / properties / people / description
      Removed value: -"People in the zone of events their issuers rate moderate or above"
    • removedOutput schema / $defs / EarthPulse / properties / pulse_url / description
      Removed value: -"The page that explains the figure"
    • removedOutput schema / $defs / EarthPulse / properties / strongest_30_days / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / EarthPulse / properties / strongest_30_days / description
      Removed value: -"The strongest event of the last 30 days"
    • addedOutput schema / $defs / EarthPulse / properties / strongest_30_days / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / EarthPulse / properties / value / description
      Removed value: -"0 to 100, read on a logarithm of the people within reach of events now"
    • removedOutput schema / $defs / EventPlace / additionalProperties
      Removed value: -true
    • removedOutput schema / $defs / EventPlace / properties / admin1 / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / EventPlace / properties / admin1 / default
      Removed value: -null
    • removedOutput schema / $defs / EventPlace / properties / admin1 / description
      Removed value: -"Its region"
    • addedOutput schema / $defs / EventPlace / properties / admin1 / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / EventPlace / properties / country / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / EventPlace / properties / country / default
      Removed value: -null
    • addedOutput schema / $defs / EventPlace / properties / country / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / EventPlace / properties / distance_km / description
      Removed value: -"From the event to the place"
    • removedOutput schema / $defs / EventPlace / properties / iso3 / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / EventPlace / properties / iso3 / default
      Removed value: -null
    • addedOutput schema / $defs / EventPlace / properties / iso3 / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / EventPlace / properties / population / anyOf
      Removed value: -[
      -  {
      -    "type": "integer"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / EventPlace / properties / population / default
      Removed value: -null
    • addedOutput schema / $defs / EventPlace / properties / population / type
      Added value: +[
      +  "integer",
      +  "null"
      +]
    • removedOutput schema / $defs / HazardEvent / additionalProperties
      Removed value: -true
    • removedOutput schema / $defs / HazardEvent / properties / active_at / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / HazardEvent / properties / active_at / default
      Removed value: -null
    • removedOutput schema / $defs / HazardEvent / properties / active_at / description
      Removed value: -"The latest moment the source reports it active"
    • addedOutput schema / $defs / HazardEvent / properties / active_at / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / HazardEvent / properties / areas / anyOf
      Removed value: -[
      -  {
      -    "type": "integer"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / HazardEvent / properties / areas / default
      Removed value: -null
    • removedOutput schema / $defs / HazardEvent / properties / areas / description
      Removed value: -"Concise only: how many areas one warning covers, where its issuer files one for each"
    • addedOutput schema / $defs / HazardEvent / properties / areas / type
      Added value: +[
      +  "integer",
      +  "null"
      +]
    • removedOutput schema / $defs / HazardEvent / properties / bounds / default
      Removed value: -null
    • removedOutput schema / $defs / HazardEvent / properties / bounds / description
      Removed value: -"The area's box as [west, south, east, north], a bbox for list_hazards; east is below west across 180. Null for a record with no area. Detailed only"
    • removedOutput schema / $defs / HazardEvent / properties / building_value / default
      Removed value: -null
    • removedOutput schema / $defs / HazardEvent / properties / building_value / description
      Removed value: -"Replacement cost of the buildings and contents inside the footprint (GHS-BUILT-V 2025 priced by country), indicative and not market value; null until counted. Detailed only"
    • removedOutput schema / $defs / HazardEvent / properties / confidence / description
      Removed value: -"confirmed (an authority, or two independent sources agree), single_source, preliminary (a first automatic solution, revised within the hour) or modelled (a forecast model's, never graded above medium for air quality)"
    • removedOutput schema / $defs / HazardEvent / properties / country_name / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / HazardEvent / properties / country_name / default
      Removed value: -null
    • addedOutput schema / $defs / HazardEvent / properties / country_name / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / HazardEvent / properties / current / anyOf
      Removed value: -[
      -  {
      -    "type": "boolean"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / HazardEvent / properties / current / default
      Removed value: -null
    • removedOutput schema / $defs / HazardEvent / properties / current / description
      Removed value: -"Given only when days asks for past events: true while the event is still going on or in force, false for one that was active in those days and is over"
    • addedOutput schema / $defs / HazardEvent / properties / current / type
      Added value: +[
      +  "boolean",
      +  "null"
      +]
    • removedOutput schema / $defs / HazardEvent / properties / expires_at / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / HazardEvent / properties / expires_at / default
      Removed value: -null
    • removedOutput schema / $defs / HazardEvent / properties / expires_at / description
      Removed value: -"When the source says it ends; null when it states none"
    • addedOutput schema / $defs / HazardEvent / properties / expires_at / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / HazardEvent / properties / footprint / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / HazardEvent / properties / footprint / default
      Removed value: -null
    • removedOutput schema / $defs / HazardEvent / properties / footprint / description
      Removed value: -"What drew the footprint people are counted in: area (the record's own), gdacs (GDACS's shape for the episode), shaking (the ground a quake shakes hard enough to damage buildings), detections, burned_area, vent, station"
    • addedOutput schema / $defs / HazardEvent / properties / footprint / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / HazardEvent / properties / headline / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / HazardEvent / properties / headline / default
      Removed value: -null
    • removedOutput schema / $defs / HazardEvent / properties / headline / description
      Removed value: -"What to tell first: a warning's headline as its issuer wrote it, else the event's label and where it is; the concise form gives it only where the issuer wrote one"
    • addedOutput schema / $defs / HazardEvent / properties / headline / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / HazardEvent / properties / issued_at / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / HazardEvent / properties / issued_at / default
      Removed value: -null
    • removedOutput schema / $defs / HazardEvent / properties / issued_at / description
      Removed value: -"When the source issued this record"
    • addedOutput schema / $defs / HazardEvent / properties / issued_at / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / HazardEvent / properties / issuer_text / default
      Removed value: -null
    • removedOutput schema / $defs / HazardEvent / properties / issuer_text / description
      Removed value: -"A warning's headline, description and instruction as the issuing service published them for the public, attributed to its sender. Null when the source gives none"
    • removedOutput schema / $defs / HazardEvent / properties / kind / default
      Removed value: -"occurrence"
    • removedOutput schema / $defs / HazardEvent / properties / kind / description
      Removed value: -"occurrence (something happening), warning (an authority's message about an area) or status (a standing state, such as a volcano's alert level raised above normal)"
    • removedOutput schema / $defs / HazardEvent / properties / local_context / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / HazardEvent / properties / local_context / default
      Removed value: -null
    • removedOutput schema / $defs / HazardEvent / properties / local_context / description
      Removed value: -"Where the event is, in words: its distance from the place that best locates it (the nearest town, or a bigger city a little further), and that place's population"
    • addedOutput schema / $defs / HazardEvent / properties / local_context / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / HazardEvent / properties / metadata / anyOf
      Removed value: -[
      -  {
      -    "additionalProperties": true,
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / HazardEvent / properties / metadata / default
      Removed value: -null
    • removedOutput schema / $defs / HazardEvent / properties / metadata / description
      Removed value: -"What the source says beyond the value. A USGS earthquake carries depth_km, magnitude_type, felt_reports (Did You Feel It? reports), cdi and mmi (felt and ShakeMap intensity), pager_alert and review_status; an EMSC earthquake depth_km, magnitude_type, emsc_felt_reports (felt reports people sent EMSC), contributor (the agency whose solution it is) and region; a NOAA tsunami bulletin its centre, magnitude, origin_time and depth_km; an NHC or JTWC storm its max_wind_kt (1-minute), pressure_mb and movement, JTWC's also jtwc_warning (the warning's number), jtwc_synoptic_at, jtwc_position_accuracy_nm and jtwc_wind_radii_nm (the reach of 34, 50 and 64 kt winds); a JMA storm its max_wind_kt_10min (JMA's 10-minute wind, never converted) and typhoon_number; a MeteoAlarm warning its awareness_level (yellow, orange, red) and awareness_type; an Environment Canada alert its alert_type (warning, watch, advisory, statement), colour, impact, forecast_confidence and event_end_at. Detailed only"
    • addedOutput schema / $defs / HazardEvent / properties / metadata / type
      Added value: +[
      +  "object",
      +  "null"
      +]
    • removedOutput schema / $defs / HazardEvent / properties / official_level / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / HazardEvent / properties / official_level / default
      Removed value: -null
    • removedOutput schema / $defs / HazardEvent / properties / official_level / description
      Removed value: -"The issuer's own level in its words and scale: a CAP severity (Severe), a MeteoAlarm, GDACS or USGS PAGER colour, a hurricane category, an AQI category. Null where the issuer gives none; severity is the class of Criora's rank beside it"
    • addedOutput schema / $defs / HazardEvent / properties / official_level / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / HazardEvent / properties / onset_at / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / HazardEvent / properties / onset_at / default
      Removed value: -null
    • removedOutput schema / $defs / HazardEvent / properties / onset_at / description
      Removed value: -"When a warned hazard begins"
    • addedOutput schema / $defs / HazardEvent / properties / onset_at / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / HazardEvent / properties / page_url / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / HazardEvent / properties / page_url / default
      Removed value: -null
    • removedOutput schema / $defs / HazardEvent / properties / page_url / description
      Removed value: -"The event's own permanent page on Criora, for a major event, to cite"
    • addedOutput schema / $defs / HazardEvent / properties / page_url / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / HazardEvent / properties / people / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / HazardEvent / properties / people / default
      Removed value: -null
    • removedOutput schema / $defs / HazardEvent / properties / people / description
      Removed value: -"People living inside the footprint (GHS-POP 2025), for a quake those in shaking that damages buildings, fewer than GDACS's or PAGER's counts of who felt it; null until counted or where none is drawn"
    • addedOutput schema / $defs / HazardEvent / properties / people / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / $defs / HazardEvent / properties / people_in_destructive_winds / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / HazardEvent / properties / people_in_destructive_winds / default
      Removed value: -null
    • removedOutput schema / $defs / HazardEvent / properties / people_in_destructive_winds / description
      Removed value: -"A cyclone's people within GDACS's winds of 120 km/h or more, the figure for who a storm threatens; people is everyone in its wider footprint. Null for any other event, or where GDACS draws no such winds"
    • addedOutput schema / $defs / HazardEvent / properties / people_in_destructive_winds / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / $defs / HazardEvent / properties / place / default
      Removed value: -null
    • removedOutput schema / $defs / HazardEvent / properties / place / description
      Removed value: -"The place that locates the event, the one local_context words"
    • removedOutput schema / $defs / HazardEvent / properties / provenance / default
      Removed value: -null
    • removedOutput schema / $defs / HazardEvent / properties / provenance / description
      Removed value: -"Each report the record holds: where it came from, who issued it and when; credit names its licence. Detailed only"
    • removedOutput schema / $defs / HazardEvent / properties / received_at / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / HazardEvent / properties / received_at / default
      Removed value: -null
    • removedOutput schema / $defs / HazardEvent / properties / received_at / description
      Removed value: -"Concise only: when Criora received the source's report"
    • addedOutput schema / $defs / HazardEvent / properties / received_at / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / HazardEvent / properties / sender / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / HazardEvent / properties / sender / default
      Removed value: -null
    • removedOutput schema / $defs / HazardEvent / properties / sender / description
      Removed value: -"The issuing authority, when the source relays many"
    • addedOutput schema / $defs / HazardEvent / properties / sender / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / HazardEvent / properties / severity / description
      Removed value: -"The class severity_rank falls in, critical, high, medium or low, which min_severity selects by"
    • removedOutput schema / $defs / HazardEvent / properties / severity_rank / description
      Removed value: -"Criora Severity, 0 to 100, comparable across hazards and versioned (severity_version): the official level on a common scale, the people inside its footprint and the reading's place among its type's. The official level is never replaced by it"
    • removedOutput schema / $defs / HazardEvent / properties / track / description
      Removed value: -"A moving event's positions, oldest first: kind observed where it was seen, forecast where the source expects it"
    • removedOutput schema / $defs / HazardEvent / properties / track / items / additionalProperties
      Removed value: -true
    • removedOutput schema / $defs / HazardEvent / properties / trend / description
      Removed value: -"upcoming (a warning whose hazard has not begun; onset_at says when it does), new (first received within its kind's recent window; a status, set within it), intensifying or weakening (against the last day's readings, by severity and, where the value is the issuer's estimate, by value), steady, or ended; a quake is never intensifying or weakening"
    • removedOutput schema / $defs / HazardEvent / properties / url / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / HazardEvent / properties / url / default
      Removed value: -null
    • removedOutput schema / $defs / HazardEvent / properties / url / description
      Removed value: -"Concise only: the page of the report the record was read from, to cite"
    • addedOutput schema / $defs / HazardEvent / properties / url / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / HazardEvent / properties / url_source / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / HazardEvent / properties / url_source / default
      Removed value: -null
    • removedOutput schema / $defs / HazardEvent / properties / url_source / description
      Removed value: -"Concise only: whose report `url` is, where it is not `source`'s"
    • addedOutput schema / $defs / HazardEvent / properties / url_source / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / HazardEvent / properties / value / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / HazardEvent / properties / value / default
      Removed value: -null
    • addedOutput schema / $defs / HazardEvent / properties / value / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / $defs / HazardEvent / properties / value_text / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / HazardEvent / properties / value_text / default
      Removed value: -null
    • addedOutput schema / $defs / HazardEvent / properties / value_text / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / HazardEvent / properties / value_unit / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / HazardEvent / properties / value_unit / default
      Removed value: -null
    • addedOutput schema / $defs / HazardEvent / properties / value_unit / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / HazardEvent / properties / why / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / HazardEvent / properties / why / default
      Removed value: -null
    • removedOutput schema / $defs / HazardEvent / properties / why / description
      Removed value: -"What set the severity, ready to retell: the reading, the issuer's level, the people and where they were counted (a quake's in shaking that damages buildings, not everyone who felt it)"
    • addedOutput schema / $defs / HazardEvent / properties / why / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / HazardScope / additionalProperties
      Removed value: -true
    • removedOutput schema / $defs / HazardScope / properties / bbox / default
      Removed value: -null
    • removedOutput schema / $defs / HazardScope / properties / bbox / description
      Removed value: -"West, south, east, north"
    • removedOutput schema / $defs / HazardScope / properties / iso3 / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / HazardScope / properties / iso3 / default
      Removed value: -null
    • addedOutput schema / $defs / HazardScope / properties / iso3 / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / HazardScope / properties / name / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / HazardScope / properties / name / default
      Removed value: -null
    • removedOutput schema / $defs / HazardScope / properties / name / description
      Removed value: -"The country's name"
    • addedOutput schema / $defs / HazardScope / properties / name / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / Provenance / additionalProperties
      Removed value: -true
    • removedOutput schema / $defs / Provenance / properties / confidence / description
      Removed value: -"confirmed, single_source, preliminary or modelled"
    • removedOutput schema / $defs / Provenance / properties / issued_at / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / Provenance / properties / issued_at / default
      Removed value: -null
    • removedOutput schema / $defs / Provenance / properties / issued_at / description
      Removed value: -"When the source issued it"
    • addedOutput schema / $defs / Provenance / properties / issued_at / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / Provenance / properties / official_level / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / Provenance / properties / official_level / default
      Removed value: -null
    • removedOutput schema / $defs / Provenance / properties / official_level / description
      Removed value: -"The issuer's own level, in its words"
    • addedOutput schema / $defs / Provenance / properties / official_level / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / Provenance / properties / received_at / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / Provenance / properties / received_at / default
      Removed value: -null
    • removedOutput schema / $defs / Provenance / properties / received_at / description
      Removed value: -"When Criora received this version of it; unknown for reports stored before 2026-10-18"
    • addedOutput schema / $defs / Provenance / properties / received_at / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / Provenance / properties / sender / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / Provenance / properties / sender / default
      Removed value: -null
    • removedOutput schema / $defs / Provenance / properties / sender / description
      Removed value: -"The issuing authority"
    • addedOutput schema / $defs / Provenance / properties / sender / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / Provenance / properties / source / description
      Removed value: -"The feed the report came through"
    • removedOutput schema / $defs / Provenance / properties / url / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / Provenance / properties / url / default
      Removed value: -null
    • removedOutput schema / $defs / Provenance / properties / url / description
      Removed value: -"The report's own page, where the source publishes one"
    • addedOutput schema / $defs / Provenance / properties / url / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / Truncated / description
      Removed value: -"Set when an answer was held under its size: the tail of its main list left out."
    • removedOutput schema / $defs / Truncated / properties / field / description
      Removed value: -"The answer's list that was cut"
    • removedOutput schema / $defs / Truncated / properties / left_out / description
      Removed value: -"How many of its entries, the least important, were left out"
    • removedOutput schema / $defs / Truncated / properties / left_out_names / default
      Removed value: -null
    • removedOutput schema / $defs / Truncated / properties / left_out_names / description
      Removed value: -"Each entry left out, where the list is not ordered by importance"
    • removedOutput schema / $defs / Truncated / properties / why / description
      Removed value: -"The limit, and how to ask for the rest"
    • removedOutput schema / additionalProperties
      Removed value: -true
    • removedOutput schema / properties / counts_by_kind / description
      Removed value: -"Every match, as occurrence, warning or status"
    • removedOutput schema / properties / counts_by_severity / description
      Removed value: -"Every match, by severity"
    • removedOutput schema / properties / counts_by_type / description
      Removed value: -"Every match, by type"
    • removedOutput schema / properties / coverage / default
      Removed value: -null
    • removedOutput schema / properties / coverage / description
      Removed value: -"For a country, what reports there and whether each source is reporting now"
    • removedOutput schema / properties / credit / description
      Removed value: -"How a retelling credits the answer: Source: Criora with a link to the page the answer is about, then each originator whose data it quotes in the words its licence asks for. Concise, each credit once; detailed, by source with its name and licence, criora first"
    • removedOutput schema / properties / data / description
      Removed value: -"The highest severity_rank first, then the most recently active"
    • removedOutput schema / properties / data_as_of / additionalProperties / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / data_as_of / additionalProperties / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / data_as_of / description
      Removed value: -"When each quoted source's feed was last read whole, by source; a reading can be older than this when the feed has not changed. Null for a source never read"
    • removedOutput schema / properties / earth_pulse / default
      Removed value: -null
    • removedOutput schema / properties / earth_pulse / description
      Removed value: -"For the whole world, one figure for the Earth now; null while it cannot be read"
    • removedOutput schema / properties / methodology_version / description
      Removed value: -"The methodology version the answer was made under"
    • removedOutput schema / properties / period / description
      Removed value: -"What the list covers in time: what is current now, or the last days asked"
    • removedOutput schema / properties / severity_version / description
      Removed value: -"The version of Criora Severity the ranks are"
    • removedOutput schema / properties / total / description
      Removed value: -"Every event that matched; data lists the first of them"
    • removedOutput schema / properties / truncated / default
      Removed value: -null
    • removedOutput schema / properties / truncated / description
      Removed value: -"Absent unless the answer was cut to fit"
  3. Changed2 schema fields changed
    • changedOutput schema / $defs / HazardEvent / properties / official_level / description
      Previous value: -"The issuer's own level in its words and scale: a CAP severity (Severe), a MeteoAlarm, GDACS or USGS PAGER colour, a hurricane category, an AQI category. Null where the issuer gives none; severity is Criora's grade beside it"New value: +"The issuer's own level in its words and scale: a CAP severity (Severe), a MeteoAlarm, GDACS or USGS PAGER colour, a hurricane category, an AQI category. Null where the issuer gives none; severity is the class of Criora's rank beside it"
    • addedOutput schema / $defs / HazardEvent / properties / severity / description
      Added value: +"The class severity_rank falls in, critical, high, medium or low, which min_severity selects by"
  4. Changed118 schema fields changed
    • removedInput schema / properties / bbox / anyOf
      Removed value: -[
      -  {
      -    "items": {
      -      "type": "number"
      -    },
      -    "maxItems": 4,
      -    "minItems": 4,
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / bbox / default
      Removed value: -null
    • changedInput schema / properties / bbox / description
      Previous value: -"A region as [west, south, east, north] in degrees. A region across 180 gives its east past 180, at any width ([120, -50, 300, 30] runs from 120 east across the Pacific to 60 west); west above east also crosses 180, for a region less than half the world across"New value: +"A region as [west, south, east, north] in degrees; across 180, give east past 180 ([120, -50, 300, 30])"
    • addedInput schema / properties / bbox / items
      Added value: +{
      +  "type": "number"
      +}
    • addedInput schema / properties / bbox / maxItems
      Added value: +4
    • addedInput schema / properties / bbox / minItems
      Added value: +4
    • removedInput schema / properties / bbox / title
      Removed value: -"Bbox"
    • addedInput schema / properties / bbox / type
      Added value: +"array"
    • removedInput schema / properties / country / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / country / default
      Removed value: -null
    • changedInput schema / properties / country / description
      Previous value: -"Only events in this country or territory: its ISO 3166-1 alpha-3 code (e.g. JPN, PRI) or its English name"New value: +"Only events in this country or territory: its ISO 3166-1 alpha-3 code (e.g. JPN, PRI) or its name"
    • removedInput schema / properties / country / title
      Removed value: -"Country"
    • addedInput schema / properties / country / type
      Added value: +"string"
    • removedInput schema / properties / days / anyOf
      Removed value: -[
      -  {
      -    "maximum": 30,
      -    "minimum": 1,
      -    "type": "integer"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / days / default
      Removed value: -null
    • changedInput schema / properties / days / description
      Previous value: -"Only events active in the last N days, 1 to 30; all current when omitted"New value: +"Every event active in the last N days, 1 to 30, each marked current or over; for this week, 7. Omitted, only what is current now, which drops most earthquakes a day to four days after they struck"
    • addedInput schema / properties / days / maximum
      Added value: +30
    • addedInput schema / properties / days / minimum
      Added value: +1
    • removedInput schema / properties / days / title
      Removed value: -"Days"
    • addedInput schema / properties / days / type
      Added value: +"integer"
    • removedInput schema / properties / event_types / anyOf
      Removed value: -[
      -  {
      -    "items": {
      -      "enum": [
      -        "wildfire",
      -        "earthquake",
      -        "flood",
      -        "cyclone",
      -        "volcano",
      -        "drought",
      -        "air_quality",
      -        "wind",
      -        "snow_ice",
      -        "thunderstorm",
      -        "fog",
      -        "heat",
      -        "cold",
      -        "coastal",
      -        "avalanche",
      -        "rain",
      -        "tsunami"
      -      ],
      -      "type": "string"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / event_types / default
      Removed value: -null
    • addedInput schema / properties / event_types / items
      Added value: +{
      +  "enum": [
      +    "wildfire",
      +    "earthquake",
      +    "flood",
      +    "cyclone",
      +    "volcano",
      +    "drought",
      +    "air_quality",
      +    "wind",
      +    "snow_ice",
      +    "thunderstorm",
      +    "fog",
      +    "heat",
      +    "cold",
      +    "coastal",
      +    "avalanche",
      +    "rain",
      +    "tsunami"
      +  ],
      +  "type": "string"
      +}
    • removedInput schema / properties / event_types / title
      Removed value: -"Event Types"
    • addedInput schema / properties / event_types / type
      Added value: +"array"
    • removedInput schema / properties / kinds / anyOf
      Removed value: -[
      -  {
      -    "items": {
      -      "enum": [
      -        "occurrence",
      -        "warning",
      -        "status"
      -      ],
      -      "type": "string"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / kinds / default
      Removed value: -null
    • addedInput schema / properties / kinds / items
      Added value: +{
      +  "enum": [
      +    "occurrence",
      +    "warning",
      +    "status"
      +  ],
      +  "type": "string"
      +}
    • removedInput schema / properties / kinds / title
      Removed value: -"Kinds"
    • addedInput schema / properties / kinds / type
      Added value: +"array"
    • removedInput schema / properties / limit / title
      Removed value: -"Limit"
    • removedInput schema / properties / min_severity / anyOf
      Removed value: -[
      -  {
      -    "enum": [
      -      "critical",
      -      "high",
      -      "medium",
      -      "low"
      -    ],
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / min_severity / default
      Removed value: -null
    • addedInput schema / properties / min_severity / enum
      Added value: +[
      +  "critical",
      +  "high",
      +  "medium",
      +  "low"
      +]
    • removedInput schema / properties / min_severity / title
      Removed value: -"Min Severity"
    • addedInput schema / properties / min_severity / type
      Added value: +"string"
    • addedInput schema / properties / response_format
      Added value: +{
      +  "default": "concise",
      +  "description": "concise (default) answers the question; detailed adds every field the sources give",
      +  "enum": [
      +    "concise",
      +    "detailed"
      +  ],
      +  "type": "string"
      +}
    • removedInput schema / title
      Removed value: -"list_hazardsArguments"
    • addedOutput schema / $defs / BuildingValue
      Added value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "currency": {
      +      "description": "EUR",
      +      "type": "string"
      +    },
      +    "non_residential": {
      +      "description": "Workplaces, shops, industry, services and their contents",
      +      "type": "number"
      +    },
      +    "residential": {
      +      "description": "Homes and household contents",
      +      "type": "number"
      +    },
      +    "total_high": {
      +      "description": "The high end of the two's total",
      +      "type": "number"
      +    },
      +    "total_low": {
      +      "description": "The low end of the two's total: its cost per square metre alone reads so",
      +      "type": "number"
      +    }
      +  },
      +  "required": [
      +    "currency",
      +    "residential",
      +    "non_residential",
      +    "total_low",
      +    "total_high"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / $defs / Coverage
      Added value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "sources": {
      +      "description": "Every source that reports there",
      +      "items": {
      +        "$ref": "#/$defs/CoveringSource"
      +      },
      +      "type": "array"
      +    },
      +    "volcano_levels": {
      +      "description": "Whether a volcano observatory's alert levels reach Criora there; false means a volcano is known only by its eruptions as reported, not by its standing level",
      +      "type": "boolean"
      +    },
      +    "warnings": {
      +      "description": "Whether any official warnings feed covers it; false means no authority's warnings reach Criora there",
      +      "type": "boolean"
      +    }
      +  },
      +  "required": [
      +    "warnings",
      +    "volcano_levels",
      +    "sources"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / $defs / CoveringSource
      Added value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "last_read": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "When it was last read whole; null if never. Detailed only"
      +    },
      +    "name": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Detailed only"
      +    },
      +    "source": {
      +      "type": "string"
      +    },
      +    "status": {
      +      "description": "silent: its last runs failed, since last_read",
      +      "enum": [
      +        "covered",
      +        "silent"
      +      ],
      +      "type": "string"
      +    },
      +    "types": {
      +      "anyOf": [
      +        {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "The hazards it reports. Detailed only"
      +    },
      +    "warnings": {
      +      "anyOf": [
      +        {
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Whether it reports an authority's warnings rather than what is happening. Detailed only"
      +    }
      +  },
      +  "required": [
      +    "source",
      +    "status"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / $defs / Credit
      Added value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "attribution": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "The credit the licence asks for when it is retold"
      +    },
      +    "licence": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null
      +    },
      +    "name": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "The feed's name as it is cited"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedOutput schema / $defs / EarthPulse
      Added value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "at": {
      +      "description": "When it was read",
      +      "type": "string"
      +    },
      +    "driver": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "The event that weighs most in it now"
      +    },
      +    "level": {
      +      "description": "very_low, low, medium, high or critical",
      +      "type": "string"
      +    },
      +    "meaning": {
      +      "description": "What the scale's two ends stand for",
      +      "type": "string"
      +    },
      +    "people": {
      +      "description": "People in the zone of events their issuers rate moderate or above",
      +      "type": "integer"
      +    },
      +    "pulse_url": {
      +      "description": "The page that explains the figure",
      +      "type": "string"
      +    },
      +    "strongest_30_days": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "The strongest event of the last 30 days"
      +    },
      +    "value": {
      +      "description": "0 to 100, read on a logarithm of the people within reach of events now",
      +      "type": "integer"
      +    }
      +  },
      +  "required": [
      +    "value",
      +    "level",
      +    "meaning",
      +    "people",
      +    "driver",
      +    "strongest_30_days",
      +    "at",
      +    "pulse_url"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / $defs / EventPlace
      Added value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "admin1": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Its region"
      +    },
      +    "country": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null
      +    },
      +    "distance_km": {
      +      "description": "From the event to the place",
      +      "type": "number"
      +    },
      +    "iso3": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null
      +    },
      +    "name": {
      +      "type": "string"
      +    },
      +    "population": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null
      +    }
      +  },
      +  "required": [
      +    "name",
      +    "distance_km"
      +  ],
      +  "type": "object"
      +}
    • removedOutput schema / $defs / HazardEvent / properties / active_at / title
      Removed value: -"Active At"
    • addedOutput schema / $defs / HazardEvent / properties / areas
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Concise only: how many areas one warning covers, where its issuer files one for each"
      +}
    • addedOutput schema / $defs / HazardEvent / properties / bounds
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {
      +        "type": "number"
      +      },
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "The area's box as [west, south, east, north], a bbox for list_hazards; east is below west across 180. Null for a record with no area. Detailed only"
      +}
    • addedOutput schema / $defs / HazardEvent / properties / building_value
      Added value: +{
      +  "anyOf": [
      +    {
      +      "$ref": "#/$defs/BuildingValue"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Replacement cost of the buildings and contents inside the footprint (GHS-BUILT-V 2025 priced by country), indicative and not market value; null until counted. Detailed only"
      +}
    • addedOutput schema / $defs / HazardEvent / properties / confidence
      Added value: +{
      +  "description": "confirmed (an authority, or two independent sources agree), single_source, preliminary (a first automatic solution, revised within the hour) or modelled (a forecast model's, never graded above medium for air quality)",
      +  "type": "string"
      +}
    • removedOutput schema / $defs / HazardEvent / properties / country_name / title
      Removed value: -"Country Name"
    • addedOutput schema / $defs / HazardEvent / properties / current
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "boolean"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Given only when days asks for past events: true while the event is still going on or in force, false for one that was active in those days and is over"
      +}
    • removedOutput schema / $defs / HazardEvent / properties / event_date / title
      Removed value: -"Event Date"
    • removedOutput schema / $defs / HazardEvent / properties / expires_at / title
      Removed value: -"Expires At"
    • addedOutput schema / $defs / HazardEvent / properties / footprint
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "What drew the footprint people are counted in: area (the record's own), gdacs (GDACS's shape for the episode), shaking (the ground a quake shakes hard enough to damage buildings), detections, burned_area, vent, station"
      +}
    • addedOutput schema / $defs / HazardEvent / properties / headline
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "What to tell first: a warning's headline as its issuer wrote it, else the event's label and where it is; the concise form gives it only where the issuer wrote one"
      +}
    • removedOutput schema / $defs / HazardEvent / properties / id / title
      Removed value: -"Id"
    • removedOutput schema / $defs / HazardEvent / properties / issued_at / title
      Removed value: -"Issued At"
    • removedOutput schema / $defs / HazardEvent / properties / issuer_text / title
      Removed value: -"Issuer Text"
    • changedOutput schema / $defs / HazardEvent / properties / kind / description
      Previous value: -"occurrence (something happening), warning (an authority's message about an area) or status"New value: +"occurrence (something happening), warning (an authority's message about an area) or status (a standing state, such as a volcano's alert level raised above normal)"
    • removedOutput schema / $defs / HazardEvent / properties / kind / title
      Removed value: -"Kind"
    • removedOutput schema / $defs / HazardEvent / properties / label / title
      Removed value: -"Label"
    • removedOutput schema / $defs / HazardEvent / properties / lat / title
      Removed value: -"Lat"
    • addedOutput schema / $defs / HazardEvent / properties / local_context
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Where the event is, in words: its distance from the place that best locates it (the nearest town, or a bigger city a little further), and that place's population"
      +}
    • removedOutput schema / $defs / HazardEvent / properties / lon / title
      Removed value: -"Lon"
    • removedOutput schema / $defs / HazardEvent / properties / metadata / additionalProperties
      Removed value: -true
    • addedOutput schema / $defs / HazardEvent / properties / metadata / anyOf
      Added value: +[
      +  {
      +    "additionalProperties": true,
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / $defs / HazardEvent / properties / metadata / default
      Added value: +null
    • changedOutput schema / $defs / HazardEvent / properties / metadata / description
      Previous value: -"What the source says beyond the value. A USGS earthquake carries depth_km, magnitude_type, felt_reports (Did You Feel It? reports), cdi and mmi (felt and ShakeMap intensity), pager_alert and review_status; a NOAA tsunami bulletin its centre, magnitude, origin_time and depth_km; an NHC storm its max_wind_kt, pressure_mb and movement; a MeteoAlarm warning its awareness_level (yellow, orange, red) and awareness_type"New value: +"What the source says beyond the value. A USGS earthquake carries depth_km, magnitude_type, felt_reports (Did You Feel It? reports), cdi and mmi (felt and ShakeMap intensity), pager_alert and review_status; an EMSC earthquake depth_km, magnitude_type, emsc_felt_reports (felt reports people sent EMSC), contributor (the agency whose solution it is) and region; a NOAA tsunami bulletin its centre, magnitude, origin_time and depth_km; an NHC or JTWC storm its max_wind_kt (1-minute), pressure_mb and movement, JTWC's also jtwc_warning (the warning's number), jtwc_synoptic_at, jtwc_position_accuracy_nm and jtwc_wind_radii_nm (the reach of 34, 50 and 64 kt winds); a JMA storm its max_wind_kt_10min (JMA's 10-minute wind, never converted) and typhoon_number; a MeteoAlarm warning its awareness_level (yellow, orange, red) and awareness_type; an Environment Canada alert its alert_type (warning, watch, advisory, statement), colour, impact, forecast_confidence and event_end_at. Detailed only"
    • removedOutput schema / $defs / HazardEvent / properties / metadata / title
      Removed value: -"Metadata"
    • removedOutput schema / $defs / HazardEvent / properties / metadata / type
      Removed value: -"object"
    • addedOutput schema / $defs / HazardEvent / properties / official_level
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "The issuer's own level in its words and scale: a CAP severity (Severe), a MeteoAlarm, GDACS or USGS PAGER colour, a hurricane category, an AQI category. Null where the issuer gives none; severity is Criora's grade beside it"
      +}
    • removedOutput schema / $defs / HazardEvent / properties / onset_at / title
      Removed value: -"Onset At"
    • addedOutput schema / $defs / HazardEvent / properties / page_url
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "The event's own permanent page on Criora, for a major event, to cite"
      +}
    • addedOutput schema / $defs / HazardEvent / properties / people
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "People living inside the footprint (GHS-POP 2025), for a quake those in shaking that damages buildings, fewer than GDACS's or PAGER's counts of who felt it; null until counted or where none is drawn"
      +}
    • addedOutput schema / $defs / HazardEvent / properties / people_in_destructive_winds
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "A cyclone's people within GDACS's winds of 120 km/h or more, the figure for who a storm threatens; people is everyone in its wider footprint. Null for any other event, or where GDACS draws no such winds"
      +}
    • addedOutput schema / $defs / HazardEvent / properties / place
      Added value: +{
      +  "anyOf": [
      +    {
      +      "$ref": "#/$defs/EventPlace"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "The place that locates the event, the one local_context words"
      +}
    • addedOutput schema / $defs / HazardEvent / properties / provenance
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {
      +        "$ref": "#/$defs/Provenance"
      +      },
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Each report the record holds: where it came from, who issued it and when; credit names its licence. Detailed only"
      +}
    • addedOutput schema / $defs / HazardEvent / properties / received_at
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Concise only: when Criora received the source's report"
      +}
    • removedOutput schema / $defs / HazardEvent / properties / sender / title
      Removed value: -"Sender"
    • removedOutput schema / $defs / HazardEvent / properties / severity / title
      Removed value: -"Severity"
    • addedOutput schema / $defs / HazardEvent / properties / severity_rank
      Added value: +{
      +  "description": "Criora Severity, 0 to 100, comparable across hazards and versioned (severity_version): the official level on a common scale, the people inside its footprint and the reading's place among its type's. The official level is never replaced by it",
      +  "type": "integer"
      +}
    • removedOutput schema / $defs / HazardEvent / properties / source / title
      Removed value: -"Source"
    • removedOutput schema / $defs / HazardEvent / properties / track / title
      Removed value: -"Track"
    • addedOutput schema / $defs / HazardEvent / properties / trend
      Added value: +{
      +  "description": "upcoming (a warning whose hazard has not begun; onset_at says when it does), new (first received within its kind's recent window; a status, set within it), intensifying or weakening (against the last day's readings, by severity and, where the value is the issuer's estimate, by value), steady, or ended; a quake is never intensifying or weakening",
      +  "type": "string"
      +}
    • removedOutput schema / $defs / HazardEvent / properties / type / title
      Removed value: -"Type"
    • addedOutput schema / $defs / HazardEvent / properties / url
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Concise only: the page of the report the record was read from, to cite"
      +}
    • addedOutput schema / $defs / HazardEvent / properties / url_source
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Concise only: whose report `url` is, where it is not `source`'s"
      +}
    • removedOutput schema / $defs / HazardEvent / properties / value / title
      Removed value: -"Value"
    • removedOutput schema / $defs / HazardEvent / properties / value_text / title
      Removed value: -"Value Text"
    • removedOutput schema / $defs / HazardEvent / properties / value_unit / title
      Removed value: -"Value Unit"
    • addedOutput schema / $defs / HazardEvent / properties / why
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "What set the severity, ready to retell: the reading, the issuer's level, the people and where they were counted (a quake's in shaking that damages buildings, not everyone who felt it)"
      +}
    • changedOutput schema / $defs / HazardEvent / required
      Previous value: -[
      -  "id",
      -  "type",
      -  "lat",
      -  "lon",
      -  "label",
      -  "severity",
      -  "event_date",
      -  "source",
      -  "metadata"
      -]New value: +[
      +  "id",
      +  "type",
      +  "lat",
      +  "lon",
      +  "label",
      +  "severity",
      +  "event_date",
      +  "source",
      +  "confidence",
      +  "severity_rank",
      +  "trend"
      +]
    • removedOutput schema / $defs / HazardEvent / title
      Removed value: -"HazardEvent"
    • removedOutput schema / $defs / HazardScope / properties / area / title
      Removed value: -"Area"
    • removedOutput schema / $defs / HazardScope / properties / bbox / title
      Removed value: -"Bbox"
    • removedOutput schema / $defs / HazardScope / properties / iso3 / title
      Removed value: -"Iso3"
    • removedOutput schema / $defs / HazardScope / properties / name / title
      Removed value: -"Name"
    • removedOutput schema / $defs / HazardScope / title
      Removed value: -"HazardScope"
    • addedOutput schema / $defs / Provenance
      Added value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "confidence": {
      +      "description": "confirmed, single_source, preliminary or modelled",
      +      "type": "string"
      +    },
      +    "issued_at": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "When the source issued it"
      +    },
      +    "official_level": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "The issuer's own level, in its words"
      +    },
      +    "received_at": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "When Criora received this version of it; unknown for reports stored before 2026-10-18"
      +    },
      +    "sender": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "The issuing authority"
      +    },
      +    "source": {
      +      "description": "The feed the report came through",
      +      "type": "string"
      +    },
      +    "url": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "The report's own page, where the source publishes one"
      +    }
      +  },
      +  "required": [
      +    "source",
      +    "confidence"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / $defs / Truncated
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Set when an answer was held under its size: the tail of its main list left out.",
      +  "properties": {
      +    "field": {
      +      "description": "The answer's list that was cut",
      +      "type": "string"
      +    },
      +    "left_out": {
      +      "description": "How many of its entries, the least important, were left out",
      +      "type": "integer"
      +    },
      +    "left_out_names": {
      +      "anyOf": [
      +        {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Each entry left out, where the list is not ordered by importance"
      +    },
      +    "why": {
      +      "description": "The limit, and how to ask for the rest",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "field",
      +    "left_out",
      +    "why"
      +  ],
      +  "type": "object"
      +}
    • removedOutput schema / properties / counts_by_kind / title
      Removed value: -"Counts By Kind"
    • removedOutput schema / properties / counts_by_severity / title
      Removed value: -"Counts By Severity"
    • removedOutput schema / properties / counts_by_type / title
      Removed value: -"Counts By Type"
    • addedOutput schema / properties / coverage
      Added value: +{
      +  "anyOf": [
      +    {
      +      "$ref": "#/$defs/Coverage"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "For a country, what reports there and whether each source is reporting now"
      +}
    • addedOutput schema / properties / credit
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    {
      +      "additionalProperties": {
      +        "$ref": "#/$defs/Credit"
      +      },
      +      "type": "object"
      +    }
      +  ],
      +  "description": "How a retelling credits the answer: Source: Criora with a link to the page the answer is about, then each originator whose data it quotes in the words its licence asks for. Concise, each credit once; detailed, by source with its name and licence, criora first"
      +}
    • changedOutput schema / properties / data / description
      Previous value: -"The most severe first, then the most recently active"New value: +"The highest severity_rank first, then the most recently active"
    • removedOutput schema / properties / data / title
      Removed value: -"Data"
    • addedOutput schema / properties / data_as_of
      Added value: +{
      +  "additionalProperties": {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ]
      +  },
      +  "description": "When each quoted source's feed was last read whole, by source; a reading can be older than this when the feed has not changed. Null for a source never read",
      +  "type": "object"
      +}
    • addedOutput schema / properties / earth_pulse
      Added value: +{
      +  "anyOf": [
      +    {
      +      "$ref": "#/$defs/EarthPulse"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "For the whole world, one figure for the Earth now; null while it cannot be read"
      +}
    • removedOutput schema / properties / generated_at / title
      Removed value: -"Generated At"
    • removedOutput schema / properties / listed / title
      Removed value: -"Listed"
    • addedOutput schema / properties / methodology_version
      Added value: +{
      +  "description": "The methodology version the answer was made under",
      +  "type": "string"
      +}
    • addedOutput schema / properties / period
      Added value: +{
      +  "description": "What the list covers in time: what is current now, or the last days asked",
      +  "type": "string"
      +}
    • addedOutput schema / properties / severity_version
      Added value: +{
      +  "description": "The version of Criora Severity the ranks are",
      +  "type": "string"
      +}
    • removedOutput schema / properties / total / title
      Removed value: -"Total"
    • addedOutput schema / properties / truncated
      Added value: +{
      +  "anyOf": [
      +    {
      +      "$ref": "#/$defs/Truncated"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Absent unless the answer was cut to fit"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "scope",
      -  "generated_at",
      -  "total",
      -  "listed",
      -  "counts_by_type",
      -  "counts_by_severity",
      -  "counts_by_kind",
      -  "data"
      -]New value: +[
      +  "severity_version",
      +  "methodology_version",
      +  "data_as_of",
      +  "period",
      +  "scope",
      +  "generated_at",
      +  "credit",
      +  "total",
      +  "listed",
      +  "counts_by_type",
      +  "counts_by_severity",
      +  "counts_by_kind",
      +  "data"
      +]
    • removedOutput schema / title
      Removed value: -"HazardList"
  5. Added

TDQS

A4.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the read-only, idempotent, non-destructive, open-world profile, so the lower bar applies. The description still adds useful behavior: results are sorted most-severe-first by severity alongside the issuer's own level, omitting days silently trims most earthquakes, and world queries prepend an earth_pulse figure. It does not discuss pagination or how totals/truncation are reported.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with what the tool returns, then usage, then the sibling alternative, so the important facts come first. It is dense and mostly earns its length, though phrases like 'A country holds an event by its point' and the earth_pulse aside add a little cognitive load without much actionable value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an eight-parameter, zero-required read tool with full schema descriptions and an output schema, this covers scope, ordering, filtering, and the one real alternative. Return-value details are legitimately delegated to the output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description genuinely adds meaning beyond the schema: days=7 means 'this week', days covers up to 30 recent days, and omission narrows results to currently-active events. Country handling (ISO alpha-3 or name) and the point-based country membership rule are also clarified.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource set (disasters, hazards, official warnings) plus the three scopes it supports (country, bbox region, world) and the ordering rule (Criora Risk Index severity_rank). It explicitly distinguishes itself from get_hazards_near, so an agent can route without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete user-question examples ('what is happening in Japan', 'which red warnings are in force in Europe', 'the strongest earthquakes this week') and maps them to parameter choices (days 7, days up to 30). It names the alternative for proximity queries (get_hazards_near) and states the country-assignment rule, leaving little to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.