Skip to main content
Glama

Criora: climate & disaster risk for any place

What has happened at a place in the past

get_place_history
Read-onlyIdempotent

What has hit a place before: "has Lisbon had a big earthquake", "how often do typhoons reach Manila", "what floods has Valencia had". Earthquakes, tropical cyclones, tsunamis, floods and eruptions near it: how many by decade and the largest, with date, distance, deaths and damage.

A count is complete only from complete_from (quakes of M5 and up 1976, cyclones 1980, floods 2021, and its note says so: a rise in floods before then is no trend). Ask for more years to reach the great events: the record goes back to 1700 for those that cost lives, and to 1870 for Europe's floods. What is happening now: get_hazards_near.

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": "get_place_history"
  }
}

Input Schema

NameRequiredDescriptionDefault
yearsNoHow many years back, 1 to 330
hazardsNoOnly these hazards; all five when omitted
languageNoLanguage code for the name of the place found (resolved_from); the rest of the answer is Englishen
latitudeNoLatitude, WGS84; or give place_name
longitudeNoLongitude, WGS84; or give place_name
place_nameNoA place name or street address; add the country after a comma when ambiguous (Portland, Maine)

Output Schema

NameRequiredDescriptionDefault
sinceYes
yearsYes
creditYes
hazardsYes
criora_urlYes
resolved_fromYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed47 schema fields changed
    • 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 / HazardHistory / additionalProperties
      Removed value: -true
    • removedOutput schema / $defs / HazardHistory / properties / by_decade / description
      Removed value: -"The count per decade, by the decade's first year"
    • removedOutput schema / $defs / HazardHistory / properties / complete_from / anyOf
      Removed value: -[
      -  {
      -    "type": "integer"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / HazardHistory / properties / complete_from / default
      Removed value: -null
    • removedOutput schema / $defs / HazardHistory / properties / complete_from / description
      Removed value: -"The year from which the count holds every event of its size; before it, or where null, only those NOAA NCEI lists for what they cost, so a quiet decade there is no evidence of one"
    • addedOutput schema / $defs / HazardHistory / properties / complete_from / type
      Added value: +[
      +  "integer",
      +  "null"
      +]
    • removedOutput schema / $defs / HazardHistory / properties / count / description
      Removed value: -"How many came within `radius_km` over the span"
    • removedOutput schema / $defs / HazardHistory / properties / largest / description
      Removed value: -"The largest, the costliest first"
    • removedOutput schema / $defs / HazardHistory / properties / note / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / HazardHistory / properties / note / default
      Removed value: -null
    • removedOutput schema / $defs / HazardHistory / properties / note / description
      Removed value: -"What this count cannot be read for"
    • addedOutput schema / $defs / HazardHistory / properties / note / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / PastEvent / additionalProperties
      Removed value: -true
    • removedOutput schema / $defs / PastEvent / properties / damage / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / PastEvent / properties / damage / default
      Removed value: -null
    • removedOutput schema / $defs / PastEvent / properties / damage / description
      Removed value: -"NCEI's class: limited under $1 million, moderate, severe, extreme over $25 million"
    • addedOutput schema / $defs / PastEvent / properties / damage / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / PastEvent / properties / date / description
      Removed value: -"When it began; a date NCEI holds only to the year stands at January 1"
    • removedOutput schema / $defs / PastEvent / properties / deaths / anyOf
      Removed value: -[
      -  {
      -    "type": "integer"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / PastEvent / properties / deaths / default
      Removed value: -null
    • removedOutput schema / $defs / PastEvent / properties / deaths / description
      Removed value: -"Deaths on record, where NOAA NCEI lists the event"
    • addedOutput schema / $defs / PastEvent / properties / deaths / type
      Added value: +[
      +  "integer",
      +  "null"
      +]
    • removedOutput schema / $defs / PastEvent / properties / distance_km / description
      Removed value: -"How near it came: a storm by its path, anything else by its point"
    • removedOutput schema / $defs / PastEvent / properties / name / description
      Removed value: -"The event, in its source's words"
    • removedOutput schema / $defs / PastEvent / properties / value / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / PastEvent / properties / value / description
      Removed value: -"Its size in `unit`: magnitude, wind where a storm came nearest, water height, VEI; null where the record holds none"
    • addedOutput schema / $defs / PastEvent / properties / value / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / additionalProperties
      Removed value: -true
    • 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 / criora_url / description
      Removed value: -"The place on the Criora map"
    • removedOutput schema / properties / hazards / description
      Removed value: -"By hazard: earthquake, cyclone, tsunami, flood, volcano. Wildfire is not an event record here: burned_area in get_climate_profile says how much burns"
    • removedOutput schema / properties / resolved_from / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / properties / resolved_from / description
      Removed value: -"What a place name was resolved to; null when coordinates were given"
    • addedOutput schema / properties / resolved_from / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / since / description
      Removed value: -"The first day of the span"
  2. Added

TDQS

A4.5/5.0
Behavior4/5

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

Beyond the readOnly/openWorld/idempotent annotations, the description discloses important data-quality behavior: per-hazard start dates for complete counts and a note field that flags the censoring, plus how far back the underlying record reaches (1700 for deadly events, 1870 for European floods). Some of the return-shape detail (deaths, damage) overlaps what the output schema already conveys, which keeps this from a 5.

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 the purpose and backed by example queries; every paragraph carries distinct information (capability, caveat, depth, alternative). The style is fragmented, with inline backticked field names and colon-joined fragments, which costs some readability but not much space.

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

Completeness4/5

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

Given six optional parameters, rich annotations and an output schema, the description covers capability, data completeness and historical depth well. The one loose end is that no location parameter is required and the description never says what happens if none is supplied — whether it errors or defaults.

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 the baseline is 3, but the description adds real meaning to `years` by explaining the trade-off — short windows miss great events, and counts before the per-hazard `complete_from` date are not comparable. Location selection via place_name vs coordinates is left entirely to the schema.

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?

The description states a specific verb and resource — what has historically hit a place — and enumerates the hazard types covered (earthquakes, cyclones, tsunamis, floods, eruptions) plus the shape of the answer (counts by decade, largest event with date, distance, deaths, damage). It explicitly distinguishes itself from the sibling get_hazards_near by marking that one as the 'what is happening now' tool.

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?

It gives concrete triggering queries ('has Lisbon had a big earthquake', 'how often do typhoons reach Manila'), names the alternative for current conditions, and adds a when-to-adjust rule: ask for more years to reach the great events. It also warns when not to trust a trend (pre-complete_from flood counts).

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.