Skip to main content
Glama

Criora: climate & disaster risk for any place

Compare countries' climate and disaster risk

compare_countries
Read-onlyIdempotent

Climate and disaster risk of two to ten named countries side by side: each one's overall risk score and class, its climate, nature, social, governance and adaptation scores, and its world rank by overall risk.

Use it when the countries are known in advance. To find the countries most or least at risk use rank_countries; for one country's indicators, get_country_profile.

Countries are ISO 3166-1 alpha-3 codes or English names; an unknown one is refused with the expected form. Scores run 0 to 100, higher is riskier, and rank 1 is the highest risk among 194 countries. Sources: INFORM Risk Index, ND-GAIN and the World Bank.

Input Schema

NameRequiredDescriptionDefault
countriesYesISO3 codes or English names of 2 to 10 countries

Output Schema

NameRequiredDescriptionDefault
countriesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • 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"
      +  },
      +  "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"
      +  },
      +  "RankedSummary": {
      +    "additionalProperties": true,
      +    "properties": {
      +      "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"
      +      },
      +      "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_updated": {
      +        "additionalProperties": {
      +          "type": "string"
      +        },
      +        "title": "Sources Updated",
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "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"
      +    ],
      +    "title": "RankedSummary",
      +    "type": "object"
      +  }
      +}
    • changedOutput schema / additionalProperties
      Previous value: -trueNew value: +false
    • addedOutput schema / properties
      Added value: +{
      +  "countries": {
      +    "items": {
      +      "$ref": "#/$defs/RankedSummary"
      +    },
      +    "title": "Countries",
      +    "type": "array"
      +  }
      +}
    • addedOutput schema / required
      Added value: +[
      +  "countries"
      +]
    • changedOutput schema / title
      Previous value: -"compare_countriesDictOutput"New value: +"CountryComparison"
  2. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations cover the safety profile (readOnly, idempotent, non-destructive, closed-world), and the description goes well beyond them: unknown inputs are refused with the expected form, scores are 0-100 with higher=riskier, rank 1 means highest risk out of 194 countries, and the underlying sources (INFORM, ND-GAIN, World Bank) are named. That is exactly the kind of context annotations cannot express.

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 return contents, then usage routing, then input/scale details and provenance. Every sentence carries information, though the four-sentence block is denser than strictly necessary for a single-parameter tool.

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?

An output schema exists so return values need not be re-explained, yet the description summarizes them helpfully; inputs, valid formats, size bounds, error behavior, and score/rank interpretation are all covered. 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 coverage is 100% and the schema already documents ISO3/English names and the 2-10 bound, so baseline is 3. The description adds genuinely new semantics: the accepted code standard (ISO 3166-1 alpha-3) and the failure behavior for an unrecognized country, which the schema does not state.

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 (compare) and resource (countries' climate and disaster risk), enumerates exactly which fields come back (overall risk score/class, climate, nature, social, governance, adaptation scores, world rank), and names two siblings it is distinct from. An agent can identify this tool's scope without opening the 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 an explicit positive condition ('use it when the countries are known in advance') plus two named alternatives with their selecting conditions: rank_countries for finding most/least at risk, get_country_profile for a single country. Nothing about routing is left 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.