Skip to main content
Glama

Criora: climate & disaster risk for any place

Indicative flood and cyclone damage to a building or asset

estimate_financial_impact
Read-onlyIdempotent

Indicative damage to a building or asset at a place from river and coastal flooding and tropical cyclone wind: expected annual damage as a share of its value and in money, and the 50 to 500-year events, low, central and high; today, or RCP4.5 or RCP8.5 in 2050 and 2080 (wind to 2050).

Use for what flooding could cost a home, a property or loan collateral, and ESRS E1, IFRS S2, TCFD or EU Taxonomy screening. Give asset_value for money in its currency, which any one building needs; without it the money is for all buildings of its class in the point's 1 km cell, in euros, never one building's. A town or city asked by name resolves to one point of it: built_ground then says how its built ground shares out among the bands, which is the answer for the place; the money and band are the point's. Indicative, not a valuation: pass the caveats on.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "asset_class": "<asset_class>"
    },
    "name": "estimate_financial_impact"
  }
}

Input Schema

NameRequiredDescriptionDefault
yearNo2050 or 2080, with rcp4p5 or rcp8p5
currencyNoISO 4217 code of asset_value, echoed; nothing is converted
languageNoLanguage code for the name of the place found (resolved_from); the rest of the answer is Englishen
latitudeNoLatitude, WGS84; or give place_name
scenarioNohistorical for today, or rcp4p5 or rcp8p5 with a yearhistorical
longitudeNoLongitude, WGS84; or give place_name
place_nameNoA place name or street address; add the country after a comma when ambiguous (Portland, Maine)
asset_classYesWhat the asset is: residential, commercial or industrial buildings, transport, roads or agriculture
asset_valueNoThe asset's replacement value, to have the damage in money; without it a building's damage is priced at the replacement cost of its class's buildings in the point's 1 km cell, in euros
protection_rpNoThe return period in years the site's flood defences hold; FLOPROS's when omitted
response_formatNoconcise (default) answers the question; detailed adds every field the sources giveconcise

Output Schema

