Skip to main content
Glama

Criora: climate & disaster risk for any place

Compare countries' climate and disaster risk

compare_countries
Read-onlyIdempotent

Two to ten named countries side by side: overall risk score, class and world rank, and their climate, nature, social, governance and adaptation scores (0 to 100, higher is riskier; rank 1 is the riskiest of 194). To find the riskiest countries use rank_countries.

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": {
      "countries": "<countries>"
    },
    "name": "compare_countries"
  }
}

Input Schema

NameRequiredDescriptionDefault
countriesYesISO3 codes or names of 2 to 10 countries
response_formatNoconcise (default) answers the question; detailed adds every field the sources giveconcise

Output Schema

NameRequiredDescriptionDefault
creditYes
countriesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed79 schema fields changed
    • removedOutput schema / $defs / CountryMeta / additionalProperties
      Removed value: -true
    • removedOutput schema / $defs / CountryMeta / properties / continent / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / CountryMeta / properties / continent / default
      Removed value: -null
    • removedOutput schema / $defs / CountryMeta / properties / continent / description
      Removed value: -"Detailed only"
    • addedOutput schema / $defs / CountryMeta / properties / continent / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / CountryMeta / properties / income_group / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / CountryMeta / properties / income_group / default
      Removed value: -null
    • removedOutput schema / $defs / CountryMeta / properties / income_group / description
      Removed value: -"Detailed only"
    • addedOutput schema / $defs / CountryMeta / properties / income_group / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / CountryMeta / properties / iso2 / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / CountryMeta / properties / iso2 / default
      Removed value: -null
    • removedOutput schema / $defs / CountryMeta / properties / iso2 / description
      Removed value: -"Detailed only"
    • addedOutput schema / $defs / CountryMeta / properties / iso2 / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / CountryMeta / properties / iso3 / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / CountryMeta / properties / iso3 / default
      Removed value: -null
    • removedOutput schema / $defs / CountryMeta / properties / iso3 / description
      Removed value: -"Detailed only"
    • addedOutput schema / $defs / CountryMeta / properties / iso3 / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / CountryMeta / properties / name_long / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / CountryMeta / properties / name_long / default
      Removed value: -null
    • removedOutput schema / $defs / CountryMeta / properties / name_long / description
      Removed value: -"Detailed only"
    • addedOutput schema / $defs / CountryMeta / properties / name_long / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / CountryMeta / properties / region / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / $defs / CountryMeta / properties / region / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / CountryMeta / properties / subregion / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / CountryMeta / properties / subregion / default
      Removed value: -null
    • removedOutput schema / $defs / CountryMeta / properties / subregion / description
      Removed value: -"Detailed only"
    • addedOutput schema / $defs / CountryMeta / properties / subregion / type
      Added value: +[
      +  "string",
      +  "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 / RankedSummary / additionalProperties
      Removed value: -true
    • removedOutput schema / $defs / RankedSummary / properties / adaptation_level / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / RankedSummary / properties / adaptation_level / description
      Removed value: -"The score's risk class, very_low to critical"
    • addedOutput schema / $defs / RankedSummary / properties / adaptation_level / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / RankedSummary / properties / adaptation_score / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / RankedSummary / properties / adaptation_score / description
      Removed value: -"0 to 100; higher means more risk; null where there is no score"
    • addedOutput schema / $defs / RankedSummary / properties / adaptation_score / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / $defs / RankedSummary / properties / climate_level / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / RankedSummary / properties / climate_level / description
      Removed value: -"The score's risk class, very_low to critical"
    • addedOutput schema / $defs / RankedSummary / properties / climate_level / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / RankedSummary / properties / climate_score / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / RankedSummary / properties / climate_score / description
      Removed value: -"0 to 100; higher means more risk; null where there is no score"
    • addedOutput schema / $defs / RankedSummary / properties / climate_score / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / $defs / RankedSummary / properties / governance_level / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / RankedSummary / properties / governance_level / description
      Removed value: -"The score's risk class, very_low to critical"
    • addedOutput schema / $defs / RankedSummary / properties / governance_level / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / RankedSummary / properties / governance_score / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / RankedSummary / properties / governance_score / description
      Removed value: -"0 to 100; higher means more risk; null where there is no score"
    • addedOutput schema / $defs / RankedSummary / properties / governance_score / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / $defs / RankedSummary / properties / nature_level / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / RankedSummary / properties / nature_level / description
      Removed value: -"The score's risk class, very_low to critical"
    • addedOutput schema / $defs / RankedSummary / properties / nature_level / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / RankedSummary / properties / nature_score / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / RankedSummary / properties / nature_score / description
      Removed value: -"0 to 100; higher means more risk; null where there is no score"
    • addedOutput schema / $defs / RankedSummary / properties / nature_score / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / $defs / RankedSummary / properties / overall_level / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / RankedSummary / properties / overall_level / description
      Removed value: -"The score's risk class, very_low to critical"
    • addedOutput schema / $defs / RankedSummary / properties / overall_level / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / RankedSummary / properties / overall_score / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / RankedSummary / properties / overall_score / description
      Removed value: -"0 to 100; higher means more risk; null where there is no score"
    • addedOutput schema / $defs / RankedSummary / properties / overall_score / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / $defs / RankedSummary / properties / social_level / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / RankedSummary / properties / social_level / description
      Removed value: -"The score's risk class, very_low to critical"
    • addedOutput schema / $defs / RankedSummary / properties / social_level / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / RankedSummary / properties / social_score / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / $defs / RankedSummary / properties / social_score / description
      Removed value: -"0 to 100; higher means more risk; null where there is no score"
    • addedOutput schema / $defs / RankedSummary / properties / social_score / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / $defs / RankedSummary / properties / sources_updated / default
      Removed value: -null
    • removedOutput schema / $defs / RankedSummary / properties / sources_updated / description
      Removed value: -"When each source's indicators were last updated. Detailed only"
    • 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"
  2. Changed63 schema fields changed
    • changedInput schema / properties / countries / description
      Previous value: -"ISO3 codes or English names of 2 to 10 countries"New value: +"ISO3 codes or names of 2 to 10 countries"
    • removedInput schema / properties / countries / title
      Removed value: -"Countries"
    • 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: -"compare_countriesArguments"
    • addedOutput schema / $defs / CountryMeta / properties / continent / default
      Added value: +null
    • addedOutput schema / $defs / CountryMeta / properties / continent / description
      Added value: +"Detailed only"
    • removedOutput schema / $defs / CountryMeta / properties / continent / title
      Removed value: -"Continent"
    • addedOutput schema / $defs / CountryMeta / properties / income_group / default
      Added value: +null
    • addedOutput schema / $defs / CountryMeta / properties / income_group / description
      Added value: +"Detailed only"
    • removedOutput schema / $defs / CountryMeta / properties / income_group / title
      Removed value: -"Income Group"
    • addedOutput schema / $defs / CountryMeta / properties / iso2 / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / $defs / CountryMeta / properties / iso2 / default
      Added value: +null
    • addedOutput schema / $defs / CountryMeta / properties / iso2 / description
      Added value: +"Detailed only"
    • removedOutput schema / $defs / CountryMeta / properties / iso2 / title
      Removed value: -"Iso2"
    • removedOutput schema / $defs / CountryMeta / properties / iso2 / type
      Removed value: -"string"
    • addedOutput schema / $defs / CountryMeta / properties / iso3 / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / $defs / CountryMeta / properties / iso3 / default
      Added value: +null
    • addedOutput schema / $defs / CountryMeta / properties / iso3 / description
      Added value: +"Detailed only"
    • removedOutput schema / $defs / CountryMeta / properties / iso3 / title
      Removed value: -"Iso3"
    • removedOutput schema / $defs / CountryMeta / properties / iso3 / type
      Removed value: -"string"
    • removedOutput schema / $defs / CountryMeta / properties / name / title
      Removed value: -"Name"
    • addedOutput schema / $defs / CountryMeta / properties / name_long / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / $defs / CountryMeta / properties / name_long / default
      Added value: +null
    • addedOutput schema / $defs / CountryMeta / properties / name_long / description
      Added value: +"Detailed only"
    • removedOutput schema / $defs / CountryMeta / properties / name_long / title
      Removed value: -"Name Long"
    • removedOutput schema / $defs / CountryMeta / properties / name_long / type
      Removed value: -"string"
    • removedOutput schema / $defs / CountryMeta / properties / region / title
      Removed value: -"Region"
    • addedOutput schema / $defs / CountryMeta / properties / subregion / default
      Added value: +null
    • addedOutput schema / $defs / CountryMeta / properties / subregion / description
      Added value: +"Detailed only"
    • removedOutput schema / $defs / CountryMeta / properties / subregion / title
      Removed value: -"Subregion"
    • changedOutput schema / $defs / CountryMeta / required
      Previous value: -[
      -  "name",
      -  "name_long",
      -  "iso2",
      -  "iso3",
      -  "region",
      -  "subregion",
      -  "continent",
      -  "income_group"
      -]New value: +[
      +  "name",
      +  "region"
      +]
    • removedOutput schema / $defs / CountryMeta / title
      Removed value: -"CountryMeta"
    • 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"
      +}
    • removedOutput schema / $defs / Rank / properties / note / title
      Removed value: -"Note"
    • removedOutput schema / $defs / Rank / properties / of / title
      Removed value: -"Of"
    • removedOutput schema / $defs / Rank / properties / rank / title
      Removed value: -"Rank"
    • removedOutput schema / $defs / Rank / title
      Removed value: -"Rank"
    • removedOutput schema / $defs / RankedSummary / properties / adaptation_level / title
      Removed value: -"Adaptation Level"
    • removedOutput schema / $defs / RankedSummary / properties / adaptation_score / title
      Removed value: -"Adaptation Score"
    • removedOutput schema / $defs / RankedSummary / properties / climate_level / title
      Removed value: -"Climate Level"
    • removedOutput schema / $defs / RankedSummary / properties / climate_score / title
      Removed value: -"Climate Score"
    • removedOutput schema / $defs / RankedSummary / properties / country_code / title
      Removed value: -"Country Code"
    • removedOutput schema / $defs / RankedSummary / properties / country_url / title
      Removed value: -"Country Url"
    • removedOutput schema / $defs / RankedSummary / properties / governance_level / title
      Removed value: -"Governance Level"
    • removedOutput schema / $defs / RankedSummary / properties / governance_score / title
      Removed value: -"Governance Score"
    • removedOutput schema / $defs / RankedSummary / properties / nature_level / title
      Removed value: -"Nature Level"
    • removedOutput schema / $defs / RankedSummary / properties / nature_score / title
      Removed value: -"Nature Score"
    • removedOutput schema / $defs / RankedSummary / properties / overall_level / title
      Removed value: -"Overall Level"
    • removedOutput schema / $defs / RankedSummary / properties / overall_score / title
      Removed value: -"Overall Score"
    • removedOutput schema / $defs / RankedSummary / properties / social_level / title
      Removed value: -"Social Level"
    • removedOutput schema / $defs / RankedSummary / properties / social_score / title
      Removed value: -"Social Score"
    • removedOutput schema / $defs / RankedSummary / properties / sources_updated / additionalProperties
      Removed value: -{
      -  "type": "string"
      -}
    • addedOutput schema / $defs / RankedSummary / properties / sources_updated / anyOf
      Added value: +[
      +  {
      +    "additionalProperties": {
      +      "type": "string"
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / $defs / RankedSummary / properties / sources_updated / default
      Added value: +null
    • addedOutput schema / $defs / RankedSummary / properties / sources_updated / description
      Added value: +"When each source's indicators were last updated. Detailed only"
    • removedOutput schema / $defs / RankedSummary / properties / sources_updated / title
      Removed value: -"Sources Updated"
    • removedOutput schema / $defs / RankedSummary / properties / sources_updated / type
      Removed value: -"object"
    • changedOutput schema / $defs / RankedSummary / required
      Previous 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"
      -]New 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",
      +  "meta",
      +  "rank_by_overall_risk",
      +  "country_url"
      +]
    • removedOutput schema / $defs / RankedSummary / title
      Removed value: -"RankedSummary"
    • removedOutput schema / properties / countries / title
      Removed value: -"Countries"
    • 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 / required
      Previous value: -[
      -  "countries"
      -]New value: +[
      +  "credit",
      +  "countries"
      +]
    • removedOutput schema / title
      Removed value: -"CountryComparison"
  3. 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"
  4. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, closed-world and non-destructive, so safety is covered. Beyond that, the description adds genuinely useful interpretive context the annotations do not carry: scores run 0–100 with higher meaning riskier, and rank 1 is the riskiest of 194 countries, which prevents misreading the output direction.

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

Conciseness5/5

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

Two sentences, front-loaded with the operation and its output fields, and the alternative-tool pointer placed last where it belongs. The parenthetical scale explanation earns its space by disambiguating score direction.

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?

With an output schema present, the description need not enumerate return fields, and it correctly focuses on interpretation and tool selection. The only minor gap is the absence of failure behavior for unrecognized country names, which matters given free-text name input.

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

Parameters3/5

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

Schema coverage is 100% and both parameters are documented in the schema, including the ISO3-or-name format and the concise/detailed enum meaning, so the schema does the heavy lifting. The description reinforces the 2–10 cardinality and the risk-direction semantics but adds no new parameter-level guidance.

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 (compare 2–10 named countries side by side) and enumerates exactly what is returned: overall risk score, class, world rank, plus climate, nature, social, governance and adaptation scores. This is clearly distinguishable from single-country siblings like get_country_profile.

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?

Explicitly routes the agent to rank_countries when the goal is finding the riskiest countries, which is the most likely confusion given the sibling set. It does not address when to prefer get_country_profile for a single country, but that boundary is largely implied by the 'two to ten' framing.

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.