Skip to main content
Glama

Criora: climate & disaster risk for any place

Country climate and disaster risk profile

get_country_profile
Read-onlyIdempotent

Climate and disaster risk of one country, of 194, for ESG, investment, insurance and humanitarian screening: the overall risk score (0 to 100, higher is riskier), class and world rank, and the climate, nature, social, governance and adaptation scores and classes, with its region and income group.

Use it for one country in depth. For named countries side by side use compare_countries; for the countries most or least at risk, rank_countries; for a place inside a country, assess_place.

include_indicators=true adds the indicators behind each dimension from the INFORM Risk Index, ND-GAIN and the World Bank (flood, earthquake and drought risk, water stress, food security, health, governance and about 150 more), those furthest from the world median first, each with its value, year, source and the medians of the world, region, subregion and income group; indicators_limit caps them per dimension, and criora://indicators lists them all. The country is an ISO 3166-1 alpha-3 code or its English name; an unknown one is refused with the expected form.

Input Schema

NameRequiredDescriptionDefault
countryYesISO 3166-1 alpha-3 code (e.g. BGD) or English country name
indicators_limitNoWith include_indicators, how many indicators to list per dimension
include_indicatorsNoAdd the underlying indicators, the furthest from the world median first, each with its world and regional medians; the scores alone when false

Output Schema

