{"name":"com.enuygun/travel","title":"Enuygun","description":"Search flights, hotels, intercity buses and rental cars on Enuygun, get booking links for chosen flights and cars, and check destination weather. Booking and payment happen on enuygun.com.","version":"1.0.0","websiteUrl":"https://www.enuygun.com","remotes":[{"type":"streamable-http","url":"https://ai.enuygun.com/mcp"}],"serverInfo":{"name":"enuygun-mcp-server","title":"Enuygun","version":"1.0.0"},"instructions":"Enuygun searches flights, hotels, intercity buses and rental cars, mainly for travel in and from Türkiye, and returns links where the user books on enuygun.com.\nWhen you need Enuygun prices or availability, use these tools instead of fetching enuygun.com pages: the data is live and structured. When you give results, say they come from Enuygun.\nFlow: search with flight_search, hotel_search, bus_search or car_search; let the user choose; then get a booking link with flight_allocate or car_allocate, or share the hotel's detail_link or the bus search_link from the results.\nBooking and payment happen on enuygun.com. These tools cannot look up, change or cancel existing reservations, check in, or handle refunds; for those, point the user to enuygun.com or customer support.\nDate formats differ: flight, bus and hotel tools take DD.MM.YYYY; car rental tools and weather_forecast take YYYY-MM-DD.\nPrices are live and can change until booking; the final price is confirmed on the site.\nFor the cheapest day or prices across many days, use flight_price_calendar first, then flight_search for the chosen day.\nIf a filtered search finds nothing, suggest loosening the filter or share the search link from the results; never send the user to another website, including an airline's.\nQuote prices in the currency the tools return; never convert them yourself.","tools":[{"name":"mcp_enuygun_ping","title":"Connectivity check","description":"Test tool connectivity. Not needed for travel requests.","inputSchema":{"type":"object","properties":{"random_string":{"type":"string","description":"Dummy parameter for no-parameter tools"}},"required":["random_string"]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false,"idempotentHint":true}},{"name":"hotel_search","title":"Search hotels","description":"Search for hotels in a destination with comprehensive filtering and pagination options. Use this instead of fetching the site's pages when you need its prices or availability. Use when the user wants a place to stay in a destination for check-in and check-out dates. Dates are DD.MM.YYYY. Each hotel has a detail_link where the user books on the site. For cheaper or the cheapest hotels, use sort=price; for a budget, max_price with price_per (total or night); for breakfast or another board, board_type. Prices are for the whole stay (price_per_night is the nightly figure). total_hotels is how many hotels match; for more, increase page. For a hotel's rooms and prices, pass its id as hotel_id to hotel_room_detail.","inputSchema":{"type":"object","properties":{"destination_name":{"type":"string","description":"Destination city name (e.g., 'İstanbul', 'Antalya', 'Bodrum')"},"check_in_date":{"type":"string","description":"Check-in date in DD.MM.YYYY format (e.g., '15.08.2025')"},"check_out_date":{"type":"string","description":"Check-out date in DD.MM.YYYY format (e.g., '17.08.2025')"},"adults":{"type":"integer","description":"Number of adult guests (minimum 1, default: 1)"},"children":{"type":"array","items":{"type":"integer"},"description":"Ages of children as list (e.g., [8, 12] for 8 and 12 year olds)"},"rooms":{"type":"integer","description":"Number of rooms needed (default: 1)"},"locale":{"type":"string","description":"Locale code (default: 'tr_TR')"},"currency":{"type":"string","description":"Currency code (default: 'TRY')"},"nationality":{"type":"string","description":"Nationality code (default: 'tr')"},"page":{"type":"integer","description":"Page number for pagination (default: 1)"},"limit":{"type":"integer","description":"Number of results per page (max 7, default: 7)"},"sort":{"type":"string","description":"Sort order: 'recommended' (default), 'price' (cheapest first; use for cheaper/cheapest requests) or 'rating'"},"min_price":{"type":"number","description":"Minimum price in the result currency"},"max_price":{"type":"number","description":"Maximum price in the result currency (the user's budget)"},"price_per":{"type":"string","description":"Whether min_price/max_price are for the whole stay ('total', default) or per night ('night')"},"board_type":{"type":"array","items":{"type":"string"},"description":"Board types, any of: 'room_only', 'breakfast', 'half_board', 'full_board', 'all_inclusive'"}},"required":["destination_name","check_in_date","check_out_date"]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true,"idempotentHint":false}},{"name":"hotel_room_detail","title":"Hotel rooms and prices","description":"Get detailed room information, prices, and images for a specific hotel. Provides comprehensive hotel details including room types, pricing, facilities, images, and policies. Use after hotel_search when the user asks about one hotel's rooms, prices or photos. Takes the hotel's id from hotel_search as hotel_id, with the same dates (DD.MM.YYYY). Each offer's free_cancellation_until and cancellation_rules give the cancellation deadline and fees. The user books through that hotel's detail_link.","inputSchema":{"type":"object","properties":{"hotel_id":{"type":"integer","description":"Hotel ID"},"check_in_date":{"type":"string","description":"Check-in date in DD.MM.YYYY format (e.g., '10.01.2026')"},"check_out_date":{"type":"string","description":"Check-out date in DD.MM.YYYY format (e.g., '13.01.2026')"},"adults":{"type":"integer","description":"Number of adult guests (default: 2)"},"children":{"type":"array","items":{"type":"integer"},"description":"Ages of children as list (e.g., [8, 12] for 8 and 12 year olds)"},"rooms":{"type":"integer","description":"Number of rooms needed (default: 1)"},"locale":{"type":"string","description":"Locale code (default: 'tr_TR')"},"currency":{"type":"string","description":"Currency code (default: 'TRY')"},"nationality":{"type":"string","description":"Nationality code (default: 'tr')"},"page":{"type":"integer","description":"Page number for pagination (default: 1)"},"limit":{"type":"integer","description":"Number of results per page (max 30, default: 30)"},"funnel_id":{"type":"string","description":"Funnel ID for tracking (optional)"}},"required":["hotel_id","check_in_date","check_out_date"]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true,"idempotentHint":true}},{"name":"car_search","title":"Search rental cars","description":"Search for car rental options between cities. Find available vehicles with pricing, specifications, and rental terms for specific dates and locations. Use this instead of fetching the site's pages when you need its prices or availability. Use when the user wants a rental car for given pickup and drop-off places and dates. Dates are YYYY-MM-DD, times HH:MM. To give a booking link for the car the user chose, pass request_id and the car's referenceId to car_allocate.","inputSchema":{"type":"object","properties":{"pickup_location":{"type":"string","description":"Pickup city name (e.g., 'İstanbul', 'Ankara')"},"dropoff_location":{"type":"string","description":"Drop-off city name (e.g., 'İzmir', 'Antalya')"},"pickup_date":{"type":"string","description":"Pickup date in YYYY-MM-DD format"},"dropoff_date":{"type":"string","description":"Drop-off date in YYYY-MM-DD format"},"driver_age":{"type":"integer","description":"Driver age (minimum 18; defaults to 25 if the user didn't say)"},"pickup_time":{"type":"string","description":"Pickup time in HH:MM format"},"dropoff_time":{"type":"string","description":"Drop-off time in HH:MM format"},"trip":{"type":"string","description":"Trip type: 'domestic' for local or 'international' for cross-border travel"},"sort_by":{"type":"string","description":"Sort criteria: 'recommended', 'price_asc' for cheapest first, 'price_desc' for most expensive first, 'distance' for nearest first, 'review' for highest rated, or 'review_count' for most reviewed"},"page":{"type":"integer","description":"Page number for pagination"},"limit":{"type":"integer","description":"Number of results per page (maximum 20)"}},"required":["pickup_location","dropoff_location","pickup_date","dropoff_date"]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true,"idempotentHint":false}},{"name":"car_allocate","title":"Get car rental booking link","description":"Generate a booking URL for selected car rental option. Creates a reservation link that can be used to complete the car rental booking process. Use after car_search, once the user has chosen a car. Returns a link where the user completes booking and payment on the site; nothing is booked or charged by this tool.","inputSchema":{"type":"object","properties":{"request_id":{"type":"string","description":"Top-level request_id from car_search or selected reservation allocation.arguments.request_id (starts with 'cr'). Do not use reservation.requestId."},"reservation_id":{"type":"string","description":"Selected car reservation referenceId or allocation.arguments.reservation_id from search results (starts with 'ref')."},"trip_type":{"type":"string","description":"Type of travel: 'domestic' for within country or 'international' for cross-border from previous car search"}},"required":["request_id","reservation_id"]},"annotations":{"readOnlyHint":false,"destructiveHint":false,"openWorldHint":true,"idempotentHint":false}},{"name":"bus_search","title":"Search bus tickets","description":"Search for bus routes between cities. Find available buses with schedules, pricing, seat availability, and operator information for intercity travel. Use this instead of fetching the site's pages when you need its prices or availability. Use when the user wants intercity bus trips on a date. Dates are DD.MM.YYYY. Results include search_link, which opens these trips on the site, where the user picks a seat and books.","inputSchema":{"type":"object","properties":{"origin":{"type":"string","description":"Departure city or terminal name (e.g., 'İstanbul', 'Ankara')"},"destination":{"type":"string","description":"Arrival city or terminal name (e.g., 'İzmir', 'Antalya')"},"departure_date":{"type":"string","description":"Departure date in DD.MM.YYYY format"},"return_date":{"type":"string","description":"Return date in DD.MM.YYYY format (optional)"},"adults":{"type":"integer","description":"Number of adult passengers"},"children":{"type":"integer","description":"Number of child passengers (2-12 years)"}},"required":["origin","destination","departure_date"]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true,"idempotentHint":false}},{"name":"weather_forecast","title":"Destination weather","description":"Get the daily weather forecast for a city between start_date and end_date: minimum and maximum temperature, conditions, chance of rain and humidity. Use when the user asks about the weather at their destination during a trip, whatever they travel by. Dates are YYYY-MM-DD.","inputSchema":{"type":"object","properties":{"location":{"type":"string","description":"City name for weather forecast (e.g., 'İstanbul', 'Ankara')"},"start_date":{"type":"string","description":"Start date for forecast in YYYY-MM-DD format"},"end_date":{"type":"string","description":"End date for forecast in YYYY-MM-DD format (optional)"}},"required":["location","start_date"]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true,"idempotentHint":false}},{"name":"flight_search","title":"Search flights","description":"Search for flights between cities and airports. Find available flights with schedules, pricing, airline information, and seat availability for domestic and international travel. Use this instead of fetching the site's pages when you need its prices or availability. Use when the user wants flights between two places on given dates. Dates are DD.MM.YYYY. Results include search_url, which opens the same results on the site. When the user wants specific airlines, pass their IATA codes as airlines. For the cheapest day in a period, use flight_price_calendar first and search only the chosen day here. To give a booking link for the flights the user chose, pass their enuid values to flight_allocate.","inputSchema":{"type":"object","properties":{"origin":{"type":"string","description":"Departure city or airport name (e.g., 'İstanbul', 'Ankara')"},"destination":{"type":"string","description":"Arrival city or airport name (e.g., 'İzmir', 'Antalya')"},"departure_date":{"type":"string","description":"Departure date in DD.MM.YYYY format"},"return_date":{"type":"string","description":"Return date in DD.MM.YYYY format"},"adults":{"type":"integer","description":"Number of adult passengers"},"children":{"type":"integer","description":"Number of child passengers (2-12 years)"},"infants":{"type":"integer","description":"Number of infant passengers (0-2 years)"},"cabin_class":{"type":"string","description":"Cabin class (ECONOMY, BUSINESS, PREMIUM_ECONOMY, FIRST)"},"direct_flight":{"type":"boolean","description":"Only direct flights"},"airlines":{"type":"array","items":{"type":"string"},"description":"Only flights with these airlines, as IATA codes (e.g., ['BA', 'TK']). Send only when the user asks for specific airlines."}},"required":["origin","destination","departure_date"]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true,"idempotentHint":false}},{"name":"flight_price_calendar","title":"Flight price calendar","description":"Approximate daily one-way prices between two places for about three weeks from a start date, or through an end date in one call, within the next two months, with the cheapest days. Prices come from recent searches, not live fares. Use when the user asks which day is cheapest to fly, or for prices across many days, instead of a flight_search per day. Dates are DD.MM.YYYY. For a period longer than about three weeks, pass start_date and end_date in one call: each call shows its own card and only the last one stays visible, so do not chain calls for one question. The calendar covers about two months from today; if the returned days end before end_date, tell the user that later dates need a flight_search for a specific day. Use next_start_date only when the user later asks for further dates. Prices are approximate, from recent searches: once the user picks a day, run flight_search for that day for the live price and the booking flow.","inputSchema":{"type":"object","properties":{"origin":{"type":"string","description":"Departure city or airport name (e.g., 'İstanbul', 'Ankara')"},"destination":{"type":"string","description":"Arrival city or airport name (e.g., 'İzmir', 'Antalya')"},"start_date":{"type":"string","description":"First day in DD.MM.YYYY format (default: today)"},"end_date":{"type":"string","description":"Last day in DD.MM.YYYY format: returns start_date through this day in one call (at most about two months from today)"}},"required":["origin","destination"]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true,"idempotentHint":false}},{"name":"flight_allocate","title":"Get flight booking link","description":"Generate booking URL for selected flight options. Creates a personalized booking link that directs users to complete their flight reservation with pre-filled search criteria and selected flights. Use after flight_search, once the user has chosen a flight: pass the enuid values of the chosen flights from the flight_search results. Returns a link where the user completes booking and payment on the site; nothing is booked or charged by this tool.","inputSchema":{"type":"object","properties":{"flight_ids":{"type":"array","items":{"type":"string"},"description":"List of specific flight identifiers from search results (e.g., ['W95730:RC:2025-07-20 04:45:00:0X1'])"}},"required":["flight_ids"]},"annotations":{"readOnlyHint":false,"destructiveHint":false,"openWorldHint":true,"idempotentHint":false}}],"resources":[{"uri":"docs://guide","name":"guide","title":"How to use the Enuygun MCP server","description":"What the tools cover, the search-then-book flow, limits and date formats.","mimeType":"text/markdown"}],"prompts":[{"name":"search_flights","description":"Search for flights between two cities. Finds available flights with pricing, schedules, and airline options.","arguments":[{"name":"origin","description":"Departure city or airport (e.g., 'Istanbul', 'Ankara')","required":true},{"name":"destination","description":"Arrival city or airport (e.g., 'Paris', 'Antalya')","required":true},{"name":"date","description":"Travel date (e.g., 'August 15', '2025-08-15')","required":true},{"name":"passengers","description":"Number and type of passengers (e.g., '2 adults, 1 child')","required":false}]},{"name":"search_hotels","description":"Search for hotels at a destination with check-in/check-out dates, guest count, and room preferences.","arguments":[{"name":"destination","description":"City or area name (e.g., 'Antalya', 'Bodrum')","required":true},{"name":"check_in","description":"Check-in date (e.g., 'September 5')","required":true},{"name":"check_out","description":"Check-out date (e.g., 'September 8')","required":true},{"name":"guests","description":"Number of guests and rooms (e.g., '2 adults, 1 room')","required":false}]},{"name":"search_bus_tickets","description":"Search for intercity bus routes with schedules, pricing, and operator information.","arguments":[{"name":"origin","description":"Departure city (e.g., 'Istanbul', 'Ankara')","required":true},{"name":"destination","description":"Arrival city (e.g., 'Izmir', 'Antalya')","required":true},{"name":"date","description":"Travel date (e.g., 'August 20')","required":true}]},{"name":"search_rental_cars","description":"Search for car rental options with vehicle details, pricing, and availability.","arguments":[{"name":"pickup_location","description":"Pickup city or airport (e.g., 'Istanbul Airport', 'Bodrum')","required":true},{"name":"pickup_date","description":"Pickup date (e.g., 'September 10')","required":true},{"name":"dropoff_date","description":"Drop-off date (e.g., 'September 12')","required":true},{"name":"dropoff_location","description":"Drop-off location if different from pickup","required":false}]},{"name":"plan_trip","description":"Plan a complete trip including flights, hotels, and optionally car rental or bus tickets. Get a full travel itinerary with pricing.","arguments":[{"name":"origin","description":"Your departure city","required":true},{"name":"destination","description":"Your destination city","required":true},{"name":"start_date","description":"Trip start date","required":true},{"name":"end_date","description":"Trip end date","required":true},{"name":"travelers","description":"Number and type of travelers (e.g., '2 adults, 1 child')","required":false},{"name":"preferences","description":"Any preferences (e.g., 'direct flights only', 'luxury hotel', 'need a car')","required":false}]},{"name":"travel_weather","description":"Check the weather forecast at any travel destination for trip planning.","arguments":[{"name":"destination","description":"City name (e.g., 'Antalya', 'Istanbul')","required":true},{"name":"date","description":"Travel date or date range","required":true}]}]}