NameRequiredDescriptionDefault
yearYes
assetYes
creditYes
caveatsYes
hazardsYes
locationYes
scenarioYes
criora_urlYes
indicativeYes
assumptionsYes
built_groundNo
resolved_fromYes
expected_annual_damageYes
annual_damage_risk_bandYes
material_physical_risk_flagsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed55 schema fields changed
    • addedOutput schema / $defs / BuiltGround
      Added value: +{
      +  "properties": {
      +    "radius_km": {
      +      "type": "integer"
      +    },
      +    "share_by_band": {
      +      "additionalProperties": {
      +        "type": "number"
      +      },
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "radius_km",
      +    "share_by_band"
      +  ],
      +  "type": "object"
      +}
    • 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 / DamageBand / additionalProperties
      Removed value: -true
    • removedOutput schema / $defs / ExpectedDamage / additionalProperties
      Removed value: -true
    • removedOutput schema / $defs / ExpectedDamage / properties / ratio / description
      Removed value: -"Share of the replacement value lost a year, 0.01 is 1 %"
    • removedOutput schema / $defs / ExpectedDamage / properties / value / description
      Removed value: -"ratio x asset_value, in its currency; null without a value"
    • removedOutput schema / $defs / FinancialLocation / additionalProperties
      Removed value: -true
    • removedOutput schema / $defs / FinancialLocation / properties / iso3 / description
      Removed value: -"The country, ISO 3166-1 alpha-3"
    • removedOutput schema / $defs / FinancialLocation / properties / subdivision / description
      Removed value: -"Its first-order subdivision (state, province, region), from Natural Earth's admin-1"
    • removedOutput schema / $defs / HazardDamage / additionalProperties
      Removed value: -true
    • removedOutput schema / $defs / HazardDamage / properties / category_at_100_years / anyOf
      Removed value: -[
      -  {
      -    "type": "integer"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / HazardDamage / properties / category_at_100_years / default
      Removed value: -null
    • removedOutput schema / $defs / HazardDamage / properties / category_at_100_years / description
      Removed value: -"Cyclone wind: the Saffir-Simpson category of the 100-year wind. The hazard's strength: a low damage band says what it costs a year, not that storms are weak there"
    • addedOutput schema / $defs / HazardDamage / properties / category_at_100_years / type
      Added value: +[
      +  "integer",
      +  "null"
      +]
    • removedOutput schema / $defs / HazardDamage / properties / damage_at_return_periods / description
      Removed value: -"Per site: never add across sites"
    • removedOutput schema / $defs / ReturnPeriodDamage / additionalProperties
      Removed value: -true
    • removedOutput schema / $defs / ReturnPeriodDamage / properties / ratio / description
      Removed value: -"Share of the replacement value that flood takes, undefended"
    • removedOutput schema / $defs / ReturnPeriodDamage / properties / return_period / description
      Removed value: -"Years: the flood with that chance, 1 in return_period, each year"
    • removedOutput schema / $defs / RiskFlag / additionalProperties
      Removed value: -true
    • removedOutput schema / $defs / RiskFlag / properties / band / description
      Removed value: -"XDI's rating of the hazard's central expected annual damage: low, moderate, high"
    • removedOutput schema / $defs / RiskFlag / properties / band_at_high_end / description
      Removed value: -"The same rating of the range's high end: a wider risk than `band` says"
    • removedOutput schema / $defs / RiskFlag / properties / family / description
      Removed value: -"acute or chronic, as EBA Pillar 3 and the EU Taxonomy file it"
    • removedOutput schema / $defs / RiskFlag / properties / hazard_group / description
      Removed value: -"temperature, wind, water or solid_mass: the EU Taxonomy's group, EBA Pillar 3's hazard columns"
    • removedOutput schema / $defs / RiskFlag / properties / material / description
      Removed value: -"From XDI's moderate band up, on the central value"
    • removedOutput schema / $defs / RiskFlag / properties / taxonomy_hazard / description
      Removed value: -"Its hazard in Appendix A to the EU Climate Delegated Act"
    • removedOutput schema / $defs / Subdivision / additionalProperties
      Removed value: -true
    • removedOutput schema / $defs / Subdivision / properties / code / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / Subdivision / properties / code / description
      Removed value: -"ISO 3166-2, or none where the subdivision has no code"
    • addedOutput schema / $defs / Subdivision / properties / code / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / additionalProperties
      Removed value: -true
    • removedOutput schema / properties / annual_damage_risk_band / description
      Removed value: -"XDI's rating of the sum's central share: low, moderate, high"
    • removedOutput schema / properties / asset / additionalProperties
      Removed value: -true
    • removedOutput schema / properties / asset / description
      Removed value: -"What was priced; amount_at_risk is the value given where any hazard is material, else 0, as EBA Pillar 3 reports a carrying amount"
    • addedOutput schema / properties / built_ground
      Added value: +{
      +  "anyOf": [
      +    {
      +      "$ref": "#/$defs/BuiltGround"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • removedOutput schema / properties / caveats / description
      Removed value: -"What the estimate cannot tell; pass them on with the numbers"
    • 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 / expected_annual_damage / description
      Removed value: -"The hazards' sum"
    • removedOutput schema / properties / hazards / description
      Removed value: -"river_flood, coastal_flood and, where IRIS covers the place and year, cyclone_wind"
    • removedOutput schema / properties / indicative / description
      Removed value: -"Always true: an estimate for screening and disclosure, not a valuation"
    • 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 / year / anyOf
      Removed value: -[
      -  {
      -    "type": "integer"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / year / type
      Added value: +[
      +  "integer",
      +  "null"
      +]
  2. Added

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnly/openWorld/idempotent/non-destructive, and the description still adds substantial behavior beyond them: the fallback output when asset_value is omitted (euros, aggregated over all buildings of the class in the 1 km cell, never one building's), currency echoing with no conversion, how a named town resolves to a single point and how built_ground redistributes across bands, and the explicit 'Indicative, not a valuation' caveat to pass on.

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 headline result, then usage, then parameter caveats – a sensible order. It is dense and occasionally tangled ('which any one building needs; without it the money is for all buildings of its class in the point's 1 km cell, in euros, never one building's'), but every sentence carries information an agent needs.

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 11-parameter, open-world, output-schema-backed tool, the description covers the decisive gaps: aggregation semantics without asset_value, place-name resolution vs coordinates, scenario/year coupling, and the non-valuation disclaimer. Nothing an agent needs in order to call it correctly or report results responsibly is missing.

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 genuine meaning beyond the schema for the two highest-stakes parameters: asset_value's effect on whether money is per-building or cell-aggregated, and the place_name resolution caveat that the band/money belong to the point rather than the town. protection_rp and the scenario/year pairing are left 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 opens with a specific verb and resource ('Indicative damage to a building or asset at a place from river and coastal flooding and tropical cyclone wind') and enumerates exactly what the agent gets back: expected annual damage as a share of value and in money, plus 50- to 500-year events at low/central/high, for today or RCP scenarios. That level of specificity makes it distinguishable from vaguer siblings like get_area_risk or get_climate_profile without naming them.

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

Usage Guidelines4/5

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

It gives clear triggering contexts ('what flooding could cost a home, a property or loan collateral, and ESRS E1, IFRS S2, TCFD or EU Taxonomy screening') and a key conditional rule for asset_value. It does not explicitly name an alternative sibling or state when-not to use it, which keeps it below a 5.

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.