trivago
trivago's mcp server to find your ideal hotel and compare prices from multiple providers.
Should I use this
Quality & Safety
Findings (5)
- LOWin trivago-accommodation-radius-search
- LOWin trivago-accommodation-radius-search
- LOWin trivago-accommodation-search
- LOWin trivago-destination-price-trends
- LOWin trivago-destination-price-trends
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"mcp": {
"url": "https://mcp.trivago.com/mcp"
}
}
}Remote endpoints
https://mcp.trivago.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (3)
🟢trivago-accommodation-radius-search(latitude, longitude, arrival, departure, adults, ...)
Search live hotel and accommodation listings near specific coordinates — a landmark, address, venue, or neighborhood — aggregated via trivago's metasearch of major booking sites. Returns the same, filterable results as trivago-accommodation-search. Use when the user anchors their search to a place rather than a named destination (e.g. "near the stadium," "within walking distance of X").
Input Schema
{
"type": "object",
"properties": {
"latitude": {
"type": "number",
"format": "double",
"description": "Latitude of the search target location (landmark, address, or neighborhood — not the user's location)."
},
"longitude": {
"type": "number",
"format": "double",
"description": "Longitude of the search target location (landmark, address, or neighborhood — not the user's location)."
},
"arrival": {
"type": "string",
"description": "The arrival date in YYYY-MM-DD format. It must be today or in the future and MUST be before the departure date. If the arrival date is not in the future, notify the user that the arrival date is not in the future."
},
"departure": {
"type": "string",
"description": "The departure date in YYYY-MM-DD format. It MUST be after the arrival date. If the departure date is not after the arrival date, notify the user that the departure date is not after the arrival date."
},
"adults": {
"type": "integer",
"format": "int32",
"description": "The number of adults."
},
"children": {
"type": "integer",
"format": "int32",
"description": "The number of children."
},
"children_ages": {
"type": "string",
"description": "Dashed separated list of children ages, e.g. 10-12-14"
},
"rooms": {
"type": "integer",
"format": "int32",
"description": "The number of rooms, Number of rooms must be lower than or equal to the number of adults"
},
"country": {
"type": "string",
"enum": [
"AD",
"AE",
"AF",
"AG",
"AI",
"AL",
"AM",
"AO",
"AR",
"AS",
"AT",
"AU",
"AW",
"AX",
"AZ",
"BA",
"BB",
"BD",
"BE",
"BF",
"BG",
"BH",
"BI",
"BJ",
"BL",
"BM",
"BN",
"BO",
"BQ",
"BR",
"BS",
"BT",
"BW",
"BY",
"BZ",
"CA",
"CC",
"CD",
"CF",
"CG",
"CH",
"CI",
"CK",
"CL",
"CM",
"CN",
"CO",
"CR",
"CU",
"CV",
"CW",
"CX",
"CY",
"CZ",
"DE",
"DJ",
"DK",
"DM",
"DO",
"DZ",
"EC",
"EE",
"EG",
"ER",
"ES",
"ET",
"FI",
"FJ",
"FK",
"FM",
"FO",
"FR",
"GA",
"GB",
"GD",
"GE",
"GF",
"GG",
"GH",
"GI",
"GL",
"GM",
"GN",
"GP",
"GQ",
"GR",
"GT",
"GU",
"GW",
"GY",
"HK",
"HN",
"HR",
"HT",
"HU",
"ID",
"IE",
"IL",
"IM",
"IN",
"IQ",
"IS",
"IT",
"JE",
"JM",
"JO",
"JP",
"KE",
"KG",
"KH",
"KM",
"KN",
"KR",
"KW",
"KY",
"KZ",
"LA",
"LB",
"LC",
"LI",
"LK",
"LR",
"LS",
"LT",
"LU",
"LV",
"LY",
"MA",
"MC",
"MD",
"ME",
"MF",
"MG",
"MH",
"MK",
"ML",
"MM",
"MN",
"MO",
"MP",
"MQ",
"MR",
"MS",
"MT",
"MU",
"MV",
"MW",
"MX",
"MY",
"MZ",
"NA",
"NC",
"NE",
"NF",
"NG",
"NI",
"NL",
"NO",
"NP",
"NR",
"NU",
"NZ",
"OM",
"PA",
"PE",
"PF",
"PG",
"PH",
"PK",
"PL",
"PM",
"PR",
"PS",
"PT",
"PW",
"PY",
"QA",
"RE",
"RO",
"RS",
"RW",
"SA",
"SB",
"SC",
"SD",
"SE",
"SG",
"SH",
"SI",
"SK",
"SL",
"SM",
"SN",
"SO",
"SR",
"SS",
"ST",
"SV",
"SX",
"SY",
"SZ",
"TC",
"TD",
"TG",
"TH",
"TJ",
"TL",
"TM",
"TN",
"TO",
"TR",
"TT",
"TW",
"TZ",
"UA",
"UG",
"US",
"UY",
"UZ",
"VA",
"VC",
"VE",
"VG",
"VI",
"VN",
"VU",
"WS",
"XK",
"YE",
"YT",
"ZA",
"ZM",
"ZW"
],
"description": "ISO alpha-2 country code that determines market-specific pricing and content. Default: US."
},
"currency": {
"type": "string",
"enum": [
"AED",
"ARS",
"AUD",
"AZN",
"BGN",
"BHD",
"BRL",
"CAD",
"CHF",
"CLP",
"CNY",
"COP",
"CZK",
"DKK",
"DZD",
"EGP",
"EUR",
"GBP",
"HKD",
"HRK",
"HUF",
"IDR",
"ILS",
"INR",
"JOD",
"JPY",
"KRW",
"KWD",
"KZT",
"LBP",
"MAD",
"MDL",
"MXN",
"MYR",
"NGN",
"NOK",
"NZD",
"OMR",
"PEN",
"PHP",
"PLN",
"QAR",
"RON",
"RSD",
"RUB",
"SAR",
"SEK",
"SGD",
"THB",
"TND",
"TRY",
"TWD",
"UAH",
"USD",
"UYU",
"VND",
"ZAR"
],
"description": "ISO 4217 currency code used to display prices. Default: USD."
},
"language": {
"type": "string",
"enum": [
"AR145",
"CS_CZ",
"DA_DK",
"DE_AT",
"DE_CH",
"DE_DE",
"EL_GR",
"EN_AU",
"EN_GB",
"EN_HK",
"EN_IE",
"EN_IN",
"EN_NZ",
"EN_PH",
"EN_SG",
"EN_US",
"EN_ZA",
"ES_AR",
"ES_CL",
"ES_CO",
"ES_ES",
"ES_MX",
"ES_PE",
"FI_FI",
"FR_BE",
"FR_CH",
"FR_FR",
"HE_IL",
"HU_HU",
"ID_ID",
"IT_IT",
"JA_JP",
"KO_KR",
"MS_MY",
"NL_BE",
"NL_NL",
"NO_NO",
"PL_PL",
"PT_BR",
"PT_PT",
"RO_RO",
"RU_RU",
"SV_SE",
"TH_TH",
"TR_TR",
"VI_VN",
"ZH_HANS_CN",
"ZH_HANT_HK",
"ZH_HANT_TW"
],
"description": "Language code for translated content (e.g. EN_US, DE_DE, ZH_HANS_CN). Default: EN_US."
},
"filters": {
"type": "object",
"properties": {
"airConditioning": {
"type": "boolean",
"description": "Whether the accommodation has air conditioning"
},
"breakfastIncluded": {
"type": "boolean",
"description": "Whether the accommodation includes breakfast"
},
"freeCancellation": {
"type": "boolean",
"description": "Whether the accommodation has free cancellation"
},
"freeWiFi": {
"type": "boolean",
"description": "Whether the accommodation has free WiFi"
},
"gym": {
"type": "boolean",
"description": "Whether the accommodation has a gym"
},
"kitchen": {
"type": "boolean",
"description": "Whether the accommodation has a kitchen"
},
"parking": {
"type": "boolean",
"description": "Whether the accommodation has parking"
},
"petFriendly": {
"type": "boolean",
"description": "Whether the accommodation is pet friendly"
},
"pool": {
"type": "boolean",
"description": "Whether the accommodation has a pool"
},
"spa": {
"type": "boolean",
"description": "Whether the accommodation has a spa"
}
},
"description": "The filters that you want to apply to the search. Set true or false for each filter. Multiple filters can be selected."
},
"review_rating": {
"type": "object",
"properties": {
"rating70": {
"type": "boolean",
"description": "Whether the accommodation has a Guest Rating of 7.0+"
},
"rating75": {
"type": "boolean",
"description": "Whether the accommodation has a Guest Rating of 7.5+"
},
"rating80": {
"type": "boolean",
"description": "Whether the accommodation has a Guest Rating of 8.0+"
},
"rating85": {
"type": "boolean",
"description": "Whether the accommodation has a Guest Rating of 8.5+"
}
},
"description": "The guest review rating that you want to filter by. Set true or false for each rating. Multiple ratings can be selected."
},
"hotel_rating": {
"type": "object",
"properties": {
"1star": {
"type": "boolean",
"description": "Whether the accommodation has a 1 star rating"
},
"2star": {
"type": "boolean",
"description": "Whether the accommodation has a 2 star rating"
},
"3star": {
"type": "boolean",
"description": "Whether the accommodation has a 3 star rating"
},
"4star": {
"type": "boolean",
"description": "Whether the accommodation has a 4 star rating"
},
"5star": {
"type": "boolean",
"description": "Whether the accommodation has a 5 star rating"
}
},
"description": "The hotel rating that you want to filter by. Set true or false for each rating. Multiple ratings can be selected."
},
"user_prompt": {
"type": "string",
"description": "The user's original message that led to this tool call, verbatim and in the user's own language. Do not summarize, translate or rewrite it."
}
},
"required": [
"latitude",
"longitude",
"arrival",
"departure"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢trivago-accommodation-search(query, arrival, departure, adults, children, ...)
Search live hotel and accommodation listings by destination or point of interest, aggregated via trivago's metasearch of major booking sites. Returns results with price, rating, amenities, and a link per property. Supports date range, guest/room configuration, and filters for star rating, guest rating, and amenities. Use for destination- or place-name-based lodging search.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Destination or point of interest."
},
"arrival": {
"type": "string",
"description": "The arrival date in YYYY-MM-DD format. It must be today or in the future and MUST be before the departure date. If the arrival date is not in the future, notify the user that the arrival date is not in the future."
},
"departure": {
"type": "string",
"description": "The departure date in YYYY-MM-DD format. It MUST be after the arrival date. If the departure date is not after the arrival date, notify the user that the departure date is not after the arrival date."
},
"adults": {
"type": "integer",
"format": "int32",
"description": "The number of adults."
},
"children": {
"type": "integer",
"format": "int32",
"description": "The number of children."
},
"children_ages": {
"type": "string",
"description": "Dashed separated list of children ages, e.g. 10-12-14"
},
"rooms": {
"type": "integer",
"format": "int32",
"description": "The number of rooms, Number of rooms must be lower than or equal to the number of adults"
},
"country": {
"type": "string",
"enum": [
"AD",
"AE",
"AF",
"AG",
"AI",
"AL",
"AM",
"AO",
"AR",
"AS",
"AT",
"AU",
"AW",
"AX",
"AZ",
"BA",
"BB",
"BD",
"BE",
"BF",
"BG",
"BH",
"BI",
"BJ",
"BL",
"BM",
"BN",
"BO",
"BQ",
"BR",
"BS",
"BT",
"BW",
"BY",
"BZ",
"CA",
"CC",
"CD",
"CF",
"CG",
"CH",
"CI",
"CK",
"CL",
"CM",
"CN",
"CO",
"CR",
"CU",
"CV",
"CW",
"CX",
"CY",
"CZ",
"DE",
"DJ",
"DK",
"DM",
"DO",
"DZ",
"EC",
"EE",
"EG",
"ER",
"ES",
"ET",
"FI",
"FJ",
"FK",
"FM",
"FO",
"FR",
"GA",
"GB",
"GD",
"GE",
"GF",
"GG",
"GH",
"GI",
"GL",
"GM",
"GN",
"GP",
"GQ",
"GR",
"GT",
"GU",
"GW",
"GY",
"HK",
"HN",
"HR",
"HT",
"HU",
"ID",
"IE",
"IL",
"IM",
"IN",
"IQ",
"IS",
"IT",
"JE",
"JM",
"JO",
"JP",
"KE",
"KG",
"KH",
"KM",
"KN",
"KR",
"KW",
"KY",
"KZ",
"LA",
"LB",
"LC",
"LI",
"LK",
"LR",
"LS",
"LT",
"LU",
"LV",
"LY",
"MA",
"MC",
"MD",
"ME",
"MF",
"MG",
"MH",
"MK",
"ML",
"MM",
"MN",
"MO",
"MP",
"MQ",
"MR",
"MS",
"MT",
"MU",
"MV",
"MW",
"MX",
"MY",
"MZ",
"NA",
"NC",
"NE",
"NF",
"NG",
"NI",
"NL",
"NO",
"NP",
"NR",
"NU",
"NZ",
"OM",
"PA",
"PE",
"PF",
"PG",
"PH",
"PK",
"PL",
"PM",
"PR",
"PS",
"PT",
"PW",
"PY",
"QA",
"RE",
"RO",
"RS",
"RW",
"SA",
"SB",
"SC",
"SD",
"SE",
"SG",
"SH",
"SI",
"SK",
"SL",
"SM",
"SN",
"SO",
"SR",
"SS",
"ST",
"SV",
"SX",
"SY",
"SZ",
"TC",
"TD",
"TG",
"TH",
"TJ",
"TL",
"TM",
"TN",
"TO",
"TR",
"TT",
"TW",
"TZ",
"UA",
"UG",
"US",
"UY",
"UZ",
"VA",
"VC",
"VE",
"VG",
"VI",
"VN",
"VU",
"WS",
"XK",
"YE",
"YT",
"ZA",
"ZM",
"ZW"
],
"description": "ISO alpha-2 country code that determines market-specific pricing and content. Default: US."
},
"currency": {
"type": "string",
"enum": [
"AED",
"ARS",
"AUD",
"AZN",
"BGN",
"BHD",
"BRL",
"CAD",
"CHF",
"CLP",
"CNY",
"COP",
"CZK",
"DKK",
"DZD",
"EGP",
"EUR",
"GBP",
"HKD",
"HRK",
"HUF",
"IDR",
"ILS",
"INR",
"JOD",
"JPY",
"KRW",
"KWD",
"KZT",
"LBP",
"MAD",
"MDL",
"MXN",
"MYR",
"NGN",
"NOK",
"NZD",
"OMR",
"PEN",
"PHP",
"PLN",
"QAR",
"RON",
"RSD",
"RUB",
"SAR",
"SEK",
"SGD",
"THB",
"TND",
"TRY",
"TWD",
"UAH",
"USD",
"UYU",
"VND",
"ZAR"
],
"description": "ISO 4217 currency code used to display prices. Default: USD."
},
"language": {
"type": "string",
"enum": [
"AR145",
"CS_CZ",
"DA_DK",
"DE_AT",
"DE_CH",
"DE_DE",
"EL_GR",
"EN_AU",
"EN_GB",
"EN_HK",
"EN_IE",
"EN_IN",
"EN_NZ",
"EN_PH",
"EN_SG",
"EN_US",
"EN_ZA",
"ES_AR",
"ES_CL",
"ES_CO",
"ES_ES",
"ES_MX",
"ES_PE",
"FI_FI",
"FR_BE",
"FR_CH",
"FR_FR",
"HE_IL",
"HU_HU",
"ID_ID",
"IT_IT",
"JA_JP",
"KO_KR",
"MS_MY",
"NL_BE",
"NL_NL",
"NO_NO",
"PL_PL",
"PT_BR",
"PT_PT",
"RO_RO",
"RU_RU",
"SV_SE",
"TH_TH",
"TR_TR",
"VI_VN",
"ZH_HANS_CN",
"ZH_HANT_HK",
"ZH_HANT_TW"
],
"description": "Language code for translated content (e.g. EN_US, DE_DE, ZH_HANS_CN). Default: EN_US."
},
"filters": {
"type": "object",
"properties": {
"airConditioning": {
"type": "boolean",
"description": "Whether the accommodation has air conditioning"
},
"breakfastIncluded": {
"type": "boolean",
"description": "Whether the accommodation includes breakfast"
},
"freeCancellation": {
"type": "boolean",
"description": "Whether the accommodation has free cancellation"
},
"freeWiFi": {
"type": "boolean",
"description": "Whether the accommodation has free WiFi"
},
"gym": {
"type": "boolean",
"description": "Whether the accommodation has a gym"
},
"kitchen": {
"type": "boolean",
"description": "Whether the accommodation has a kitchen"
},
"parking": {
"type": "boolean",
"description": "Whether the accommodation has parking"
},
"petFriendly": {
"type": "boolean",
"description": "Whether the accommodation is pet friendly"
},
"pool": {
"type": "boolean",
"description": "Whether the accommodation has a pool"
},
"spa": {
"type": "boolean",
"description": "Whether the accommodation has a spa"
}
},
"description": "The filters that you want to apply to the search. Set true or false for each filter. Multiple filters can be selected."
},
"review_rating": {
"type": "object",
"properties": {
"rating70": {
"type": "boolean",
"description": "Whether the accommodation has a Guest Rating of 7.0+"
},
"rating75": {
"type": "boolean",
"description": "Whether the accommodation has a Guest Rating of 7.5+"
},
"rating80": {
"type": "boolean",
"description": "Whether the accommodation has a Guest Rating of 8.0+"
},
"rating85": {
"type": "boolean",
"description": "Whether the accommodation has a Guest Rating of 8.5+"
}
},
"description": "The guest review rating that you want to filter by. Set true or false for each rating. Multiple ratings can be selected."
},
"hotel_rating": {
"type": "object",
"properties": {
"1star": {
"type": "boolean",
"description": "Whether the accommodation has a 1 star rating"
},
"2star": {
"type": "boolean",
"description": "Whether the accommodation has a 2 star rating"
},
"3star": {
"type": "boolean",
"description": "Whether the accommodation has a 3 star rating"
},
"4star": {
"type": "boolean",
"description": "Whether the accommodation has a 4 star rating"
},
"5star": {
"type": "boolean",
"description": "Whether the accommodation has a 5 star rating"
}
},
"description": "The hotel rating that you want to filter by. Set true or false for each rating. Multiple ratings can be selected."
},
"user_prompt": {
"type": "string",
"description": "The user's original message that led to this tool call, verbatim and in the user's own language. Do not summarize, translate or rewrite it."
}
},
"required": [
"query",
"arrival",
"departure"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢trivago-destination-price-trends(query, start_month, end_month, country, currency, ...)
Forecast monthly hotel price trends for a destination — average, minimum, and maximum nightly rate by star rating, across a date window. Use for planning questions like "when is the cheapest month to visit X" or "how do prices change through the year" — this is a forecasting tool, not a live-availability search.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "\nDestination query. Accepts two formats:\n- Free-text destination name, e.g. \"Berlin\", \"Paris\", \"New York\".\n- Coordinate pair in the format lat:<latitude>,long:<longitude>, e.g. \"lat:52.52,long:13.405\". The nearest destination to those coordinates is used. Latitude must be in [-90, 90] and longitude in [-180, 180].\n"
},
"start_month": {
"type": "string",
"description": "Optional start year-month in YYYY-MM format (e.g. 2026-06). When omitted, the bridge defaults to the current month plus the next two months. It must be set when end_month is set."
},
"end_month": {
"type": "string",
"description": "Optional end year-month in YYYY-MM format (e.g. 2026-12). Must not be before start_month. Requires start_month to also be set."
},
"country": {
"type": "string",
"enum": [
"AD",
"AE",
"AF",
"AG",
"AI",
"AL",
"AM",
"AO",
"AR",
"AS",
"AT",
"AU",
"AW",
"AX",
"AZ",
"BA",
"BB",
"BD",
"BE",
"BF",
"BG",
"BH",
"BI",
"BJ",
"BL",
"BM",
"BN",
"BO",
"BQ",
"BR",
"BS",
"BT",
"BW",
"BY",
"BZ",
"CA",
"CC",
"CD",
"CF",
"CG",
"CH",
"CI",
"CK",
"CL",
"CM",
"CN",
"CO",
"CR",
"CU",
"CV",
"CW",
"CX",
"CY",
"CZ",
"DE",
"DJ",
"DK",
"DM",
"DO",
"DZ",
"EC",
"EE",
"EG",
"ER",
"ES",
"ET",
"FI",
"FJ",
"FK",
"FM",
"FO",
"FR",
"GA",
"GB",
"GD",
"GE",
"GF",
"GG",
"GH",
"GI",
"GL",
"GM",
"GN",
"GP",
"GQ",
"GR",
"GT",
"GU",
"GW",
"GY",
"HK",
"HN",
"HR",
"HT",
"HU",
"ID",
"IE",
"IL",
"IM",
"IN",
"IQ",
"IS",
"IT",
"JE",
"JM",
"JO",
"JP",
"KE",
"KG",
"KH",
"KM",
"KN",
"KR",
"KW",
"KY",
"KZ",
"LA",
"LB",
"LC",
"LI",
"LK",
"LR",
"LS",
"LT",
"LU",
"LV",
"LY",
"MA",
"MC",
"MD",
"ME",
"MF",
"MG",
"MH",
"MK",
"ML",
"MM",
"MN",
"MO",
"MP",
"MQ",
"MR",
"MS",
"MT",
"MU",
"MV",
"MW",
"MX",
"MY",
"MZ",
"NA",
"NC",
"NE",
"NF",
"NG",
"NI",
"NL",
"NO",
"NP",
"NR",
"NU",
"NZ",
"OM",
"PA",
"PE",
"PF",
"PG",
"PH",
"PK",
"PL",
"PM",
"PR",
"PS",
"PT",
"PW",
"PY",
"QA",
"RE",
"RO",
"RS",
"RW",
"SA",
"SB",
"SC",
"SD",
"SE",
"SG",
"SH",
"SI",
"SK",
"SL",
"SM",
"SN",
"SO",
"SR",
"SS",
"ST",
"SV",
"SX",
"SY",
"SZ",
"TC",
"TD",
"TG",
"TH",
"TJ",
"TL",
"TM",
"TN",
"TO",
"TR",
"TT",
"TW",
"TZ",
"UA",
"UG",
"US",
"UY",
"UZ",
"VA",
"VC",
"VE",
"VG",
"VI",
"VN",
"VU",
"WS",
"XK",
"YE",
"YT",
"ZA",
"ZM",
"ZW"
],
"description": "ISO alpha-2 country code that determines market-specific pricing and content. Default: US."
},
"currency": {
"type": "string",
"enum": [
"AED",
"ARS",
"AUD",
"AZN",
"BGN",
"BHD",
"BRL",
"CAD",
"CHF",
"CLP",
"CNY",
"COP",
"CZK",
"DKK",
"DZD",
"EGP",
"EUR",
"GBP",
"HKD",
"HRK",
"HUF",
"IDR",
"ILS",
"INR",
"JOD",
"JPY",
"KRW",
"KWD",
"KZT",
"LBP",
"MAD",
"MDL",
"MXN",
"MYR",
"NGN",
"NOK",
"NZD",
"OMR",
"PEN",
"PHP",
"PLN",
"QAR",
"RON",
"RSD",
"RUB",
"SAR",
"SEK",
"SGD",
"THB",
"TND",
"TRY",
"TWD",
"UAH",
"USD",
"UYU",
"VND",
"ZAR"
],
"description": "ISO 4217 currency code used to display prices. Default: USD."
},
"language": {
"type": "string",
"enum": [
"AR145",
"CS_CZ",
"DA_DK",
"DE_AT",
"DE_CH",
"DE_DE",
"EL_GR",
"EN_AU",
"EN_GB",
"EN_HK",
"EN_IE",
"EN_IN",
"EN_NZ",
"EN_PH",
"EN_SG",
"EN_US",
"EN_ZA",
"ES_AR",
"ES_CL",
"ES_CO",
"ES_ES",
"ES_MX",
"ES_PE",
"FI_FI",
"FR_BE",
"FR_CH",
"FR_FR",
"HE_IL",
"HU_HU",
"ID_ID",
"IT_IT",
"JA_JP",
"KO_KR",
"MS_MY",
"NL_BE",
"NL_NL",
"NO_NO",
"PL_PL",
"PT_BR",
"PT_PT",
"RO_RO",
"RU_RU",
"SV_SE",
"TH_TH",
"TR_TR",
"VI_VN",
"ZH_HANS_CN",
"ZH_HANT_HK",
"ZH_HANT_TW"
],
"description": "Language code for translated content (e.g. EN_US, DE_DE, ZH_HANS_CN). Default: EN_US."
},
"hotel_rating": {
"type": "object",
"properties": {
"3star": {
"type": "boolean",
"description": "Include 3-star hotels in the price statistics"
},
"4star": {
"type": "boolean",
"description": "Include 4-star hotels in the price statistics"
},
"5star": {
"type": "boolean",
"description": "Include 5-star hotels in the price statistics"
}
},
"description": "The hotel star ratings to include in the price statistics. Only 3, 4, and 5-star hotels are supported — forecasted price statistics are not available for 1 or 2-star hotels. Set true or false for each rating. Multiple ratings can be selected. When no rating is selected, the results default to 3-star hotels only."
},
"user_prompt": {
"type": "string",
"description": "The user's original message that led to this tool call, verbatim and in the user's own language. Do not summarize, translate or rewrite it."
}
},
"required": [
"query"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"currency": {
"type": [
"string",
"null"
],
"description": "ISO 4217 currency code used to format prices in the response."
},
"destinations": {
"description": "Destinations matching the query, each with a list of monthly price statistics.",
"type": "array",
"items": {
"type": "object",
"properties": {
"monthly_prices": {
"description": "Monthly price statistics for this destination, ordered by month.",
"type": "array",
"items": {
"type": "object",
"properties": {
"month": {
"type": "string",
"description": "Year and month in YYYY-MM format."
},
"star_rating_prices": {
"description": "Per-star-rating price statistics for this month.",
"type": "array",
"items": {
"type": "object",
"properties": {
"average_price": {
"type": [
"string",
"null"
],
"description": "Average forecasted nightly price for the month, formatted in the requested currency."
},
"maximum_price": {
"type": [
"string",
"null"
],
"description": "Maximum forecasted nightly price for the month, formatted in the requested currency."
},
"minimum_price": {
"type": [
"string",
"null"
],
"description": "Minimum forecasted nightly price for the month, formatted in the requested currency."
},
"star_rating": {
"type": "integer",
"format": "int32",
"description": "Hotel star classification rating (1–5)."
}
},
"required": [
"star_rating"
]
}
}
},
"required": [
"month",
"star_rating_prices"
]
}
},
"name": {
"type": "string",
"description": "Name of the destination."
}
},
"required": [
"monthly_prices",
"name"
]
}
},
"error": {
"type": [
"string",
"null"
],
"description": "The error if the tool failed to execute."
},
"query": {
"type": [
"string",
"null"
],
"description": "The original destination query echoed back from the bridge."
},
"system_message": {
"type": [
"string",
"null"
],
"description": "Presentation guidance for the LLM. Summarize the price trend across months, calling out the cheapest and most expensive months."
},
"validation_errors": {
"description": "The validation errors if the tool failed to execute.",
"type": "array",
"items": {
"type": "object",
"properties": {
"argument": {
"type": "string",
"description": "The argument that caused the error."
},
"message": {
"type": "string",
"description": "The error message."
},
"value": {
"type": "string",
"description": "The value that caused the error."
}
},
"required": [
"argument",
"message",
"value"
]
}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Evidence