Skip to main content
Glama

Emergency numbers

get_emergency_numbers
Read-onlyIdempotent

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.

Input Schema

NameRequiredDescriptionDefault
langNoLanguage for localized names (BCP 47). Supported: en, ja, zh-Hans, zh-Hant; aliases such as zh, zh-CN, zh-TW and zh-HK are mapped, and anything else falls back to English. Only names are localized; verbatim official quotes stay in their original language.en
countryYesCountry as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / country / description
      Previous value: -"Country where the emergency call will be made (the traveller's current location) as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first."New value: +"Country as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first."
  2. Changed1 schema field changed
    • changedInput schema / properties / country / description
      Previous value: -"Country as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first."New value: +"Country where the emergency call will be made (the traveller's current location) as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first."
  3. Changed7 schema fields changed
    • changedInput schema / properties / country / description
      Previous value: -"Country as ISO 3166-1 alpha-2 or alpha-3 code, e.g. JP or JPN. Use resolve_country for names."New value: +"Country as an ISO 3166-1 alpha-2 or alpha-3 code, case-insensitive (e.g. JP, jp or JPN). Names are not accepted: resolve them with resolve_country first."
    • addedInput schema / properties / country / examples
      Added value: +[
      +  "JP",
      +  "GB",
      +  "USA"
      +]
    • addedInput schema / properties / country / pattern
      Added value: +"^[A-Za-z]{2,3}$"
    • addedInput schema / properties / lang / default
      Added value: +"en"
    • changedInput schema / properties / lang / description
      Previous value: -"Response language (BCP 47). Supported: en, ja, zh-Hans, zh-Hant; falls back to English. Verbatim official quotes always stay in their original language."New value: +"Language for localized names (BCP 47). Supported: en, ja, zh-Hans, zh-Hant; aliases such as zh, zh-CN, zh-TW and zh-HK are mapped, and anything else falls back to English. Only names are localized; verbatim official quotes stay in their original language."
    • addedInput schema / properties / lang / examples
      Added value: +[
      +  "en",
      +  "ja",
      +  "zh-Hans",
      +  "zh-Hant"
      +]
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "anyOf": [
      +    {
      +      "properties": {
      +        "attribution": {
      +          "description": "Attribution strings to show to users when you display these facts.",
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "category": {
      +          "const": "emergency"
      +        },
      +        "country": {
      +          "description": "Country (ISO codes and name, localized to lang).",
      +          "properties": {
      +            "iso2": {
      +              "type": "string"
      +            },
      +            "iso3": {
      +              "type": "string"
      +            },
      +            "name": {
      +              "type": "string"
      +            },
      +            "name_lang": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "iso2"
      +          ],
      +          "type": "object"
      +        },
      +        "data": {
      +          "additionalProperties": {
      +            "description": "One cited fact.",
      +            "properties": {
      +              "attribution": {
      +                "description": "Attribution strings required by the source licenses.",
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              "confidence": {
      +                "description": "Deterministic confidence: score from 0 to 1, a level, and the reasons (source kind, cross-checks, staleness...).",
      +                "properties": {
      +                  "level": {
      +                    "examples": [
      +                      "high",
      +                      "medium",
      +                      "low"
      +                    ],
      +                    "type": "string"
      +                  },
      +                  "reasons": {
      +                    "description": "Why the score is what it is.",
      +                    "items": {
      +                      "type": "string"
      +                    },
      +                    "type": "array"
      +                  },
      +                  "score": {
      +                    "maximum": 1,
      +                    "minimum": 0,
      +                    "type": "number"
      +                  }
      +                },
      +                "required": [
      +                  "score",
      +                  "level"
      +                ],
      +                "type": "object"
      +              },
      +              "cross_checks": {
      +                "description": "Independent datasets the value was checked against, with the result.",
      +                "type": "array"
      +              },
      +              "field": {
      +                "type": "string"
      +              },
      +              "id": {
      +                "type": "string"
      +              },
      +              "last_verified": {
      +                "description": "Date the value was last verified (YYYY-MM-DD).",
      +                "type": "string"
      +              },
      +              "localization": {
      +                "type": "object"
      +              },
      +              "next_review_due": {
      +                "description": "Date of the next scheduled review (YYYY-MM-DD).",
      +                "type": "string"
      +              },
      +              "sources": {
      +                "description": "Cited sources for this fact.",
      +                "items": {
      +                  "description": "One cited source.",
      +                  "properties": {
      +                    "license": {
      +                      "description": "License of the source, e.g. CC0-1.0, OGL-UK-3.0, MIT.",
      +                      "type": "string"
      +                    },
      +                    "publisher": {
      +                      "type": "string"
      +                    },
      +                    "quote": {
      +                      "description": "Verbatim text from the source, when quoted.",
      +                      "type": "string"
      +                    },
      +                    "retrieved_at": {
      +                      "description": "When the source was fetched (ISO 8601).",
      +                      "type": "string"
      +                    },
      +                    "source_id": {
      +                      "type": "string"
      +                    },
      +                    "source_value": {
      +                      "description": "The raw value as given by the source, when not quoted."
      +                    },
      +                    "url": {
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "publisher",
      +                    "url",
      +                    "license"
      +                  ],
      +                  "type": "object"
      +                },
      +                "type": "array"
      +              },
      +              "unit": {
      +                "type": "string"
      +              },
      +              "value": {
      +                "description": "The fact value; its shape depends on the field."
      +              }
      +            },
      +            "required": [
      +              "value",
      +              "sources",
      +              "last_verified",
      +              "confidence"
      +            ],
      +            "type": "object"
      +          },
      +          "description": "Emergency-number facts. Keys are field names, each value is a cited fact.",
      +          "properties": {
      +            "numbers": {
      +              "description": "police, ambulance, fire, general (null when there is no separate number) and all_numbers.",
      +              "properties": {
      +                "attribution": {
      +                  "description": "Attribution strings required by the source licenses.",
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "type": "array"
      +                },
      +                "confidence": {
      +                  "description": "Deterministic confidence: score from 0 to 1, a level, and the reasons (source kind, cross-checks, staleness...).",
      +                  "properties": {
      +                    "level": {
      +                      "examples": [
      +                        "high",
      +                        "medium",
      +                        "low"
      +                      ],
      +                      "type": "string"
      +                    },
      +                    "reasons": {
      +                      "description": "Why the score is what it is.",
      +                      "items": {
      +                        "type": "string"
      +                      },
      +                      "type": "array"
      +                    },
      +                    "score": {
      +                      "maximum": 1,
      +                      "minimum": 0,
      +                      "type": "number"
      +                    }
      +                  },
      +                  "required": [
      +                    "score",
      +                    "level"
      +                  ],
      +                  "type": "object"
      +                },
      +                "cross_checks": {
      +                  "description": "Independent datasets the value was checked against, with the result.",
      +                  "type": "array"
      +                },
      +                "field": {
      +                  "type": "string"
      +                },
      +                "id": {
      +                  "type": "string"
      +                },
      +                "last_verified": {
      +                  "description": "Date the value was last verified (YYYY-MM-DD).",
      +                  "type": "string"
      +                },
      +                "localization": {
      +                  "type": "object"
      +                },
      +                "next_review_due": {
      +                  "description": "Date of the next scheduled review (YYYY-MM-DD).",
      +                  "type": "string"
      +                },
      +                "sources": {
      +                  "description": "Cited sources for this fact.",
      +                  "items": {
      +                    "description": "One cited source.",
      +                    "properties": {
      +                      "license": {
      +                        "description": "License of the source, e.g. CC0-1.0, OGL-UK-3.0, MIT.",
      +                        "type": "string"
      +                      },
      +                      "publisher": {
      +                        "type": "string"
      +                      },
      +                      "quote": {
      +                        "description": "Verbatim text from the source, when quoted.",
      +                        "type": "string"
      +                      },
      +                      "retrieved_at": {
      +                        "description": "When the source was fetched (ISO 8601).",
      +                        "type": "string"
      +                      },
      +                      "source_id": {
      +                        "type": "string"
      +                      },
      +                      "source_value": {
      +                        "description": "The raw value as given by the source, when not quoted."
      +                      },
      +                      "url": {
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "publisher",
      +                      "url",
      +                      "license"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                "unit": {
      +                  "type": "string"
      +                },
      +                "value": {
      +                  "description": "The fact value; its shape depends on the field."
      +                }
      +              },
      +              "required": [
      +                "value",
      +                "sources",
      +                "last_verified",
      +                "confidence"
      +              ],
      +              "type": "object"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "dataset_version": {
      +          "description": "Version of the dataset that answered.",
      +          "type": "string"
      +        },
      +        "disclaimer": {
      +          "description": "Informational-use disclaimer.",
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "country",
      +        "data",
      +        "attribution"
      +      ],
      +      "title": "Result",
      +      "type": "object"
      +    },
      +    {
      +      "description": "Only on error results (isError: true): RFC 9457 problem, e.g. unknown country, no data, key required, rate limited, sanctions block.",
      +      "properties": {
      +        "detail": {
      +          "type": "string"
      +        },
      +        "status": {
      +          "type": "integer"
      +        },
      +        "title": {
      +          "type": "string"
      +        },
      +        "type": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "type",
      +        "title",
      +        "status"
      +      ],
      +      "title": "Error (problem details)",
      +      "type": "object"
      +    },
      +    {
      +      "description": "Only on error results (isError: true): x402 v2 payment requirements. Pay and retry with _meta[\"x402/payment\"].",
      +      "properties": {
      +        "accepts": {
      +          "type": "array"
      +        },
      +        "error": {
      +          "type": "string"
      +        },
      +        "extensions": {
      +          "type": "object"
      +        },
      +        "resource": {
      +          "type": "object"
      +        },
      +        "x402Version": {
      +          "type": "integer"
      +        }
      +      },
      +      "required": [
      +        "x402Version",
      +        "accepts"
      +      ],
      +      "title": "Error (x402 payment request)",
      +      "type": "object"
      +    }
      +  ],
      +  "type": "object"
      +}
  4. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already carry the safety profile (readOnlyHint, idempotentHint, destructiveHint:false, openWorldHint:false), and the description partly repeats 'Read-only'. However it adds genuinely new behavioral context: not-found error on missing data, RFC 9457 error format, and keyless/free-key/x402 rate-limit behavior with a pricing link. Strong, with only minor redundancy against the annotations.

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, response shape, then usage/fallback/error/auth, so an agent reading top-down gets the essentials first. It is dense and clause-heavy in places (citation fields, error format, pricing all packed into a single block), costing some scannability, but almost every sentence earns its place.

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?

Output schema exists so return values needn't be spelled out, yet the description still flags citation metadata (sources[], last_verified, confidence) and the null-role fallback. Combined with annotations covering safety and explicit error/auth behavior, an agent has everything needed to invoke it correctly.

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 baseline is 3, but the description adds meaning the schema does not: country is 'where the call will be made (the traveller's location, not home); alpha-2 works best' and an inline example. That semantic clarification (call location vs. home country) is real added value; lang is left to the schema.

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 (emergency numbers for one country) and even names the response shape (data.numbers.value with the five role keys). It explicitly distinguishes itself from siblings: 'Use it when only these numbers are needed; get_country_facts for several facts, get_trip_brief for a whole trip.' An agent can route 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?

Gives explicit when-to-use ('when only these numbers are needed') plus named alternatives with their selecting conditions (get_country_facts, get_trip_brief). It also handles the fallback branch ('A role without its own number is null: then use general, else all_numbers'), leaving little 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.

Resources