Skip to content

CitedTravel

by citedtravel.com · remote · no sign-in to list tools · v0.2.0 · published by com.citedtravel

Cited travel facts for 195 countries: plugs, currency, emergency numbers, holidays, visa pilot.

Changes · 2

9 tools: 2 change things and 7 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http citedtravel https://citedtravel.com/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

9 tools

Changes things 2Claude Code: ask
  • check_entry_requirementsVisa/entry information for a short tourist stay, for a pilot set of passports, from official government sources, with verbatim quotes, official links and a mandatory advisory.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Visa/entry information for a short tourist stay, for a pilot set of passports, from official government sources, with verbatim quotes, official links and a mandatory advisory. Decision support only: never a go/no-go verdict. Returns status (visa_free, visa_free_with_requirements, visa_on_arrival, eta_required, evisa_required, visa_required, unclear), max_stay_days, additional_requirements[], quotes[] (authoritative), official_links, advisory, sources[], confidence, last_verified. One passport, one destination; for a full trip use get_trip_brief, which embeds this per destination. Coverage: pilot passports (the error for others lists them), tourism only. Based on the passport country's official travel advice; the destination's own rules are covered only as far as the official pages quoted in quotes[]. Transit, other visa types and special cases are not covered: point users to official_links, and always show the advisory. Parameters: passport is the nationality of the passport used (dual nationals: one call each); destination is the country entered, not transit stops. Example: {"passport":"GB","destination":"JP"}. Read-only; free API key or x402 per call (https://citedtravel.com/pricing/); errors RFC 9457.

    Annotations the server declares

    • title: Entry requirements (pilot)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • check_power_compatibilityDoes a traveller need a plug adapter or voltage converter?No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Does a traveller need a plug adapter or voltage converter? verdict {adapter: not_needed | needed | depends_on_plug, converter: not_needed | usually_not_needed | needed_for_single_voltage_devices | unknown, plug_fit[], frequency_note, guidance}, computed from cited plug, voltage and frequency facts (inputs[], with sources and confidence; top-level confidence is their lowest). Plug fit is conservative. For raw power facts use get_country_facts; for a whole trip get_trip_brief (includes this verdict per destination). Parameters: home_country is where the devices were bought (their plugs and rating), not nationality; destination is where they will be plugged in. Example: {"home_country":"GB","destination":"US"}. Read-only; keyless (free key or x402 lifts limits: https://citedtravel.com/pricing/); errors RFC 9457.

    Annotations the server declares

    • title: Power compatibility
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 7Claude Code: allow
  • get_country_factsSeveral cited facts for one country in one call: power, currency, emergency numbers, driving side, this year's public holidays, tipping (data.<category>.<field>; a category without…No findings

    Why it is in this group

    • The name "get_country_facts" says "get": a word for reading.
    Description, as the server wrote it
    Several cited facts for one country in one call: power, currency, emergency numbers, driving side, this year's public holidays, tipping (data.<category>.<field>; a category without data is {}). Use it for a country overview. For one topic use get_emergency_numbers, get_tipping_norms, get_public_holidays (any dates) or check_power_compatibility (adapter verdict); for a whole trip get_trip_brief; for visas check_entry_requirements. Each fact is cited: sources[] (url, license), last_verified, confidence. Parameters: alpha-2 country codes work best (alpha-3 too; names via resolve_country). Request only the categories you need to keep the answer small. Examples: {"country":"JP"}, {"country":"FRA","categories":["power","currency"]}. Read-only; keyless (free key or x402 lifts limits: https://citedtravel.com/pricing/); errors RFC 9457.

    Annotations the server declares

    • title: Country facts
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_emergency_numbersEmergency numbers for one country: data.numbers.value {police, ambulance, fire, general, all_numbers}.No findings

    Why it is in this group

    • The name "get_emergency_numbers" says "get": a word for reading.
    Description, as the server wrote it
    Emergency numbers for one country: data.numbers.value {police, ambulance, fire, general, all_numbers}. A role without its own number is null: then use general, else all_numbers (in 58 countries only all_numbers is filled). Use it when only these numbers are needed; get_country_facts for several facts, get_trip_brief for a whole trip. No data for the country is a not-found error. Each fact is cited: sources[] (url, license), last_verified, confidence. Parameters: country is where the call will be made (the traveller's location, not home); alpha-2 works best. Example: {"country":"JP"}. Read-only; keyless (free key or x402 lifts limits: https://citedtravel.com/pricing/); errors RFC 9457.

    Annotations the server declares

    • title: Emergency numbers
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_public_holidaysNational public holidays between two dates: data.holidays[] {date, name} by date, plus one citation per year in data.facts[].No findings

    Why it is in this group

    • The name "get_public_holidays" says "get": a word for reading.
    Description, as the server wrote it
    National public holidays between two dates: data.holidays[] {date, name} by date, plus one citation per year in data.facts[]. Use it to check travel dates for closures and crowds; get_country_facts has this year's list with other facts, get_trip_brief covers a whole trip. Data spans the current year and the next two (outside: empty list plus coverage_note); no regional holidays. Each fact is cited: sources[] (url, license), last_verified, confidence. Parameters: from and to are inclusive: pass the travel dates, or YYYY-01-01 to YYYY-12-31 for a year. Over two years, or to before from, is an error. Example: {"country":"JP","from":"2026-12-28","to":"2027-01-05"}. Read-only; keyless (free key or x402 lifts limits: https://citedtravel.com/pricing/); errors RFC 9457.

    Annotations the server declares

    • title: Public holidays
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_tipping_normsTipping customs for one country: data.norms.value {overall_context, situations {<situation>: {expectation, guidance_type, percent_min, percent_max}}}; percentages only where a sour…No findings

    Why it is in this group

    • The name "get_tipping_norms" says "get": a word for reading.
    Description, as the server wrote it
    Tipping customs for one country: data.norms.value {overall_context, situations {<situation>: {expectation, guidance_type, percent_min, percent_max}}}; percentages only where a source states them. Use it for "should I tip, and how much?"; get_country_facts for several facts, get_trip_brief for a whole trip. Custom, not law: confidence reflects that. Each fact is cited: sources[] (url, license), last_verified, confidence. Parameters: omit situation for all; one situation returns only that (no data gives empty situations, not an error). Examples: {"country":"US"}, {"country":"JP","situation":"taxi"}. Read-only; keyless (free key or x402 lifts limits: https://citedtravel.com/pricing/); errors RFC 9457.

    Annotations the server declares

    • title: Tipping norms
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_trip_briefWhole-trip brief for 1-5 destinations: per destination, in order, entry (as check_entry_requirements, if passport given), power verdict from home_country, currency, emergency numbe…No findings

    Why it is in this group

    • The name "get_trip_brief" says "get": a word for reading.
    Description, as the server wrote it
    Whole-trip brief for 1-5 destinations: per destination, in order, entry (as check_entry_requirements, if passport given), power verdict from home_country, currency, emergency numbers, driving side, tipping and holidays between from and to. Use it to summarise a trip; for one fact use check_entry_requirements, check_power_compatibility, get_emergency_numbers, get_tipping_norms or get_public_holidays, and get_country_facts for one country without dates. No passport: entry null, no advisory. If one destination's entry can't be answered (outside pilot, no data, same country) it is {unavailable: reason} and the rest still returns. power is null at home or without plug data; a category without data is {}. An unknown home or destination code, over 5 destinations or a bad date range fails the call. Each fact is cited: sources[] (url, license), last_verified, confidence. Show the advisory. Parameters: passport = nationality (optional); home_country = where traveller and devices come from; destinations in travel order, home only if it is a stop; from/to = whole trip, inclusive. Example: {"passport":"US","home_country":"US","destinations":["JP","KR"],"from":"2026-12-28","to":"2027-01-05"}. Read-only; free API key or x402, charged per call, not per destination (https://citedtravel.com/pricing/); errors RFC 9457.

    Annotations the server declares

    • title: Trip brief
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_recent_changesDataset change feed, newest first: data[] {changed_on, fact_id, country, category, change: added | updated | removed, old_value, new_value, source_url}.No findings

    Why it is in this group

    • The name "list_recent_changes" says "list": a word for reading.
    Description, as the server wrote it
    Dataset change feed, newest first: data[] {changed_on, fact_id, country, category, change: added | updated | removed, old_value, new_value, source_url}. Use it to refresh caches or alert users when a fact changes, then fetch the current cited value (sources, license, confidence) with the matching tool, e.g. get_country_facts or check_entry_requirements. Entry rows: country is the destination, fact_id is entry:<passport>-><destination>. Parameters: set since to the last changed_on you processed (inclusive: that day repeats). Filter by category and/or country; exactly limit rows means older ones were cut, so raise limit or narrow. Examples: {"since":"2026-10-01"}, {"since":"2026-10-01","category":"entry","country":"JP"}. Read-only; keyless (free key or x402 lifts limits: https://citedtravel.com/pricing/); errors RFC 9457.

    Annotations the server declares

    • title: Recent changes
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • resolve_countryTurns a country name, alias or code (English, Japanese, Chinese) into ISO codes: matches[] {iso2, iso3, name, score}, best first, max 5, empty if none.No findings

    Why it is in this group

    • The name "resolve_country" says "resolve": a word for reading.
    Description, as the server wrote it
    Turns a country name, alias or code (English, Japanese, Chinese) into ISO codes: matches[] {iso2, iso3, name, score}, best first, max 5, empty if none. Call it first when you only have a name: get_country_facts, check_entry_requirements, get_trip_brief and the other tools take ISO codes. Exact, prefix (3+ chars) or substring (4+) match, ignoring case and punctuation; no spelling correction. Names only (CLDR): no sources or confidence. Parameters: pass query as the user wrote it; if nothing matches, retry with the official or local name. lang only localizes the returned names. Examples: {"query":"日本"}, {"query":"South Korea","lang":"ja"}. Read-only; free and keyless, no quota.

    Annotations the server declares

    • title: Resolve country
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.2.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http citedtravel https://citedtravel.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__citedtravel__resolve_country",
      "mcp__citedtravel__get_country_facts",
      "mcp__citedtravel__get_emergency_numbers",
      "mcp__citedtravel__get_tipping_norms",
      "mcp__citedtravel__get_public_holidays",
      "mcp__citedtravel__get_trip_brief",
      "mcp__citedtravel__list_recent_changes"
    ],
    "ask": [
      "mcp__citedtravel__check_power_compatibility",
      "mcp__citedtravel__check_entry_requirements"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as citedtravel. Review it before you use it.