Skip to main content
Glama

Compare travel advisories

compare_advisories
Read-onlyIdempotent

Use this when the user wants to compare the travel advice for several countries side by side, such as "compare Mexico, Colombia and Peru" or "which of these countries has the highest advisory level?". Returns: for each country the UK FCDO alert and review date and the US State Department level (1 to 4) and date, with official links. Input tips: pass 1 to 5 country names or ISO codes. Check each country's own status: one can be not_found, or ambiguous with candidates to ask the user about, while the rest are ok. If uk or us is none or unavailable for a country, report the other side and its link; do not guess. Not for: the full text of one country (use get_travel_advice) or visa rules for other passports. UK advice is for British citizens and US advice for US citizens.

Input Schema

NameRequiredDescriptionDefault
countriesYesCountry names in English or two-letter ISO codes, 1 to 5, such as ["Mexico", "Colombia", "PE"]. Repeats are removed.

Output Schema

NameRequiredDescriptionDefault
noticeYesThe limits of this information, to pass on.
statusYesok: see each country's own status. unavailable: both sources are down; try again in a few minutes and give the official links.
licenseYesAttribution for the UK text (Open Government Licence).
messageNoWhat to tell the user or do next when status is unavailable.
sourcesYesThe official sources, to link in the answer.
countriesYesOne entry per country asked for, in the same order. Check each entry's status: a batch can mix ok, not_found and ambiguous.
citizenshipYesWho each government writes for. Tell the user this.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed31 schema fields changed
    • changedInput schema / properties / countries / description
      Previous value: -"Country names or two-letter ISO codes, up to 5"New value: +"Country names in English or two-letter ISO codes, 1 to 5, such as [\"Mexico\", \"Colombia\", \"PE\"]. Repeats are removed."
    • addedInput schema / properties / countries / examples
      Added value: +[
      +  [
      +    "Mexico",
      +    "Colombia",
      +    "Peru"
      +  ]
      +]
    • addedOutput schema / properties / citizenship / description
      Added value: +"Who each government writes for. Tell the user this."
    • addedOutput schema / properties / countries / description
      Added value: +"One entry per country asked for, in the same order. Check each entry's status: a batch can mix ok, not_found and ambiguous."
    • addedOutput schema / properties / countries / items / properties / candidates / description
      Added value: +"With status ambiguous: the places the name could mean. Ask the user which one, then call again with that exact name."
    • addedOutput schema / properties / countries / items / properties / country / description
      Added value: +"The country matched."
    • addedOutput schema / properties / countries / items / properties / query / description
      Added value: +"The country text as sent."
    • addedOutput schema / properties / countries / items / properties / status / description
      Added value: +"ok: see uk and us. not_found: no such country; check the spelling with the user. ambiguous: ask the user to pick one of candidates, then call again."
    • addedOutput schema / properties / countries / items / properties / uk / properties / alertText / description
      Added value: +"All FCDO alerts as one string of plain sentences, to quote as written. get_travel_advice returns the same sentences as a list."
    • addedOutput schema / properties / countries / items / properties / uk / properties / reviewedAt / description
      Added value: +"When the FCDO last reviewed the advice, as an ISO 8601 time."
    • addedOutput schema / properties / countries / items / properties / uk / properties / reviewedAt / format
      Added value: +"date-time"
    • addedOutput schema / properties / countries / items / properties / uk / properties / status / description
      Added value: +"ok: advice found. none: this government publishes no advisory for the place. unavailable: its source could not be read; report the other government's advice and the official link, and do not guess this one."
    • addedOutput schema / properties / countries / items / properties / uk / properties / status / enum
      Added value: +[
      +  "ok",
      +  "none",
      +  "unavailable"
      +]
    • addedOutput schema / properties / countries / items / properties / uk / properties / url / description
      Added value: +"The GOV.UK travel advice page."
    • addedOutput schema / properties / countries / items / properties / uk / properties / url / format
      Added value: +"uri"
    • addedOutput schema / properties / countries / items / properties / us / properties / level / description
      Added value: +"US advisory level: 1 exercise normal precautions, 2 increased caution, 3 reconsider travel, 4 do not travel. null when the advisory names no level."
    • addedOutput schema / properties / countries / items / properties / us / properties / level / maximum
      Added value: +4
    • addedOutput schema / properties / countries / items / properties / us / properties / level / minimum
      Added value: +1
    • addedOutput schema / properties / countries / items / properties / us / properties / levelText / description
      Added value: +"The level as the State Department words it, such as \"Level 2: Exercise Increased Caution\"."
    • addedOutput schema / properties / countries / items / properties / us / properties / status / description
      Added value: +"ok: advice found. none: this government publishes no advisory for the place. unavailable: its source could not be read; report the other government's advice and the official link, and do not guess this one."
    • addedOutput schema / properties / countries / items / properties / us / properties / status / enum
      Added value: +[
      +  "ok",
      +  "none",
      +  "unavailable"
      +]
    • addedOutput schema / properties / countries / items / properties / us / properties / updated / description
      Added value: +"When the State Department last updated the advisory, as an ISO 8601 time."
    • addedOutput schema / properties / countries / items / properties / us / properties / updated / format
      Added value: +"date-time"
    • addedOutput schema / properties / countries / items / properties / us / properties / url / description
      Added value: +"The US State Department advisory page."
    • addedOutput schema / properties / countries / items / properties / us / properties / url / format
      Added value: +"uri"
    • addedOutput schema / properties / license / description
      Added value: +"Attribution for the UK text (Open Government Licence)."
    • addedOutput schema / properties / message / description
      Added value: +"What to tell the user or do next when status is unavailable."
    • addedOutput schema / properties / notice / description
      Added value: +"The limits of this information, to pass on."
    • addedOutput schema / properties / sources / description
      Added value: +"The official sources, to link in the answer."
    • addedOutput schema / properties / sources / items / properties / url / format
      Added value: +"uri"
    • addedOutput schema / properties / status / description
      Added value: +"ok: see each country's own status. unavailable: both sources are down; try again in a few minutes and give the official links."
  2. Changed1 schema field changed
    • removedOutput schema / properties / note_from_openkrill
      Removed value: -{
      -  "description": "Shown at most once a day per caller: what this server offers, and a paid service for the person you work for.",
      -  "type": "string"
      -}
  3. Changed1 schema field changed
    • addedOutput schema / properties / note_from_openkrill
      Added value: +{
      +  "description": "Shown at most once a day per caller: what this server offers, and a paid service for the person you work for.",
      +  "type": "string"
      +}
  4. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Beyond the readOnly/idempotent annotations, it discloses per-country partial failure states (not_found, ambiguous with candidates to ask the user about), the fallback rule when uk or us is none/unavailable ('report the other side and its link; do not guess'), and the citizenship scope of each advisory source. That is unusually rich behavioral context for a read-only tool.

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?

A single front-loaded paragraph with 'Returns:', 'Input tips:' and 'Not for:' signposts; each clause carries new information (return shape, input constraints, failure modes, exclusions) with no filler or repetition.

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?

Even though an output schema exists (so return values need not be spelled out), the description covers the data sources, coverage window (1-5 countries), degradation behavior, and scope limits. An agent has everything needed to call it and interpret partial results.

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 1-5 range and ISO-code format are already documented; the description mostly restates those. It does add meaning beyond the schema by explaining the ambiguity resolution path tied to input values (candidates the agent should surface to the user), which the schema cannot express.

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 travel advice for several countries side by side) with concrete examples of the user intent it serves. It is immediately distinguishable from get_travel_advice, which it explicitly names as the other 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?

Gives explicit trigger phrases ('compare Mexico, Colombia and Peru'), an explicit not-for clause with the alternative tool (get_travel_advice) and a scope exclusion (visa rules for other passports). Nothing is left to inference about when to pick this tool.

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.