Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,070Paid calls: 1,528Letters: 13Defects: 1,322counted 4 min ago
teppi

Server definition

Hash
sha256:7c7e788cc3650e1877396e9ce8c051472bafc68f44331e04f1e782917fe0a751
What it is
What a remote MCP server returned when asked what it offers: 56 tools

The blob, as servednamed by its sha256

{ "instructions": "MoltTravel aggregates travel tools from multiple providers.\n\nRecommended flow for flights:\n1. Use `kiwi_search-flight` to search for flights.\n2. Use `navifare_format_flight_pricecheck_request` to format a specific flight result for price checking.\n3. Use `navifare_flight_pricecheck` to compare prices across booking sites.\n\nMulti-Day Tours (TourRadar):\n- `tourradar_*` — search 50K+ multi-day tours by destination, dates, duration, and style\n- Get full itineraries, pricing, operator info, and brochure downloads\n- Best for organized tours (3+ days): guided tours, cruises, safaris, treks\n\nExperiences & Activities (Peek):\n- `peek_search_experiences` — search for day activities and experiences\n- `peek_experience_details` — get details about a specific experience\n- `peek_experience_availability` — check availability and pricing\n- `peek_search_regions` — find region IDs for location-based searches\n- `peek_list_tags` — list category tags for filtering\n- `peek_render_activity_tiles` — render embeddable activity widgets\n\nFlights, Hotels & Cars (Skiplagged):\n- `skiplagged_sk_flights_search` — search flights with hidden-city and virtual interlining options\n- `skiplagged_sk_hotels_search` — search hotels by city and dates\n- `skiplagged_sk_hotel_details` — room-level availability and pricing\n- `skiplagged_sk_cars_search` — rental car search by location and dates\n- `skiplagged_sk_destinations_anywhere` — find cheapest destinations from a city\n- `skiplagged_sk_flex_departure_calendar` / `sk_flex_return_calendar` — flexible date pricing\n\nFerries (Ferryhopper):\n- `ferryhopper_get_ports` — list all ferry ports\n- `ferryhopper_get_direct_connections_for_ports` — find routes from a port\n- `ferryhopper_search_trips` — search ferry trips between two ports on a date\n\nAccommodation (Trivago):\n- `trivago_trivago-search-suggestions` — get location IDs for a city/region query\n- `trivago_trivago-accommodation-search` — search hotels by location ID, dates, guests\n- `trivago_trivago-accommodation-radius-search` — search hotels near coordinates\n- First call search-suggestions to get the location ID, then use it in accommodation-search\n\nAirport & Airline Reference:\n- `airports_lookup` — look up airport by IATA/ICAO code\n- `airports_search` — search airports by name/city\n- `airports_near` — find airports near a lat/lon point\n- `airlines_lookup` — look up airline by IATA/ICAO code\n- `airlines_search` — search airlines by name\n\nVisa Requirements:\n- `visa_check` — check visa requirement for a passport+destination pair\n- `visa_summary` — overview of visa-free access for a passport country\n\nOther tools:\n- `restcountries_country_info` — look up country details (capital, currency, timezone, etc.)\n- `fcdo_travel_advice` — get UK FCDO travel advice for a specific country\n- `fcdo_list_countries` — list all countries with FCDO travel advice\n- `data_status` — check which static datasets are loaded\n\nAll tools are prefixed with their provider name (e.g. kiwi_, navifare_, skiplagged_, trivago_, ferryhopper_, tourradar_, peek_, restcountries_, fcdo_).\n\nMaster tool:\n- `travel_agent` — ask any travel question in natural language and it will automatically route to the right tools and return a combined answer.", "tools": [ { "description": "Look up an airline by IATA (2-char) or ICAO (3-char) code.", "inputSchema": { "properties": { "code": { "title": "Code", "type": "string" } }, "required": [ "code" ], "title": "airlines_lookupArguments", "type": "object" }, "name": "airlines_lookup", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "airlines_lookupOutput", "type": "object" } }, { "description": "Search airlines by name. Returns up to 20 results.", "inputSchema": { "properties": { "active_only": { "default": true, "title": "Active Only", "type": "boolean" }, "country": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Country" }, "query": { "title": "Query", "type": "string" } }, "required": [ "query" ], "title": "airlines_searchArguments", "type": "object" }, "name": "airlines_search", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "airlines_searchOutput", "type": "object" } }, { "description": "Look up an airport by IATA (3-char) or ICAO (4-char) code. Returns full details including runways.", "inputSchema": { "properties": { "code": { "title": "Code", "type": "string" } }, "required": [ "code" ], "title": "airports_lookupArguments", "type": "object" }, "name": "airports_lookup", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "airports_lookupOutput", "type": "object" } }, { "description": "Find airports near a geographic point. Returns results sorted by distance.", "inputSchema": { "properties": { "include_small": { "default": false, "title": "Include Small", "type": "boolean" }, "latitude": { "title": "Latitude", "type": "number" }, "limit": { "default": 10, "title": "Limit", "type": "integer" }, "longitude": { "title": "Longitude", "type": "number" }, "radius_km": { "default": 100, "title": "Radius Km", "type": "number" } }, "required": [ "latitude", "longitude" ], "title": "airports_nearArguments", "type": "object" }, "name": "airports_near", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "airports_nearOutput", "type": "object" } }, { "description": "Search airports by name or city. Returns up to 20 results sorted by size.", "inputSchema": { "properties": { "country": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Country" }, "query": { "title": "Query", "type": "string" }, "type_filter": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Type Filter" } }, "required": [ "query" ], "title": "airports_searchArguments", "type": "object" }, "name": "airports_search", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "airports_searchOutput", "type": "object" } }, { "description": "Check which static datasets (airports, airlines, visas) are loaded and their row counts.", "inputSchema": { "properties": {}, "title": "data_statusArguments", "type": "object" }, "name": "data_status", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "data_statusOutput", "type": "object" } }, { "description": "[fcdo] List all countries with UK FCDO travel advice.", "inputSchema": { "properties": {}, "title": "fcdo_list_countriesArguments", "type": "object" }, "name": "fcdo_list_countries", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "fcdo_list_countriesOutput", "type": "object" } }, { "description": "[fcdo] Get UK FCDO travel advice for a specific country. Includes safety, entry requirements, health, and warnings.", "inputSchema": { "properties": { "country": { "title": "Country", "type": "string" } }, "required": [ "country" ], "title": "fcdo_travel_adviceArguments", "type": "object" }, "name": "fcdo_travel_advice", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "fcdo_travel_adviceOutput", "type": "object" } }, { "description": "[ferryhopper] Find all direct ferry routes and reachable destination ports from a given origin port without layovers or transfers.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "portLocation": { "description": "Location name or search term used to find matching ports (not limited to exact port codes).", "type": "string" } }, "required": [ "portLocation" ], "type": "object" }, "name": "ferryhopper_get_direct_connections_for_ports", "outputSchema": null }, { "description": "[ferryhopper] Find all ferry travel disruptions, including delays, weather alerts, and strikes for a given date and country.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "country": { "description": "ISO 3166-1 alpha-2 country code to filter disruptions by country (e.g. \"GR\" for Greece).", "type": "string" }, "tripDate": { "description": "Departure date in ISO format YYYY-MM-DD (e.g. 2026-03-15).", "type": "string" } }, "required": [ "tripDate", "country" ], "type": "object" }, "name": "ferryhopper_get_disruptions", "outputSchema": null }, { "description": "[ferryhopper] Find ferry ports, harbors, maritime terminals, port IDs, codes, and geographic locations.", "inputSchema": { "properties": {}, "type": "object" }, "name": "ferryhopper_get_ports", "outputSchema": null }, { "description": "[ferryhopper] Deprecated: prefer search_trips_v2, which covers this tool plus round-trip search and per-segment availability flags. Get a list of available one-way ferry trips between two ports on a specific date.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "arrivalLocation": { "description": "Arrival location as a human-readable name or search term (e.g. city, port name), not a port code.", "type": "string" }, "date": { "description": "Departure date in ISO format YYYY-MM-DD (e.g. 2026-03-15).", "type": "string" }, "departureLocation": { "description": "Departure location as a human-readable name or search term (e.g. city, port name), not a port code.", "type": "string" } }, "required": [ "departureLocation", "arrivalLocation", "date" ], "type": "object" }, "name": "ferryhopper_search_trips", "outputSchema": null }, { "description": "[ferryhopper] Get a list of available ferry trips between two ports on a specific date. Supports round-trip searches when a return date is provided. Availability flags (cabin, vehicles, pets, e-ticket) are reported per segment.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "arrivalLocation": { "description": "Arrival location as a human-readable name or search term (e.g. city, port name), not a port code.", "type": "string" }, "date": { "description": "Departure date in ISO format YYYY-MM-DD (e.g. 2026-03-15).", "type": "string" }, "departureLocation": { "description": "Departure location as a human-readable name or search term (e.g. city, port name), not a port code.", "type": "string" }, "returnDate": { "description": "Return date in ISO format YYYY-MM-DD. When provided, the search returns round-trip booking solutions pairing an outbound and return trip.", "type": "string" } }, "required": [ "departureLocation", "arrivalLocation", "date" ], "type": "object" }, "name": "ferryhopper_search_trips_v2", "outputSchema": null }, { "description": "[ferryhopper] Get full details for a single sailing leg, looked up by the tripId returned by search_trips_v2. Returns the trip's departure/arrival time, ports, and operating company, plus the vessel's technical specs, onboard amenities, and photos. Use this to answer questions about a vessel such as: does it have wifi / a restaurant / a snack bar / an open deck / a lift or elevator / wheelchair or disabled access / a designated smoking area? Is it pet-friendly, or does it allow pets on board? Does it have cabins, or a garage / vehicle deck for cars and motorbikes? How many passengers or vehicles does it carry (capacity)? How long is the vessel (length in meters)? What is its IMO number or MMSI (maritime identification numbers used for registry/tracking lookups)? Is this vessel accessible, family-friendly, or suitable for passengers who need mobility assistance? What does the vessel look like (photos)? If no detailed specs exist for the vessel in the source system, vessel.hasDetails is returned as false and every spec/amenity field is null — this means the data is unavailable, not that the vessel lacks that amenity. Also returns the trip's bookable accommodation tiers (seat/cabin classes) with their price and a photo of that accommodation, when available. Throws if the tripId is malformed or the trip is no longer bookable (e.g. it has already departed, was cancelled, or sold out) — re-run search_trips_v2 to get a fresh tripId in that case.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "tripId": { "description": "The trip identifier for a single sailing leg, as returned in tripsById/bookingSolutions by search_trips_v2. Do not fabricate this value.", "type": "string" } }, "required": [ "tripId" ], "type": "object" }, "name": "ferryhopper_trip_details", "outputSchema": null }, { "description": "[peek] Get availability information for a specific experience including dates, times, and pricing", "inputSchema": { "properties": { "endDate": { "description": "End date inclusive in YYYY-MM-DD format (e.g., '2025-06-20' would return things taking place ON or BEFORE the 20th)", "type": "string" }, "id": { "description": "The ID of the experience", "type": "string" }, "quantity": { "description": "Number of travelers", "type": "integer" }, "startDate": { "description": "Start date inclusive YYYY-MM-DD format (e.g., '2025-06-19')", "type": "string" } }, "required": [ "id", "quantity", "startDate", "endDate" ], "type": "object" }, "name": "peek_experience_availability", "outputSchema": null }, { "description": "[peek] Get detailed information about a specific experience by ID", "inputSchema": { "properties": { "id": { "description": "The ID of the experience to retrieve", "type": "string" } }, "required": [ "id" ], "type": "object" }, "name": "peek_experience_details", "outputSchema": null }, { "description": "[peek] List all category tags", "inputSchema": { "properties": {}, "type": "object" }, "name": "peek_list_tags", "outputSchema": null }, { "description": "[peek] Render activity tiles for a list of activity IDs, returning an embeddable widget URI", "inputSchema": { "properties": { "id": { "description": "ID or comma separate list of activity IDs to render as tiles", "type": "string" } }, "required": [ "id" ], "type": "object" }, "name": "peek_render_activity_tiles", "outputSchema": null }, { "description": "[peek] Search for travel experiences with comprehensive filtering options. Returns available categories, tags, and regions with IDs for further filtering.", "inputSchema": { "properties": { "categoryId": { "description": "Limit to only a specific activity category", "type": "string" }, "endDate": { "description": "Return experiences that are available on or before this date in YYYY-MM-DD format (e.g., '2025-06-20' would return things taking place ON or BEFORE the 20th)", "type": "string" }, "latLng": { "description": "When the user wants something NEAR a specific place, but not necessarily IN a specific place, limit to only those near a given lat_lng. ex: \"37.7799,-122.2822\". Don't use this for regions, instead use the search_regions and provide a region id. this is a good fallback if a specific region is lacking inventory.", "type": "string" }, "query": { "description": "When the user wants something w/ a specific keyword (bike, beer, art, etc) limit to experiences whose title contain a keyword. Never include location information.", "type": "string" }, "regionId": { "description": "When you have determined the user wants something in a specific region (found w/ search_regions) limit to only a specific region ID", "type": "string" }, "startDate": { "description": "Return experiences that are available on or after this date. YYYY-MM-DD format (e.g., '2025-06-19')", "type": "string" }, "tagId": { "description": "When you have determined the user is interest in a specific vibe of activity (family friendly, romantic, etc) limit to only experiences with a specific tag (single tag ID)", "type": "string" } }, "type": "object" }, "name": "peek_search_experiences", "outputSchema": null }, { "description": "[peek] Search for regions by name", "inputSchema": { "properties": { "limit": { "description": "Maximum number of regions to return (default: 50)", "type": "integer" }, "query": { "description": "Search query to match against region names", "type": "string" } }, "required": [ "query" ], "type": "object" }, "name": "peek_search_regions", "outputSchema": null }, { "description": "[restcountries] Look up country information from REST Countries.", "inputSchema": { "properties": { "fields": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Fields" }, "query": { "title": "Query", "type": "string" }, "search_by": { "default": "name", "title": "Search By", "type": "string" } }, "required": [ "query" ], "title": "restcountries_country_infoArguments", "type": "object" }, "name": "restcountries_country_info", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "restcountries_country_infoOutput", "type": "object" } }, { "description": "[skiplagged] Search Skiplagged for rental cars between pickup and dropoff locations/dates, returning prices, companies, and car details.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "dropoffDate": { "$ref": "#/properties/pickupDate", "description": "Dropoff date (YYYY-MM-DD)" }, "dropoffLocation": { "$ref": "#/properties/pickupLocation", "description": "Dropoff city or airport code (defaults to pickup)" }, "dropoffTime": { "$ref": "#/properties/pickupTime", "default": "10:00", "description": "Dropoff time (HH:mm or HH:mm:ss, default 10:00)" }, "limit": { "default": 12, "description": "Maximum number of car offers to return", "maximum": 100, "minimum": 1, "type": "integer" }, "offset": { "default": 0, "description": "Number of car offers to skip for pagination (default: 0)", "maximum": 99, "minimum": 0, "type": "integer" }, "pickupDate": { "description": "Pickup date (YYYY-MM-DD)", "type": "string" }, "pickupLocation": { "description": "Pickup city or airport code", "minLength": 1, "type": "string" }, "pickupTime": { "default": "10:00", "description": "Pickup time (HH:mm or HH:mm:ss, default 10:00)", "pattern": "^\\d{2}:\\d{2}(?::\\d{2})?$", "type": "string" } }, "required": [ "pickupLocation", "pickupDate", "dropoffDate" ], "type": "object" }, "name": "skiplagged_sk_cars_search", "outputSchema": null }, { "description": "[skiplagged] Find lower-priced destinations from a departure city when the user is flexible about where to go.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "adults": { "default": 1, "description": "Number of adult passengers", "maximum": 9, "minimum": 1, "type": "integer" }, "children": { "default": 0, "description": "Number of child passengers", "maximum": 8, "minimum": 0, "type": "integer" }, "depart": { "description": "Departure date in YYYY-MM-DD format", "type": "string" }, "fare_class": { "default": "economy", "description": "Fare class preference", "enum": [ "basic-economy", "economy", "premium", "business", "first" ], "type": "string" }, "from": { "description": "Departure IATA code or city name", "type": "string" }, "infantsLap": { "default": 0, "description": "Number of lap infants", "maximum": 4, "minimum": 0, "type": "integer" }, "infantsSeat": { "default": 0, "description": "Number of seat infants", "maximum": 4, "minimum": 0, "type": "integer" }, "return": { "$ref": "#/properties/depart", "description": "Return date in YYYY-MM-DD format (optional for one-way trips)" } }, "required": [ "from", "depart" ], "type": "object" }, "name": "skiplagged_sk_destinations_anywhere", "outputSchema": null }, { "description": "[skiplagged] Search Skiplagged support articles for answers about its services, products, and policies.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "query": { "description": "Concise FAQ question for retrieval. Do not include personal identifiers, account IDs, or session details.", "minLength": 1, "type": "string" }, "top_k": { "default": 3, "description": "Number of top FAQ sources to return (1-5)", "maximum": 5, "minimum": 1, "type": "integer" } }, "required": [ "query" ], "type": "object" }, "name": "skiplagged_sk_faq_search", "outputSchema": null }, { "description": "[skiplagged] Generate a flexible calendar of the lowest one-way fares around a chosen departure, returning date → cheapest-price entries to help pick the best day to fly. Intended for flexible-date price discovery, not exact itinerary selection.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "adults": { "default": 1, "description": "Number of adult passengers (default: 1, max: 9)", "maximum": 9, "minimum": 1, "type": "integer" }, "children": { "default": 0, "description": "Number of child passengers (default: 0, max: 8)", "maximum": 8, "minimum": 0, "type": "integer" }, "departureDate": { "description": "Preferred departure date (YYYY-MM-DD format)", "type": "string" }, "destination": { "description": "Arrival city name or IATA code (will be resolved to IATA code automatically)", "type": "string" }, "infantsLap": { "default": 0, "description": "Number of lap infants (default: 0, max: 4)", "maximum": 4, "minimum": 0, "type": "integer" }, "infantsSeat": { "default": 0, "description": "Number of seat infants (default: 0, max: 4)", "maximum": 4, "minimum": 0, "type": "integer" }, "origin": { "description": "Departure city name or IATA code (will be resolved to IATA code automatically)", "type": "string" }, "returnDate": { "anyOf": [ { "$ref": "#/properties/departureDate" }, { "type": "null" } ], "description": "Return date for matching trip length (optional, YYYY-MM-DD format)" }, "sort": { "default": "date", "description": "Sort results chronologically or by lowest price first", "enum": [ "date", "price" ], "type": "string" } }, "required": [ "origin", "destination", "departureDate" ], "type": "object" }, "name": "skiplagged_sk_flex_departure_calendar", "outputSchema": null }, { "description": "[skiplagged] Generate a flexible round-trip price calendar for a fixed-length stay around a chosen travel window. Returns (depart date, return date, lowest total price) entries for nearby date pairs that preserve the original trip length; intended for price discovery, not exact itinerary selection.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "adults": { "default": 1, "description": "Number of adult passengers (default: 1, max: 9)", "maximum": 9, "minimum": 1, "type": "integer" }, "children": { "default": 0, "description": "Number of child passengers (default: 0, max: 8)", "maximum": 8, "minimum": 0, "type": "integer" }, "departureDate": { "description": "Preferred departure date (YYYY-MM-DD format)", "type": "string" }, "destination": { "description": "Arrival city name or IATA code (will be resolved to IATA code automatically)", "type": "string" }, "infantsLap": { "default": 0, "description": "Number of lap infants (default: 0, max: 4)", "maximum": 4, "minimum": 0, "type": "integer" }, "infantsSeat": { "default": 0, "description": "Number of seat infants (default: 0, max: 4)", "maximum": 4, "minimum": 0, "type": "integer" }, "origin": { "description": "Departure city name or IATA code (will be resolved to IATA code automatically)", "type": "string" }, "returnDate": { "$ref": "#/properties/departureDate", "description": "Return date for the reference trip (YYYY-MM-DD format)" }, "sort": { "default": "date", "description": "Sort results chronologically or by lowest price first", "enum": [ "date", "price" ], "type": "string" } }, "required": [ "origin", "destination", "departureDate", "returnDate" ], "type": "object" }, "name": "skiplagged_sk_flex_return_calendar", "outputSchema": null }, { "description": "[skiplagged] Search Skiplagged for flights between specific locations with filtering options for passengers, fare class, stops, airlines, and timing preferences", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "adults": { "default": 1, "description": "Number of adult passengers (default: 1, max: 9)", "maximum": 9, "minimum": 1, "type": "integer" }, "arrivalAirports": { "anyOf": [ { "anyOf": [ { "not": {} }, { "items": { "type": "string" }, "minItems": 1, "type": "array" } ] }, { "type": "null" } ], "description": "Array of specific arrival airport codes to include (when destination city has multiple airports)" }, "arrivalTimeEarliest": { "description": "Earliest arrival time in minutes from midnight (0-1439)", "maximum": 1439, "minimum": 0, "type": "integer" }, "arrivalTimeLatest": { "description": "Latest arrival time in minutes from midnight (0-1439)", "maximum": 1439, "minimum": 0, "type": "integer" }, "children": { "default": 0, "description": "Number of child passengers (default: 0, max: 8)", "maximum": 8, "minimum": 0, "type": "integer" }, "departureAirports": { "anyOf": [ { "anyOf": [ { "not": {} }, { "items": { "type": "string" }, "minItems": 1, "type": "array" } ] }, { "type": "null" } ], "description": "Array of specific departure airport codes to include (when origin city has multiple airports)" }, "departureDate": { "type": "string" }, "departureTimeEarliest": { "description": "Earliest departure time in minutes from midnight (0-1439)", "maximum": 1439, "minimum": 0, "type": "integer" }, "departureTimeLatest": { "description": "Latest departure time in minutes from midnight (0-1439)", "maximum": 1439, "minimum": 0, "type": "integer" }, "destination": { "description": "Arrival location - prefer IATA code", "minLength": 1, "type": "string" }, "excludedAirlines": { "description": "Array of excluded airline codes (e.g., ['F9', 'NK'])", "items": { "type": "string" }, "type": "array" }, "fareClass": { "default": "economy", "description": "Fare class preference (default: economy)", "enum": [ "basic-economy", "economy", "premium", "business", "first" ], "type": "string" }, "includeHiddenCity": { "default": true, "description": "Include hidden city flights (default: true)", "type": "boolean" }, "includeStandard": { "default": true, "description": "Include standard flights (default: true)", "type": "boolean" }, "includeVirtualInterlining": { "default": true, "description": "Include virtual interlining flights (default: true)", "type": "boolean" }, "infantsLap": { "default": 0, "description": "Number of lap infants (default: 0, max: 4)", "maximum": 4, "minimum": 0, "type": "integer" }, "infantsSeat": { "default": 0, "description": "Number of seat infants (default: 0, max: 4)", "maximum": 4, "minimum": 0, "type": "integer" }, "limit": { "default": 12, "description": "Maximum number of flights to return (default: 12, max: 100)", "maximum": 100, "minimum": 1, "type": "integer" }, "maxFlightDuration": { "description": "Maximum total flight duration in minutes", "minimum": 0, "type": "integer" }, "maxLayoverDuration": { "description": "Maximum layover duration in minutes", "minimum": 0, "type": "integer" }, "maxStops": { "description": "Maximum number of stops (none=nonstop, one=1 stop, many=2+ stops)", "enum": [ "none", "one", "many" ], "type": "string" }, "offset": { "default": 0, "description": "Number of flights to skip for pagination (default: 0)", "maximum": 99, "minimum": 0, "type": "integer" }, "origin": { "description": "Departure location - prefer IATA code", "minLength": 1, "type": "string" }, "preferredAirlines": { "description": "Array of preferred airline codes (e.g., ['UA', 'DL'])", "items": { "type": "string" }, "type": "array" }, "returnDate": { "$ref": "#/properties/departureDate" }, "sort": { "default": "value", "description": "Sort flights by price (cheapest first), duration (shortest first), or value (best price/time ratio, default)", "enum": [ "price", "duration", "value" ], "type": "string" } }, "required": [ "origin", "destination", "departureDate" ], "type": "object" }, "name": "skiplagged_sk_flights_search", "outputSchema": null }, { "description": "[skiplagged] Fetch room-level availability, pricing, and amenities for a specific hotel and stay dates.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "checkin": { "description": "Check-in date (YYYY-MM-DD format)", "type": "string" }, "checkout": { "$ref": "#/properties/checkin", "description": "Check-out date (YYYY-MM-DD format)" }, "hotelId": { "description": "Hotel ID (from search results) to fetch detailed availability for", "exclusiveMinimum": 0, "type": "integer" }, "live": { "default": true, "description": "Use live rates (includes booking links). Disable for faster, less accurate cached rates.", "type": "boolean" }, "numAdults": { "default": 2, "description": "Number of adults (default: 2, max: 10)", "maximum": 10, "minimum": 1, "type": "integer" }, "numChildren": { "default": 0, "description": "Number of children (default: 0, max: 10)", "maximum": 10, "minimum": 0, "type": "integer" }, "numRooms": { "default": 1, "description": "Number of rooms (default: 1, max: 5)", "maximum": 5, "minimum": 1, "type": "integer" } }, "required": [ "hotelId", "checkin", "checkout" ], "type": "object" }, "name": "skiplagged_sk_hotel_details", "outputSchema": null }, { "description": "[skiplagged] Search Skiplagged for hotels in a city with specific check-in and check-out dates, including ratings and pricing.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "checkin": { "description": "Check-in date (YYYY-MM-DD format)", "type": "string" }, "checkout": { "$ref": "#/properties/checkin", "description": "Check-out date (YYYY-MM-DD format)" }, "city": { "description": "City name to search for hotels (will be matched against available cities)", "minLength": 1, "type": "string" }, "limit": { "default": 12, "description": "Maximum number of hotels to return (default: 12, max: 100)", "maximum": 100, "minimum": 1, "type": "integer" }, "numAdults": { "default": 2, "description": "Number of adults (default: 2, max: 10)", "maximum": 10, "minimum": 1, "type": "integer" }, "numChildren": { "default": 0, "description": "Number of children (default: 0, max: 10)", "maximum": 10, "minimum": 0, "type": "integer" }, "numRooms": { "default": 1, "description": "Number of rooms (default: 1, max: 9)", "maximum": 9, "minimum": 1, "type": "integer" }, "offset": { "default": 0, "description": "Number of hotels to skip for pagination (default: 0)", "maximum": 99, "minimum": 0, "type": "integer" }, "sort": { "default": "value", "description": "Sort hotels by price (cheapest first), ranking (highest rated first), value (best value rating), or discount (best deals first, default when deals available)", "enum": [ "price", "ranking", "value", "discount" ], "type": "string" } }, "required": [ "city", "checkin", "checkout" ], "type": "object" }, "name": "skiplagged_sk_hotels_search", "outputSchema": null }, { "description": "[skiplagged] Resolve a city name to a valid IATA code", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "input": { "description": "City name code to resolve to IATA code", "minLength": 1, "type": "string" } }, "required": [ "input" ], "type": "object" }, "name": "skiplagged_sk_resolve_iata", "outputSchema": null }, { "description": "[skiplagged] Resolve coarse location metadata supplied by the client to the nearest airport. Takes no user-provided arguments.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "skiplagged_sk_resolve_location", "outputSchema": null }, { "description": "[tourradar] Use this when you need to find a tour operator's ID by their name for filtering tours.\n\nSearches tour operators by name and returns matching operators with their IDs. Use the returned operator ID with tour search filters.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "textSearch": { "description": "Operator name for search, for example `Topdeck`", "type": "string" } }, "required": [ "textSearch" ], "type": "object" }, "name": "tourradar_algolia-operator-search", "outputSchema": null }, { "description": "[tourradar] Use this when you need to find city IDs for tour search filters like start city, end city, or cities to visit.\n\nSearches for cities by name within a specific country. Supports multiple name variants to handle different spellings (e.g., Krakow, Kraków, Cracow).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "country_code": { "description": "ISO 3166-1 alpha-2 country code (e.g., 'US' for USA, 'GB' for United Kingdom, 'DE' for Germany).", "enum": [ "AF", "AL", "DZ", "AD", "AO", "AG", "AR", "AM", "AU", "AT", "AZ", "BS", "BH", "BD", "BB", "BY", "BE", "BZ", "BJ", "BT", "BA", "BW", "BR", "BN", "BG", "BF", "BI", "KH", "CM", "CA", "CV", "CF", "TD", "CL", "CN", "CO", "KM", "CD", "CG", "CR", "CI", "HR", "CU", "CY", "CZ", "DK", "DJ", "DM", "DO", "TL", "EC", "EG", "SV", "GQ", "ER", "EE", "ET", "FJ", "FI", "FR", "GA", "GM", "GE", "DE", "GH", "GR", "GD", "GT", "GN", "GW", "GY", "HT", "HN", "HU", "IS", "IN", "ID", "IR", "IQ", "IE", "IL", "IT", "JM", "JP", "JO", "KZ", "KE", "KP", "KR", "KW", "KG", "LA", "LV", "LB", "LS", "LR", "LY", "LI", "LT", "LU", "MK", "MG", "MW", "MY", "MV", "ML", "MR", "MU", "MX", "FM", "MD", "MC", "MN", "MA", "MZ", "MM", "NA", "NR", "NP", "NZ", "NI", "NE", "NG", "NO", "OM", "PK", "PA", "PG", "PY", "PE", "PH", "PL", "PT", "QA", "RU", "RW", "KN", "LC", "VC", "WS", "SM", "ST", "SA", "SN", "RS", "SC", "SG", "SK", "SI", "SO", "ZA", "ES", "LK", "SD", "SZ", "SE", "CH", "SY", "TW", "TJ", "TZ", "TH", "TG", "TO", "TT", "TN", "TR", "TM", "UG", "UA", "AE", "US", "UY", "UZ", "VU", "VA", "VE", "VN", "YE", "ZM", "ZW", "NL", "BO", "MT", "GB", "NC", "SB", "GU", "PF", "AS", "SL", "EH", "PS", "BM", "GL", "PM", "AI", "AW", "KY", "GP", "MQ", "MS", "PR", "TC", "VI", "RO", "FO", "GG", "JE", "IM", "SJ", "GI", "FK", "VG", "RE", "SR", "CK", "ME", "XK", "SX", "CW", "HK", "AQ" ], "type": "string" }, "search": { "description": "City name filter. It is recommended to use this filter to narrow down the search results. Please use english only names. How to search: If you are looking for Kraków city, please pass potential candidates here, like: ['Krakow', 'Kraków', 'Cracow']. It will return all cities that match any of the names.", "items": { "type": "string" }, "minItems": 1, "type": "array" } }, "required": [ "country_code", "search" ], "type": "object" }, "name": "tourradar_b2b-cities-search", "outputSchema": null }, { "description": "[tourradar] Use this when you need continent IDs for filtering tours by region.\n\nReturns a list of all supported continents with their IDs and names for use in tour search filters.", "inputSchema": { "properties": {}, "type": "object" }, "name": "tourradar_b2b-continents-list", "outputSchema": null }, { "description": "[tourradar] Use this when you need to look up country IDs for filtering tours or validating country names.\n\nReturns a complete list of all supported countries with their IDs, names, and ISO country codes.", "inputSchema": { "properties": {}, "type": "object" }, "name": "tourradar_b2b-countries-list", "outputSchema": null }, { "description": "[tourradar] Use this when you need to check supported currencies or get currency details like symbols.\n\nReturns a list of all supported currencies with their codes (USD, EUR), names, and symbols ($, €).", "inputSchema": { "properties": {}, "type": "object" }, "name": "tourradar_b2b-currencies-list", "outputSchema": null }, { "description": "[tourradar] Use this when you need language IDs for filtering tours by guide language.\n\nReturns a list of all supported languages with their IDs, codes, and names for use in tour search filters.", "inputSchema": { "properties": {}, "type": "object" }, "name": "tourradar_b2b-languages-list", "outputSchema": null }, { "description": "[tourradar] Use this when the user wants information about a tour operator, such as their terms and policies.\n\nFetches operator details including name, code, and terms & conditions based on operator ID.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "operatorId": { "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" } }, "required": [ "operatorId" ], "type": "object" }, "name": "tourradar_b2b-operator-details", "outputSchema": null }, { "description": "[tourradar] Use this when the user asks about available departure dates, pricing for specific dates, or needs to validate if a departure date is available.\n\nReturns a list of departures for a specific tour within a date range, including availability status, pricing, and booking information.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "currency": { "description": "Currency to return prices in. Use this only when the user explicitly asks for a specific currency. Otherwise the user's default (based on location) is used.", "enum": [ "USD", "EUR", "GBP", "AUD", "NZD", "CAD" ], "type": "string" }, "dateRange": { "description": "Returns only departure dates in the desired range", "properties": { "end": { "description": "End date of the range", "format": "date", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$", "type": "string" }, "start": { "description": "Start date of the range", "format": "date", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$", "type": "string" } }, "required": [ "start", "end" ], "type": "object" }, "page": { "default": 1, "description": "Page number. Default is 1", "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, "tourId": { "description": "Tour ID", "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" } }, "required": [ "tourId", "dateRange" ], "type": "object" }, "name": "tourradar_b2b-tour-departures", "outputSchema": null }, { "description": "[tourradar] Use this when the user wants to see detailed information about a specific tour.\n\nFetches comprehensive tour details including itinerary, pricing, operator info, images, and booking links based on tour ID.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "currency": { "description": "Currency to return prices in. Use this only when the user explicitly asks for a specific currency. Otherwise the user's default (based on location) is used.", "enum": [ "USD", "EUR", "GBP", "AUD", "NZD", "CAD" ], "type": "string" }, "tourId": { "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" } }, "required": [ "tourId" ], "type": "object" }, "name": "tourradar_b2b-tour-details", "outputSchema": null }, { "description": "[tourradar] Use this when the user has questions about a tour that might be answered in the FAQ section.\n\nReturns a paginated list of frequently asked questions and answers about a specific tour, covering topics like inclusions, requirements, and policies.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "page": { "default": 1, "description": "Page number. Default is 1", "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, "tourId": { "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" } }, "required": [ "tourId" ], "type": "object" }, "name": "tourradar_b2b-tour-faq", "outputSchema": null }, { "description": "[tourradar] Use this when the user wants to see tour routes on a map or compare itineraries visually.\n\nFetches tour details for one or more tours and prepares map data with all itinerary locations, coordinates, and day-by-day information for visual display.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "currency": { "description": "Currency to return prices in. Use this only when the user explicitly asks for a specific currency. Otherwise the user's default (based on location) is used.", "enum": [ "USD", "EUR", "GBP", "AUD", "NZD", "CAD" ], "type": "string" }, "tourIds": { "items": { "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, "minItems": 1, "type": "array" } }, "required": [ "tourIds" ], "type": "object" }, "name": "tourradar_b2b-tour-map", "outputSchema": null }, { "description": "[tourradar] Use this when you need tour type IDs for filtering tours by category like adventure, cultural, or wildlife.\n\nReturns a hierarchical list of tour type groups and their individual types with IDs and names.", "inputSchema": { "properties": {}, "type": "object" }, "name": "tourradar_b2b-tour-types-list", "outputSchema": null }, { "description": "[tourradar] Use this when you need to know the current date, especially before setting departure date filters.\n\nReturns the current date and time in ISO format. Essential for calculating valid date ranges for tour searches.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "tourradar_general-current-date", "outputSchema": null }, { "description": "[tourradar] Search tour reviews using AI-powered semantic search. Requires tourIds to scope results to specific tours. Use this when the user asks about reviews, feedback, or experiences for specific tours. Combine with an optional text query to find reviews mentioning specific topics (e.g., 'food', 'guide', 'accommodation'). When you don't have tour IDs, use vertex-tour-search or vertex-tour-title-search first to find them.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "createdAfter": { "description": "Only return reviews created on or after this date (YYYY-MM-DD). Use to bias toward recent reviews.", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "type": "string" }, "keywords": { "description": "Array of keyword phrases to search reviews for. These are joined with OR logic to find reviews matching any of the given topics. Use short phrases (e.g., ['food quality', 'meals', 'restaurant']). When provided, this takes priority over 'query'.", "items": { "type": "string" }, "type": "array" }, "minRating": { "description": "Only return reviews with a star rating >= this value (1-5). Use to surface only strong reviews.", "maximum": 5, "minimum": 1, "type": "number" }, "pageSize": { "default": 10, "description": "Number of reviews to return (1-20, default 10)", "maximum": 20, "minimum": 1, "type": "integer" }, "pageToken": { "description": "Token for fetching the next page of results. Use the nextPageToken value from a previous response.", "type": "string" }, "query": { "default": "", "description": "Short natural language search query to find specific review topics. Keep it concise — do NOT expand into keyword lists. Use simple phrases like 'food quality', 'guide', 'hotel issues'. The search engine handles semantic matching automatically. Prefer using 'keywords' parameter instead when user intent maps to specific topics. Leave empty to return all reviews.", "type": "string" }, "tourIds": { "description": "Tour IDs to scope reviews to specific tours. Use vertex-tour-title-search to find tour IDs if needed.", "items": { "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, "minItems": 1, "type": "array" }, "travelledAfter": { "description": "Only return reviews whose trip departed on or after this date (YYYY-MM-DD). Use to surface reviews from recent travellers.", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "type": "string" } }, "type": "object" }, "name": "tourradar_vertex-review-search", "outputSchema": null }, { "description": "[tourradar] Use this when the user describes what they want in natural language and you need AI-powered semantic search to understand their intent.\n\nBefore use this tool, please READ all possible filters.\nPLESE USE FILTERS, when can be used, to make search faster and much more precise.\nPlease use start_city, end_city, cities, countries, start_country, end_country filters if possible. You can use multiple of them.\n\nAI-powered semantic search for tours using natural language queries combined with optional filters. Uses Google Vertex AI to understand intent and find relevant tours based on descriptions, themes, or specific requests.\n\nUse `vertex-tour-search` when:\n\n- The user describes what they want in natural language\n- You need semantic/AI-powered search to understand intent\n- Combining natural language with filters for refined results\n\nExamples:\n\n- \"Family-friendly safari with kids under 12\"\n- \"Romantic honeymoon trip with beach and mountains\"\n- \"Adventure tour with hiking and camping for beginners\"\n- \"Cultural immersion experience with local homestays\"\n- \"Wine tasting tour through European countryside\"\n\n## Input\n\n### Required\n\n- `textSearch`: Natural language description of what the user is looking for\n- `display_mode`: How to display results — `\"listing\"` (default, carousel of tour cards) or `\"map\"` (interactive map view)\n\n### Optional Filters\n\n#### Location Filters\n\n| Filter | Type | Description |\n| --------------- | -------- | -------------------------------------------------------------------------- |\n| `start_country` | string[] | Country where tour BEGINS (ISO 3166-1 alpha-2 codes). OR logic. |\n| `end_country` | string[] | Country where tour ENDS (ISO 3166-1 alpha-2 codes). OR logic. |\n| `start_city` | number[] | City IDs where tour starts. Use `b2b-cities-search` to find IDs. OR logic. |\n| `end_city` | number[] | City IDs where tour ends. Use `b2b-cities-search` to find IDs. OR logic. |\n| `countries` | object | Countries visited DURING the itinerary. Supports AND/OR operator. |\n| `cities` | object | Cities visited on the itinerary. Supports AND/OR operator. |\n\n#### Range Filters\n\n| Filter | Type | Description |\n| ---------------- | ------------------------ | ------------------------------------------------------------------------------------ |\n| `duration` | `{ min, max }` | Tour length in days |\n| `max_group_size` | `{ min, max }` | Maximum group size range |\n| `min_group_size` | `{ min, max }` | Minimum group size range |\n| `min_age` | `{ min, max }` | Minimum age requirement range. E.g., `{ min: 1, max: 12 }` finds family-friendly tours |\n| `max_age` | `{ min, max }` | Maximum age limit range. E.g., `{ min: 18, max: 39 }` finds youth-specific tours |\n| `price` | `{ min, max, currency }` | Price range (currency: \"EUR\") |\n\n#### AND/OR Filters\n\nThese filters support both AND and OR operators:\n\n| Filter | Values | Description |\n| ------------ | ------------------------ | ---------------------------------- |\n| `departures` | YYYY-MM strings | Filter by departure months |\n| `countries` | ISO 3166-1 alpha-2 codes | Countries visited during itinerary |\n| `cities` | City IDs | Cities visited on itinerary |\n\nStructure: `{ values: [...], operator: \"AND\" | \"OR\" }`\n\n- `OR` (default): Tour matches ANY of the specified values\n- `AND`: Tour must match ALL specified values\n\n## Examples\n\n### Simple text search\n\n```json\n{ \"textSearch\": \"family adventure with wildlife\" }\n```\n\n### With location filters\n\n```json\n{\n \"textSearch\": \"hiking adventure\",\n \"start_country\": [\"DE\", \"AT\"],\n \"countries\": { \"values\": [\"IT\", \"CH\"], \"operator\": \"AND\" }\n}\n```\n\n### With range filters\n\n```json\n{\n \"textSearch\": \"luxury beach vacation\",\n \"duration\": { \"min\": 7, \"max\": 14 },\n \"price\": { \"min\": 2000, \"max\": 5000, \"currency\": \"EUR\" },\n \"max_group_size\": { \"min\": 1, \"max\": 16 }\n}\n```\n\n### With age filters\n\n```json\n{\n \"textSearch\": \"family safari with young children\",\n \"min_age\": { \"min\": 1, \"max\": 6 },\n \"duration\": { \"min\": 7, \"max\": 14 }\n}\n```\n\n### With departure dates\n\n```json\n{\n \"textSearch\": \"northern lights tour\",\n \"departures\": { \"values\": [\"2026-01\", \"2026-02\", \"2026-03\"], \"operator\": \"OR\" }\n}\n```\n\n### Map display mode\n\n```json\n{\n \"textSearch\": \"hiking tours in the Alps\",\n \"display_mode\": \"map\",\n \"countries\": { \"values\": [\"AT\", \"CH\"], \"operator\": \"OR\" }\n}\n```\n\n## Response\n\nReturns a list of tours matching the query, each containing:\n\n- Tour ID, name, and URL\n- Operator information\n- Brief description matching the query context\n", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "cities": { "description": "Filter tours by cities visited on the itinerary. City IDs can be obtained from the b2b-cities-search tool", "properties": { "operator": { "default": "OR", "description": "AND = tour must visit ALL specified cities, OR = tour must visit ANY of the specified cities", "enum": [ "AND", "OR" ], "type": "string" }, "values": { "description": "City IDs that the tour visits. Use b2b-cities-search to find city IDs (e.g., [1234, 5678])", "items": { "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, "minItems": 1, "type": "array" } }, "required": [ "values" ], "type": "object" }, "countries": { "description": "Filter by countries visited DURING the tour itinerary. Use 'start_country'/'end_country' for departure/destination countries.", "properties": { "operator": { "default": "OR", "description": "AND = tour must visit ALL specified countries, OR = tour must visit ANY of the specified countries", "enum": [ "AND", "OR" ], "type": "string" }, "values": { "description": "ISO 3166-1 alpha-2 country codes that the tour passes through (e.g., [\"DE\", \"AT\", \"CH\"])", "items": { "enum": [ "AF", "AL", "DZ", "AD", "AO", "AG", "AR", "AM", "AU", "AT", "AZ", "BS", "BH", "BD", "BB", "BY", "BE", "BZ", "BJ", "BT", "BA", "BW", "BR", "BN", "BG", "BF", "BI", "KH", "CM", "CA", "CV", "CF", "TD", "CL", "CN", "CO", "KM", "CD", "CG", "CR", "CI", "HR", "CU", "CY", "CZ", "DK", "DJ", "DM", "DO", "TL", "EC", "EG", "SV", "GQ", "ER", "EE", "ET", "FJ", "FI", "FR", "GA", "GM", "GE", "DE", "GH", "GR", "GD", "GT", "GN", "GW", "GY", "HT", "HN", "HU", "IS", "IN", "ID", "IR", "IQ", "IE", "IL", "IT", "JM", "JP", "JO", "KZ", "KE", "KP", "KR", "KW", "KG", "LA", "LV", "LB", "LS", "LR", "LY", "LI", "LT", "LU", "MK", "MG", "MW", "MY", "MV", "ML", "MR", "MU", "MX", "FM", "MD", "MC", "MN", "MA", "MZ", "MM", "NA", "NR", "NP", "NZ", "NI", "NE", "NG", "NO", "OM", "PK", "PA", "PG", "PY", "PE", "PH", "PL", "PT", "QA", "RU", "RW", "KN", "LC", "VC", "WS", "SM", "ST", "SA", "SN", "RS", "SC", "SG", "SK", "SI", "SO", "ZA", "ES", "LK", "SD", "SZ", "SE", "CH", "SY", "TW", "TJ", "TZ", "TH", "TG", "TO", "TT", "TN", "TR", "TM", "UG", "UA", "AE", "US", "UY", "UZ", "VU", "VA", "VE", "VN", "YE", "ZM", "ZW", "NL", "BO", "MT", "GB", "NC", "SB", "GU", "PF", "AS", "SL", "EH", "PS", "BM", "GL", "PM", "AI", "AW", "KY", "GP", "MQ", "MS", "PR", "TC", "VI", "RO", "FO", "GG", "JE", "IM", "SJ", "GI", "FK", "VG", "RE", "SR", "CK", "ME", "XK", "SX", "CW", "HK", "AQ" ], "type": "string" }, "minItems": 1, "type": "array" } }, "required": [ "values" ], "type": "object" }, "currency": { "description": "Currency to return prices in. Use this only when the user explicitly asks for a specific currency. Otherwise the user's default (based on location) is used.", "enum": [ "USD", "EUR", "GBP", "AUD", "NZD", "CAD" ], "type": "string" }, "departures": { "description": "Filter tours by available departure months", "properties": { "operator": { "default": "OR", "description": "AND = tour must have departures in ALL specified months, OR = tour must have departures in ANY of the specified months", "enum": [ "AND", "OR" ], "type": "string" }, "values": { "description": "Departure months in YYYY-MM format (e.g., [\"2026-05\", \"2026-06\"])", "items": { "pattern": "^\\d{4}-\\d{2}$", "type": "string" }, "minItems": 1, "type": "array" } }, "required": [ "values" ], "type": "object" }, "discount": { "description": "Filter tours by discount percentage. E.g., { min: 10, max: 50 } finds tours with 10% to 50% off. Min and max value cannot be the same.", "properties": { "max": { "description": "Maximum discount percentage (0-100)", "maximum": 100, "minimum": 0, "type": "number" }, "min": { "description": "Minimum discount percentage (0-100)", "maximum": 100, "minimum": 0, "type": "number" } }, "required": [ "min", "max" ], "type": "object" }, "display_mode": { "default": "listing", "description": "How to display the search results. 'listing' shows a carousel of tour cards. 'map' shows tours on an interactive map.", "enum": [ "listing", "map" ], "type": "string" }, "duration": { "description": "Filter tours by duration in days. Example: set min: 5 , max: 8 to find duration between those days. Include this filter when is needed", "properties": { "max": { "description": "Max tour duration in days", "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" }, "min": { "description": "Min tour duration in days", "maximum": 9007199254740991, "minimum": 0, "type": "integer" } }, "required": [ "min", "max" ], "type": "object" }, "end_city": { "description": "City IDs where the tour ends (e.g., [1234, 5678]). Use b2b-cities-search to find city IDs. If passing multiple values, will find tours ending in any of the given cities", "items": { "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, "type": "array" }, "end_country": { "description": "Filter by the country where the tour ENDS (final destination). ISO 3166-1 alpha-2 codes (e.g., ['IT', 'FR']). Multiple values = OR logic. Use 'countries' filter for countries visited during the itinerary.", "items": { "enum": [ "AF", "AL", "DZ", "AD", "AO", "AG", "AR", "AM", "AU", "AT", "AZ", "BS", "BH", "BD", "BB", "BY", "BE", "BZ", "BJ", "BT", "BA", "BW", "BR", "BN", "BG", "BF", "BI", "KH", "CM", "CA", "CV", "CF", "TD", "CL", "CN", "CO", "KM", "CD", "CG", "CR", "CI", "HR", "CU", "CY", "CZ", "DK", "DJ", "DM", "DO", "TL", "EC", "EG", "SV", "GQ", "ER", "EE", "ET", "FJ", "FI", "FR", "GA", "GM", "GE", "DE", "GH", "GR", "GD", "GT", "GN", "GW", "GY", "HT", "HN", "HU", "IS", "IN", "ID", "IR", "IQ", "IE", "IL", "IT", "JM", "JP", "JO", "KZ", "KE", "KP", "KR", "KW", "KG", "LA", "LV", "LB", "LS", "LR", "LY", "LI", "LT", "LU", "MK", "MG", "MW", "MY", "MV", "ML", "MR", "MU", "MX", "FM", "MD", "MC", "MN", "MA", "MZ", "MM", "NA", "NR", "NP", "NZ", "NI", "NE", "NG", "NO", "OM", "PK", "PA", "PG", "PY", "PE", "PH", "PL", "PT", "QA", "RU", "RW", "KN", "LC", "VC", "WS", "SM", "ST", "SA", "SN", "RS", "SC", "SG", "SK", "SI", "SO", "ZA", "ES", "LK", "SD", "SZ", "SE", "CH", "SY", "TW", "TJ", "TZ", "TH", "TG", "TO", "TT", "TN", "TR", "TM", "UG", "UA", "AE", "US", "UY", "UZ", "VU", "VA", "VE", "VN", "YE", "ZM", "ZW", "NL", "BO", "MT", "GB", "NC", "SB", "GU", "PF", "AS", "SL", "EH", "PS", "BM", "GL", "PM", "AI", "AW", "KY", "GP", "MQ", "MS", "PR", "TC", "VI", "RO", "FO", "GG", "JE", "IM", "SJ", "GI", "FK", "VG", "RE", "SR", "CK", "ME", "XK", "SX", "CW", "HK", "AQ" ], "type": "string" }, "type": "array" }, "max_age": { "description": "Filter by tour's maximum age limit. E.g., { min: 18, max: 39 } finds tours limited to young adults. Use to find age-restricted tours like youth or senior-specific trips. Min and max value cannot be this same.", "properties": { "max": { "description": "Maximum value for max age", "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" }, "min": { "description": "Minimum value for max age", "maximum": 9007199254740991, "minimum": 0, "type": "integer" } }, "required": [ "min", "max" ], "type": "object" }, "max_group_size": { "description": "Filter by tour's maximum group size. E.g., { min: 1, max: 20 } finds small group tours with max 20 participants. Min and max value cannot be this same. ", "properties": { "max": { "description": "Maximum value for max group size", "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" }, "min": { "description": "Minimum value for max group size", "maximum": 9007199254740991, "minimum": 1, "type": "integer" } }, "required": [ "min", "max" ], "type": "object" }, "min_age": { "description": "Filter by tour's minimum age requirement. E.g., { min: 1, max: 12 } finds tours that accept children under 12. Use to find family-friendly tours or tours with low age requirements. Min and max value cannot be this same.", "properties": { "max": { "description": "Maximum value for min age", "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" }, "min": { "description": "Minimum value for min age", "maximum": 9007199254740991, "minimum": 1, "type": "integer" } }, "required": [ "min", "max" ], "type": "object" }, "min_group_size": { "description": "Filter by tour's minimum group size. E.g., { min: 1, max: 1 } finds tours that accept solo travelers. Min and max value cannot be this same.", "properties": { "max": { "description": "Maximum value for min group size", "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" }, "min": { "description": "Minimum value for min group size", "maximum": 9007199254740991, "minimum": 0, "type": "integer" } }, "required": [ "min", "max" ], "type": "object" }, "operator_ids": { "description": "Filter tours by specific operator ids. You can add multiple operator ids, then OR operator will be used. For lookup for partner by name, please use algolia-operator-search tool.", "items": { "type": "number" }, "type": "array" }, "price": { "description": "Filter by tour price in the selected currency. E.g., { min: 500, max: 2000, currency: 'EUR' } finds tours priced between €500 and €2000. Min and max value cannot be this same.", "properties": { "currency": { "description": "Currency for price values.", "enum": [ "USD", "EUR", "GBP", "AUD", "NZD", "CAD" ], "type": "string" }, "max": { "description": "Maximum price", "type": "number" }, "min": { "description": "Minimum price", "minimum": 0, "type": "number" } }, "required": [ "min", "max", "currency" ], "type": "object" }, "start_city": { "description": "City IDs where the tour starts (e.g., [1234, 5678]). Use b2b-cities-search to find city IDs. If passing multiple values, will find tours starting in any of the given cities", "items": { "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, "type": "array" }, "start_country": { "description": "Filter by the country where the tour BEGINS (departure point). ISO 3166-1 alpha-2 codes (e.g., ['DE', 'AT']). Multiple values = OR logic. Use 'countries' filter for countries visited during the itinerary.", "items": { "enum": [ "AF", "AL", "DZ", "AD", "AO", "AG", "AR", "AM", "AU", "AT", "AZ", "BS", "BH", "BD", "BB", "BY", "BE", "BZ", "BJ", "BT", "BA", "BW", "BR", "BN", "BG", "BF", "BI", "KH", "CM", "CA", "CV", "CF", "TD", "CL", "CN", "CO", "KM", "CD", "CG", "CR", "CI", "HR", "CU", "CY", "CZ", "DK", "DJ", "DM", "DO", "TL", "EC", "EG", "SV", "GQ", "ER", "EE", "ET", "FJ", "FI", "FR", "GA", "GM", "GE", "DE", "GH", "GR", "GD", "GT", "GN", "GW", "GY", "HT", "HN", "HU", "IS", "IN", "ID", "IR", "IQ", "IE", "IL", "IT", "JM", "JP", "JO", "KZ", "KE", "KP", "KR", "KW", "KG", "LA", "LV", "LB", "LS", "LR", "LY", "LI", "LT", "LU", "MK", "MG", "MW", "MY", "MV", "ML", "MR", "MU", "MX", "FM", "MD", "MC", "MN", "MA", "MZ", "MM", "NA", "NR", "NP", "NZ", "NI", "NE", "NG", "NO", "OM", "PK", "PA", "PG", "PY", "PE", "PH", "PL", "PT", "QA", "RU", "RW", "KN", "LC", "VC", "WS", "SM", "ST", "SA", "SN", "RS", "SC", "SG", "SK", "SI", "SO", "ZA", "ES", "LK", "SD", "SZ", "SE", "CH", "SY", "TW", "TJ", "TZ", "TH", "TG", "TO", "TT", "TN", "TR", "TM", "UG", "UA", "AE", "US", "UY", "UZ", "VU", "VA", "VE", "VN", "YE", "ZM", "ZW", "NL", "BO", "MT", "GB", "NC", "SB", "GU", "PF", "AS", "SL", "EH", "PS", "BM", "GL", "PM", "AI", "AW", "KY", "GP", "MQ", "MS", "PR", "TC", "VI", "RO", "FO", "GG", "JE", "IM", "SJ", "GI", "FK", "VG", "RE", "SR", "CK", "ME", "XK", "SX", "CW", "HK", "AQ" ], "type": "string" }, "type": "array" }, "textSearch": { "type": "string" }, "tourIds": { "description": "Filter by specific tour IDs. Use this to narrow search results to known tours.", "items": { "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, "type": "array" } }, "required": [ "textSearch" ], "type": "object" }, "name": "tourradar_vertex-tour-search", "outputSchema": null }, { "description": "[tourradar] Search for tours by title using AI-powered semantic search. Returns a list of matching tour IDs and titles. Use this when you need to look up a tour by name. When you know tour id, use b2b-tour-details tool to display details about specific tour", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "query": { "description": "Tour title or partial title to search for", "type": "string" } }, "required": [ "query" ], "type": "object" }, "name": "tourradar_vertex-tour-title-search", "outputSchema": null }, { "description": "[tourradar] Use this when the user wants to ASK A QUESTION about a tour or operator WITHOUT committing to a booking.\n\nTwo modes:\n- mode \"tour\": a question about a specific tour. Requires `tourId`. The `departureDate` is OPTIONAL here — if the customer has not picked a date, omit it and the backend will pick the nearest real departure. Do NOT fabricate a date.\n- mode \"operator\": a general/operator-level question. Requires `operatorId` and no tour.\n\nAlways provide the customer's real contact details (email, first/last name; phone optional) and their actual question text. Never fabricate or assume user data — ask for missing information.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "agentInformation": { "description": "Optional agent context about the customer's needs/preferences. Helps Customer Support. The customer's question stays primary; this is appended as extra context.", "type": "string" }, "email": { "description": "Customer email address. If email is not given by the customer, please ask before executing this tool. Never generate an email yourself.", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", "type": "string" }, "entity": { "description": "What the question is about. Pick exactly one mode: \"tour\" (carries `tourId` + optional departure/pax) or \"operator\" (carries `operatorId`). A tour question cannot carry an operator id and vice versa.", "oneOf": [ { "properties": { "departureDate": { "description": "Optional departure date, from the customer selection. Omit if the customer has not chosen a date — do not fabricate one; the backend will pick the nearest real departure.", "format": "date", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$", "type": "string" }, "mode": { "const": "tour", "description": "Use \"tour\" for a question about a specific tour.", "type": "string" }, "paxAdults": { "description": "Number of adults. Defaults to 1 when omitted.", "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, "paxChildren": { "description": "Number of children. Defaults to 0 when omitted.", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "tourId": { "description": "Tour ID. Required for a tour question.", "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" } }, "required": [ "mode", "tourId" ], "type": "object" }, { "properties": { "mode": { "const": "operator", "description": "Use \"operator\" for a general/operator-level question (no specific tour).", "type": "string" }, "operatorId": { "description": "Operator ID. Required for an operator question.", "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" } }, "required": [ "mode", "operatorId" ], "type": "object" } ] }, "firstName": { "description": "Customer first name.", "type": "string" }, "lastName": { "description": "Customer last name.", "type": "string" }, "phoneNumber": { "description": "Customer phone number in E-164 format. Optional but recommended. Never put a fake phone number; if the customer does not provide one, skip this field.", "type": "string" }, "question": { "description": "The customer's actual question text. Required and must be non-empty. This is the question the customer wants answered.", "minLength": 1, "type": "string" } }, "required": [ "entity", "question", "email", "firstName", "lastName" ], "type": "object" }, "name": "tourradar_web-ask-question", "outputSchema": null }, { "description": "[tourradar] Use this when the user explicitly wants to book a tour and has provided their contact details.\n\nCreates a booking request for a specific tour. Requires real contact details (email, names; phone optional). Always confirm the departure date by checking departures first. Never fabricate or assume user data - always ask for missing information.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "agentInformation": { "description": "Agent information about the booking. Describe here what customer is looked for, preferences etc, what you can recognize. Will be helpful for our Customer Support team to understand the customer needs.", "type": "string" }, "departureDate": { "description": "Departure date, from customer selection", "format": "date", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$", "type": "string" }, "email": { "description": "Customer email address. If email is not given by the customer, please ask him before executing this endpoint. Never generate email by yourself, always ask customer for give the email before calling this tool.", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", "type": "string" }, "extraInformation": { "description": "Customer extra information from the customer or agent. Fill here if customer has provided any additional information about the booking. This is optional and can be empty.", "type": "string" }, "firstName": { "type": "string" }, "lastName": { "type": "string" }, "paxAdults": { "description": "Number of the adults. Always ask customer for this information, is important to have it", "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, "paxChildren": { "description": "Number of the children", "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" }, "phoneNumber": { "description": "Customer phone number in E-164 format. Is optional, but recommended to provide it. Never put fake phone number, always ask customer for give the phone number before calling this tool. If customer do not gives phone number, just skip this field", "type": "string" }, "tourId": { "description": "Tour ID", "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" } }, "required": [ "tourId", "email", "firstName", "lastName", "departureDate", "extraInformation", "agentInformation", "paxAdults", "paxChildren" ], "type": "object" }, "name": "tourradar_web-tour-booking", "outputSchema": null }, { "description": "[tourradar] Use this when the user requests a tour brochure or PDF to be sent to their email.\n\nSends a tour brochure (PDF file) to the specified email address. Before using this, ensure the user has provided their email address. If not provided, ask the user for it. Never generate or assume email addresses.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "email": { "description": "User email address. If email is not given by the user, please ask him before executing this endpoint. Never generate email by yourself, always ask user for give the email before calling this tool.", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", "type": "string" }, "tourId": { "description": "Tour ID", "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" } }, "required": [ "tourId", "email" ], "type": "object" }, "name": "tourradar_web-tour-send-brochure", "outputSchema": null }, { "description": "Ask a travel question in natural language. Routes to the right tools automatically and returns a combined answer. Example: 'Cheapest flights from Zurich to Rome next week, and do I need a visa?'", "inputSchema": { "properties": { "query": { "title": "Query", "type": "string" } }, "required": [ "query" ], "title": "travel_agentArguments", "type": "object" }, "name": "travel_agent", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "travel_agentOutput", "type": "object" } }, { "description": "[trivago] 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\").\n\nAdditional Information: {\"knownInformation\":{\"currentYear\":\"2026\",\"today\":\"2026-09-14\"}}", "inputSchema": { "properties": { "adults": { "description": "\n\t\tThe number of adults.\n\t", "minimum": 1, "type": "number" }, "arrival": { "description": "\n\t\tThe arrival date in YYYY-MM-DD format, today is 2026-09-14.\n\n\t\tThe arrival date 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.\n\t\t", "type": "string" }, "children": { "description": "\n\t\tThe number of children.\n\t", "minimum": 0, "type": "number" }, "children_ages": { "description": "\n\t\tDashed separated list of children ages, e.g. 10-12-14\n\t", "type": "string" }, "country": { "default": "US", "description": "ISO alpha-2 country code that determines market-specific pricing and content. Default: US.", "enum": [ "AE", "AR", "AT", "AU", "BE", "BR", "CA", "CH", "CL", "CO", "CZ", "DE", "DK", "EG", "ES", "FI", "FR", "GB", "GR", "HK", "HU", "ID", "IE", "IL", "IN", "IT", "JP", "KR", "MX", "MY", "NL", "NO", "NZ", "PE", "PH", "PL", "PT", "RO", "RU", "SA", "SE", "SG", "TH", "TR", "TW", "UA", "US", "VN", "ZA" ], "type": "string" }, "currency": { "default": "USD", "description": "ISO 4217 currency code used to display prices. Default: USD.", "enum": [ "AED", "ARS", "AUD", "BRL", "CAD", "CHF", "CLP", "CNY", "COP", "CZK", "DKK", "EGP", "EUR", "GBP", "HKD", "HUF", "IDR", "ILS", "INR", "JPY", "KRW", "MXN", "MYR", "NOK", "NZD", "PEN", "PHP", "PLN", "RON", "RUB", "SAR", "SEK", "SGD", "THB", "TRY", "TWD", "UAH", "USD", "VND", "ZAR" ], "type": "string" }, "departure": { "description": "\n\t\tThe departure date in YYYY-MM-DD format, today is 2026-09-14.\n\n\t\tThe departure date 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.\n\t\t", "type": "string" }, "filters": { "description": "\n\t\tThe filters that you want to apply to the search.\n\t\tSet true or false for each filter.\n\t\tMultiple filters can be selected.\n\t\t", "properties": { "airConditioning": { "default": false, "description": "Whether the accommodation has air conditioning", "type": "boolean" }, "breakfastIncluded": { "default": false, "description": "Whether the accommodation includes breakfast", "type": "boolean" }, "freeCancellation": { "default": false, "description": "Whether the accommodation has free cancellation", "type": "boolean" }, "freeWiFi": { "default": false, "description": "Whether the accommodation has free WiFi", "type": "boolean" }, "gym": { "default": false, "description": "Whether the accommodation has a gym", "type": "boolean" }, "kitchen": { "default": false, "description": "Whether the accommodation has a kitchen", "type": "boolean" }, "parking": { "default": false, "description": "Whether the accommodation has parking", "type": "boolean" }, "petFriendly": { "default": false, "description": "Whether the accommodation is pet friendly", "type": "boolean" }, "pool": { "default": false, "description": "Whether the accommodation has a pool", "type": "boolean" }, "spa": { "default": false, "description": "Whether the accommodation has a spa", "type": "boolean" } }, "type": "object" }, "hotel_rating": { "description": "\n\t\tThe hotel rating that you want to filter by.\n\t\tSet true or false for each rating.\n\t\tMultiple ratings can be selected.\n\t", "properties": { "1star": { "default": false, "description": "Whether the accommodation has a 1 star rating", "type": "boolean" }, "2star": { "default": false, "description": "Whether the accommodation has a 2 star rating", "type": "boolean" }, "3star": { "default": false, "description": "Whether the accommodation has a 3 star rating", "type": "boolean" }, "4star": { "default": false, "description": "Whether the accommodation has a 4 star rating", "type": "boolean" }, "5star": { "default": false, "description": "Whether the accommodation has a 5 star rating", "type": "boolean" } }, "type": "object" }, "language": { "default": "EN_US", "description": "Language code for translated content (e.g. EN_US, DE_DE, ZH_HANS_CN). Default: EN_US.", "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" ], "type": "string" }, "latitude": { "description": "Latitude of the search target location (landmark, address, or neighborhood — not the user's location).", "type": "number" }, "longitude": { "description": "Longitude of the search target location (landmark, address, or neighborhood — not the user's location).", "type": "number" }, "review_rating": { "description": "\n\t\tThe guest review rating that you want to filter by.\n\t\tSet true or false for each rating.\n\t\tMultiple ratings can be selected.\n\t", "properties": { "rating70": { "default": false, "description": "Whether the accommodation has a Guest Rating of 7.0+", "type": "boolean" }, "rating75": { "default": false, "description": "Whether the accommodation has a Guest Rating of 7.5+", "type": "boolean" }, "rating80": { "default": false, "description": "Whether the accommodation has a Guest Rating of 8.0+", "type": "boolean" }, "rating85": { "default": false, "description": "Whether the accommodation has a Guest Rating of 8.5+", "type": "boolean" } }, "type": "object" }, "rooms": { "description": "\n\t\tThe number of rooms, Number of rooms must be lower than or equal to the number of adults\n\t", "minimum": 1, "type": "number" } }, "required": [ "latitude", "longitude", "arrival", "departure" ], "type": "object" }, "name": "trivago_trivago-accommodation-radius-search", "outputSchema": null }, { "description": "[trivago] 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.\n\nAdditional Information: {\"knownInformation\":{\"currentYear\":\"2026\",\"today\":\"2026-09-14\"}}", "inputSchema": { "properties": { "adults": { "description": "\n\t\tThe number of adults.\n\t", "minimum": 1, "type": "number" }, "arrival": { "description": "\n\t\tThe arrival date in YYYY-MM-DD format, today is 2026-09-14.\n\n\t\tThe arrival date 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.\n\t\t", "type": "string" }, "children": { "description": "\n\t\tThe number of children.\n\t", "minimum": 0, "type": "number" }, "children_ages": { "description": "\n\t\tDashed separated list of children ages, e.g. 10-12-14\n\t", "type": "string" }, "country": { "default": "US", "description": "ISO alpha-2 country code that determines market-specific pricing and content. Default: US.", "enum": [ "AE", "AR", "AT", "AU", "BE", "BR", "CA", "CH", "CL", "CO", "CZ", "DE", "DK", "EG", "ES", "FI", "FR", "GB", "GR", "HK", "HU", "ID", "IE", "IL", "IN", "IT", "JP", "KR", "MX", "MY", "NL", "NO", "NZ", "PE", "PH", "PL", "PT", "RO", "RU", "SA", "SE", "SG", "TH", "TR", "TW", "UA", "US", "VN", "ZA" ], "type": "string" }, "currency": { "default": "USD", "description": "ISO 4217 currency code used to display prices. Default: USD.", "enum": [ "AED", "ARS", "AUD", "BRL", "CAD", "CHF", "CLP", "CNY", "COP", "CZK", "DKK", "EGP", "EUR", "GBP", "HKD", "HUF", "IDR", "ILS", "INR", "JPY", "KRW", "MXN", "MYR", "NOK", "NZD", "PEN", "PHP", "PLN", "RON", "RUB", "SAR", "SEK", "SGD", "THB", "TRY", "TWD", "UAH", "USD", "VND", "ZAR" ], "type": "string" }, "departure": { "description": "\n\t\tThe departure date in YYYY-MM-DD format, today is 2026-09-14.\n\n\t\tThe departure date 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.\n\t\t", "type": "string" }, "filters": { "description": "\n\t\tThe filters that you want to apply to the search.\n\t\tSet true or false for each filter.\n\t\tMultiple filters can be selected.\n\t\t", "properties": { "airConditioning": { "default": false, "description": "Whether the accommodation has air conditioning", "type": "boolean" }, "breakfastIncluded": { "default": false, "description": "Whether the accommodation includes breakfast", "type": "boolean" }, "freeCancellation": { "default": false, "description": "Whether the accommodation has free cancellation", "type": "boolean" }, "freeWiFi": { "default": false, "description": "Whether the accommodation has free WiFi", "type": "boolean" }, "gym": { "default": false, "description": "Whether the accommodation has a gym", "type": "boolean" }, "kitchen": { "default": false, "description": "Whether the accommodation has a kitchen", "type": "boolean" }, "parking": { "default": false, "description": "Whether the accommodation has parking", "type": "boolean" }, "petFriendly": { "default": false, "description": "Whether the accommodation is pet friendly", "type": "boolean" }, "pool": { "default": false, "description": "Whether the accommodation has a pool", "type": "boolean" }, "spa": { "default": false, "description": "Whether the accommodation has a spa", "type": "boolean" } }, "type": "object" }, "hotel_rating": { "description": "\n\t\tThe hotel rating that you want to filter by.\n\t\tSet true or false for each rating.\n\t\tMultiple ratings can be selected.\n\t", "properties": { "1star": { "default": false, "description": "Whether the accommodation has a 1 star rating", "type": "boolean" }, "2star": { "default": false, "description": "Whether the accommodation has a 2 star rating", "type": "boolean" }, "3star": { "default": false, "description": "Whether the accommodation has a 3 star rating", "type": "boolean" }, "4star": { "default": false, "description": "Whether the accommodation has a 4 star rating", "type": "boolean" }, "5star": { "default": false, "description": "Whether the accommodation has a 5 star rating", "type": "boolean" } }, "type": "object" }, "language": { "default": "EN_US", "description": "Language code for translated content (e.g. EN_US, DE_DE, ZH_HANS_CN). Default: EN_US.", "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" ], "type": "string" }, "query": { "description": "Destination or point of interest.", "type": "string" }, "review_rating": { "description": "\n\t\tThe guest review rating that you want to filter by.\n\t\tSet true or false for each rating.\n\t\tMultiple ratings can be selected.\n\t", "properties": { "rating70": { "default": false, "description": "Whether the accommodation has a Guest Rating of 7.0+", "type": "boolean" }, "rating75": { "default": false, "description": "Whether the accommodation has a Guest Rating of 7.5+", "type": "boolean" }, "rating80": { "default": false, "description": "Whether the accommodation has a Guest Rating of 8.0+", "type": "boolean" }, "rating85": { "default": false, "description": "Whether the accommodation has a Guest Rating of 8.5+", "type": "boolean" } }, "type": "object" }, "rooms": { "description": "\n\t\tThe number of rooms, Number of rooms must be lower than or equal to the number of adults\n\t", "minimum": 1, "type": "number" } }, "required": [ "query", "arrival", "departure" ], "type": "object" }, "name": "trivago_trivago-accommodation-search", "outputSchema": null }, { "description": "[trivago] 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.\n\nAdditional Information: {\"knownInformation\":{\"currentYear\":\"2026\",\"today\":\"2026-09-14\"}}", "inputSchema": { "properties": { "country": { "default": "US", "description": "ISO alpha-2 country code that determines market-specific pricing and content. Default: US.", "enum": [ "AE", "AR", "AT", "AU", "BE", "BR", "CA", "CH", "CL", "CO", "CZ", "DE", "DK", "EG", "ES", "FI", "FR", "GB", "GR", "HK", "HU", "ID", "IE", "IL", "IN", "IT", "JP", "KR", "MX", "MY", "NL", "NO", "NZ", "PE", "PH", "PL", "PT", "RO", "RU", "SA", "SE", "SG", "TH", "TR", "TW", "UA", "US", "VN", "ZA" ], "type": "string" }, "currency": { "default": "USD", "description": "ISO 4217 currency code used to display prices. Default: USD.", "enum": [ "AED", "ARS", "AUD", "BRL", "CAD", "CHF", "CLP", "CNY", "COP", "CZK", "DKK", "EGP", "EUR", "GBP", "HKD", "HUF", "IDR", "ILS", "INR", "JPY", "KRW", "MXN", "MYR", "NOK", "NZD", "PEN", "PHP", "PLN", "RON", "RUB", "SAR", "SEK", "SGD", "THB", "TRY", "TWD", "UAH", "USD", "VND", "ZAR" ], "type": "string" }, "end_month": { "description": "\nOptional end year-month in YYYY-MM format (e.g. 2026-12). Must not be before start_month. Requires start_month to also be set.\n\t", "type": "string" }, "hotel_rating": { "description": "\n\t\tThe hotel star ratings to include in the price statistics.\n\t\tOnly 3, 4, and 5-star hotels are supported — forecasted price statistics are not available for 1 or 2-star hotels.\n\t\tSet true or false for each rating. Multiple ratings can be selected.\n\t\tWhen no rating is selected, the results default to 3-star hotels only.\n\t", "properties": { "3star": { "default": false, "description": "Include 3-star hotels in the price statistics", "type": "boolean" }, "4star": { "default": false, "description": "Include 4-star hotels in the price statistics", "type": "boolean" }, "5star": { "default": false, "description": "Include 5-star hotels in the price statistics", "type": "boolean" } }, "type": "object" }, "language": { "default": "EN_US", "description": "Language code for translated content (e.g. EN_US, DE_DE, ZH_HANS_CN). Default: EN_US.", "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" ], "type": "string" }, "query": { "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\t", "type": "string" }, "start_month": { "description": "\nOptional 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.\n\t", "type": "string" } }, "required": [ "query" ], "type": "object" }, "name": "trivago_trivago-destination-price-trends", "outputSchema": null }, { "description": "Check visa requirement for a passport country visiting a destination.", "inputSchema": { "properties": { "destination": { "title": "Destination", "type": "string" }, "passport": { "title": "Passport", "type": "string" } }, "required": [ "passport", "destination" ], "title": "visa_checkArguments", "type": "object" }, "name": "visa_check", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "visa_checkOutput", "type": "object" } }, { "description": "Overview of visa-free access for a passport country — counts by category.", "inputSchema": { "properties": { "passport": { "title": "Passport", "type": "string" } }, "required": [ "passport" ], "title": "visa_summaryArguments", "type": "object" }, "name": "visa_summary", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "visa_summaryOutput", "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:7c7e788cc3650e1877396e9ce8c051472bafc68f44331e04f1e782917fe0a751 | sha256sum