NameRequiredDescriptionDefault
metaYes
sourcesNoWith include_indicators
indicatorsNoWith include_indicators
country_urlYes
country_codeYes
nature_levelYesThe score's risk class, very_low to critical
nature_scoreYes0 to 100; higher means more risk; null where there is no score
social_levelYesThe score's risk class, very_low to critical
social_scoreYes0 to 100; higher means more risk; null where there is no score
climate_levelYesThe score's risk class, very_low to critical
climate_scoreYes0 to 100; higher means more risk; null where there is no score
overall_levelYesThe score's risk class, very_low to critical
overall_scoreYes0 to 100; higher means more risk; null where there is no score
sources_updatedYes
adaptation_levelYesThe score's risk class, very_low to critical
adaptation_scoreYes0 to 100; higher means more risk; null where there is no score
governance_levelYesThe score's risk class, very_low to critical
governance_scoreYes0 to 100; higher means more risk; null where there is no score
rank_by_overall_riskYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • changedInput schema / properties / include_indicators / description
      Previous value: -"Add about 160 underlying indicators, each with its world and regional benchmark; the scores alone when false"New value: +"Add the underlying indicators, the furthest from the world median first, each with its world and regional medians; the scores alone when false"
    • addedInput schema / properties / indicators_limit
      Added value: +{
      +  "default": 8,
      +  "description": "With include_indicators, how many indicators to list per dimension",
      +  "maximum": 60,
      +  "minimum": 1,
      +  "title": "Indicators Limit",
      +  "type": "integer"
      +}
    • addedOutput schema / $defs
      Added value: +{
      +  "CountryMeta": {
      +    "additionalProperties": true,
      +    "properties": {
      +      "continent": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "title": "Continent"
      +      },
      +      "income_group": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "title": "Income Group"
      +      },
      +      "iso2": {
      +        "title": "Iso2",
      +        "type": "string"
      +      },
      +      "iso3": {
      +        "title": "Iso3",
      +        "type": "string"
      +      },
      +      "name": {
      +        "title": "Name",
      +        "type": "string"
      +      },
      +      "name_long": {
      +        "title": "Name Long",
      +        "type": "string"
      +      },
      +      "region": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "title": "Region"
      +      },
      +      "subregion": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "title": "Subregion"
      +      }
      +    },
      +    "required": [
      +      "name",
      +      "name_long",
      +      "iso2",
      +      "iso3",
      +      "region",
      +      "subregion",
      +      "continent",
      +      "income_group"
      +    ],
      +    "title": "CountryMeta",
      +    "type": "object"
      +  },
      +  "DimensionIndicators": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "indicators": {
      +        "description": "The furthest from the world median first",
      +        "items": {
      +          "$ref": "#/$defs/Indicator"
      +        },
      +        "title": "Indicators",
      +        "type": "array"
      +      },
      +      "total": {
      +        "description": "How many indicators the dimension has",
      +        "title": "Total",
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "total",
      +      "indicators"
      +    ],
      +    "title": "DimensionIndicators",
      +    "type": "object"
      +  },
      +  "Indicator": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "benchmark": {
      +        "additionalProperties": {
      +          "$ref": "#/$defs/Median"
      +        },
      +        "description": "The medians of the world and of the country's own region, subregion and income group",
      +        "title": "Benchmark",
      +        "type": "object"
      +      },
      +      "data_year": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "title": "Data Year"
      +      },
      +      "indicator_name": {
      +        "title": "Indicator Name",
      +        "type": "string"
      +      },
      +      "raw_unit": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "title": "Raw Unit"
      +      },
      +      "raw_value": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "title": "Raw Value"
      +      },
      +      "score": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "title": "Score"
      +      },
      +      "source": {
      +        "description": "A source of sources",
      +        "title": "Source",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "indicator_name",
      +      "score",
      +      "raw_value",
      +      "raw_unit",
      +      "data_year",
      +      "source",
      +      "benchmark"
      +    ],
      +    "title": "Indicator",
      +    "type": "object"
      +  },
      +  "IndicatorSource": {
      +    "additionalProperties": true,
      +    "properties": {
      +      "country_url": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Country Url"
      +      },
      +      "homepage": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Homepage"
      +      },
      +      "label": {
      +        "title": "Label",
      +        "type": "string"
      +      },
      +      "source": {
      +        "title": "Source",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "source",
      +      "label"
      +    ],
      +    "title": "IndicatorSource",
      +    "type": "object"
      +  },
      +  "Median": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "count": {
      +        "description": "How many countries the median is of",
      +        "title": "Count",
      +        "type": "integer"
      +      },
      +      "raw": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "title": "Raw"
      +      },
      +      "score": {
      +        "title": "Score",
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "score",
      +      "count"
      +    ],
      +    "title": "Median",
      +    "type": "object"
      +  },
      +  "Rank": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "note": {
      +        "title": "Note",
      +        "type": "string"
      +      },
      +      "of": {
      +        "title": "Of",
      +        "type": "integer"
      +      },
      +      "rank": {
      +        "title": "Rank",
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "rank",
      +      "of",
      +      "note"
      +    ],
      +    "title": "Rank",
      +    "type": "object"
      +  }
      +}
    • addedOutput schema / properties
      Added value: +{
      +  "adaptation_level": {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "description": "The score's risk class, very_low to critical",
      +    "title": "Adaptation Level"
      +  },
      +  "adaptation_score": {
      +    "anyOf": [
      +      {
      +        "type": "number"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "description": "0 to 100; higher means more risk; null where there is no score",
      +    "title": "Adaptation Score"
      +  },
      +  "climate_level": {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "description": "The score's risk class, very_low to critical",
      +    "title": "Climate Level"
      +  },
      +  "climate_score": {
      +    "anyOf": [
      +      {
      +        "type": "number"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "description": "0 to 100; higher means more risk; null where there is no score",
      +    "title": "Climate Score"
      +  },
      +  "country_code": {
      +    "title": "Country Code",
      +    "type": "string"
      +  },
      +  "country_url": {
      +    "title": "Country Url",
      +    "type": "string"
      +  },
      +  "governance_level": {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "description": "The score's risk class, very_low to critical",
      +    "title": "Governance Level"
      +  },
      +  "governance_score": {
      +    "anyOf": [
      +      {
      +        "type": "number"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "description": "0 to 100; higher means more risk; null where there is no score",
      +    "title": "Governance Score"
      +  },
      +  "indicators": {
      +    "anyOf": [
      +      {
      +        "additionalProperties": {
      +          "$ref": "#/$defs/DimensionIndicators"
      +        },
      +        "type": "object"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "default": null,
      +    "description": "With include_indicators",
      +    "title": "Indicators"
      +  },
      +  "meta": {
      +    "$ref": "#/$defs/CountryMeta"
      +  },
      +  "nature_level": {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "description": "The score's risk class, very_low to critical",
      +    "title": "Nature Level"
      +  },
      +  "nature_score": {
      +    "anyOf": [
      +      {
      +        "type": "number"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "description": "0 to 100; higher means more risk; null where there is no score",
      +    "title": "Nature Score"
      +  },
      +  "overall_level": {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "description": "The score's risk class, very_low to critical",
      +    "title": "Overall Level"
      +  },
      +  "overall_score": {
      +    "anyOf": [
      +      {
      +        "type": "number"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "description": "0 to 100; higher means more risk; null where there is no score",
      +    "title": "Overall Score"
      +  },
      +  "rank_by_overall_risk": {
      +    "$ref": "#/$defs/Rank"
      +  },
      +  "social_level": {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "description": "The score's risk class, very_low to critical",
      +    "title": "Social Level"
      +  },
      +  "social_score": {
      +    "anyOf": [
      +      {
      +        "type": "number"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "description": "0 to 100; higher means more risk; null where there is no score",
      +    "title": "Social Score"
      +  },
      +  "sources": {
      +    "anyOf": [
      +      {
      +        "items": {
      +          "$ref": "#/$defs/IndicatorSource"
      +        },
      +        "type": "array"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "default": null,
      +    "description": "With include_indicators",
      +    "title": "Sources"
      +  },
      +  "sources_updated": {
      +    "additionalProperties": {
      +      "type": "string"
      +    },
      +    "title": "Sources Updated",
      +    "type": "object"
      +  }
      +}
    • addedOutput schema / required
      Added value: +[
      +  "country_code",
      +  "overall_score",
      +  "overall_level",
      +  "climate_score",
      +  "climate_level",
      +  "nature_score",
      +  "nature_level",
      +  "social_score",
      +  "social_level",
      +  "governance_score",
      +  "governance_level",
      +  "adaptation_score",
      +  "adaptation_level",
      +  "sources_updated",
      +  "meta",
      +  "rank_by_overall_risk",
      +  "country_url"
      +]
    • changedOutput schema / title
      Previous value: -"get_country_profileDictOutput"New value: +"CountryProfile"
  2. Changed1 schema field changed
    • changedInput schema / properties / include_indicators / description
      Previous value: -"Add every underlying indicator with its world and regional benchmark"New value: +"Add about 160 underlying indicators, each with its world and regional benchmark; the scores alone when false"
  3. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the safety bar is low, yet the description still adds real behavioral context: unknown country input is refused with the expected form, indicators are ordered furthest-from-median first, and the data provenance (INFORM Risk Index, ND-GAIN, World Bank) is disclosed. It stops short of describing latency, coverage limits of the 194-country set, or how missing dimensions are represented.

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 purpose and output shape, then routing, then parameter behavior — a sensible order. It is dense and the long parenthetical indicator list plus the four-median enumeration make the second paragraph heavy, but almost every clause 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 a read-only profile tool with a full output schema and three well-documented parameters, the description supplies everything left open: routing to siblings, provenance of the numbers, indicator ordering and capping, and input validation behavior. Nothing an agent needs to call this correctly 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 description coverage is 100%, so the baseline is 3, but the description goes beyond the schema by explaining the ordering semantics of include_indicators (furthest from world median first, each with world/region/subregion/income-group medians), what indicators_limit measures, and by pointing at the criora://indicators resource that enumerates all ~150 indicators. That is genuine added meaning rather than restatement.

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+resource (climate and disaster risk profile of one country) and enumerates the returned fields — overall score 0-100, class, world rank, plus climate/nature/social/governance/adaptation scores, region and income group. It immediately distinguishes itself from assess_place, compare_countries and rank_countries, so an agent can pick it without opening any 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?

Names three alternatives with the exact condition that selects each: compare_countries for named countries side by side, rank_countries for most/least at risk, assess_place for a place inside a country. 'Use it for one country in depth' states the positive case explicitly. No inference required.

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.