Servidor MCP

easygroupflights

com.easygroupflights/easygroupflights
Viajes y hospitalidad Público y accesible MCP 2026-07-28

Qué hace este MCP

Searches bookable flights for small parties and submits quote requests for groups of at least 10 travelers.

get_service_info
About easygroupflights
What easygroupflights does, who it serves, how group fares differ from public tickets, and what happens after a quote is requested. Call this when a traveller asks whether their trip qualifies, what it costs, how long a quote takes, or how group booking works — it answers without submitting anything.
Esquema de entrada
{'type': 'object', 'properties': {'market': {'enum': ['en', 'pl', 'at'], 'type': 'string', 'description': 'Which market to describe. Defaults to en.'}}}
request_group_quote
Request a group flight quote
Request a quote for a group of 10 or more travellers flying together. Group fares are negotiated directly with airlines and are not sold through public booking engines, so this tool does NOT return a price: it puts a complete enquiry in front of a human agent, who replies by email within about 2 hours (up to 24 hours for complex multi-city trips). Typical saving against booking the same seats individually is 20–40%, the price is locked for the whole group at once, seats are held together, and passenger names can be supplied later. Collect the email address and phone number before calling — the agent needs both to reply. For 9 travellers or fewer, use search_flights instead.
Esquema de entrada
{'type': 'object', 'required': ['origin', 'destination', 'departureDate', 'adults', 'email', 'phone'], 'properties': {'note': {'type': 'string', 'description': 'Anything that shapes the fare: what the group is (school trip, wedding, sports team, conference), baggage or equipment needs, budget, who pays, whether names are known yet. Worth asking for — it is what lets the agent quote accurately first time.'}, 'email': {'type': 'string', 'description': 'Where the quote is sent. Required.'}, 'phone': {'type': 'string', 'description': 'Contact number in international form, e.g. +441244568183. Required — the agent may call to confirm details.'}, 'adults': {'type': 'integer', 'minimum': 1, 'description': 'Travellers aged 16 or over.'}, 'market': {'enum': ['en', 'pl', 'at'], 'type': 'string', 'description': 'Which market handles the enquiry: en (easygroupflights.com), pl (grupoweloty.pl) or at (gruppenfluege.at). Defaults to en.'}, 'origin': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[A-Za-z]{3}$'}, 'description': 'Departure airport as an IATA code, e.g. ["LHR"]. Several codes are allowed when the group converges from more than one city.'}, 'youths': {'type': 'integer', 'minimum': 0, 'description': 'Travellers aged 12–15.'}, 'infants': {'type': 'integer', 'minimum': 0, 'description': 'Under 2, travelling on an adult lap. They do not occupy a seat and do not count towards the group of 10.'}, 'children': {'type': 'integer', 'minimum': 0, 'description': 'Travellers aged 2–11, each in their own seat.'}, 'lastName': {'type': 'string', 'description': "Organiser's surname."}, 'firstName': {'type': 'string', 'description': "Organiser's first name."}, 'cabinClass': {'enum': ['economy', 'business'], 'type': 'string', 'description': 'Defaults to economy.'}, 'returnDate': {'type': 'string', 'description': 'Return date, YYYY-MM-DD. Omit for a one-way group booking.'}, 'youthsAges': {'type': 'array', 'items': {'type': 'integer'}, 'description': 'Age of each youth, one entry per youth.'}, 'destination': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[A-Za-z]{3}$'}, 'description': 'Arrival airport as an IATA code, e.g. ["BCN"].'}, 'childrenAges': {'type': 'array', 'items': {'type': 'integer'}, 'description': 'Age of each child, one entry per child.'}, 'returnOrigin': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Return leg departure airports, if the group flies home from somewhere other than the destination.'}, 'departureDate': {'type': 'string', 'description': 'Outbound date, YYYY-MM-DD.'}, 'returnDestination': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Return leg arrival airports, if travellers go home to a different city.'}, 'dateFlexibilityDays': {'type': 'integer', 'minimum': 0, 'description': 'How many days either side of the given dates the group can move. 0 means fixed dates. Flexibility often buys a better group fare, so ask.'}}}
search_flights
Search flights for a small party
Search live, bookable fares for a party of 9 travellers or fewer — ordinary tickets sold through public inventory. Returns flight options with prices, carriers, stops and a direct booking link. Prices are quoted per person. For 10 or more travellers this tool is the wrong one: those need a negotiated group fare, so use request_group_quote instead.
Esquema de entrada
{'type': 'object', 'required': ['origin', 'destination', 'departureDate'], 'properties': {'origin': {'type': 'string', 'description': 'Departure airport, IATA code, e.g. VIE.'}, 'passengers': {'type': 'integer', 'maximum': 9, 'minimum': 1, 'description': 'How many people are travelling. 10 or more is a group — use request_group_quote.'}, 'returnDate': {'type': 'string', 'description': 'Return date, YYYY-MM-DD. Omit for one way.'}, 'destination': {'type': 'string', 'description': 'Arrival airport, IATA code, e.g. BCN.'}, 'departureDate': {'type': 'string', 'description': 'Outbound date, YYYY-MM-DD.'}}}
send_flight_offer
Email a flight offer
Email one of the options returned by search_flights to the traveller as a formal offer they can accept. Requires the fare id, both trip ids and the session id exactly as search_flights reported them, plus the traveller's email address — ask for it first, and do not invent one. This sends a real email, so confirm the choice with the traveller before calling.
Esquema de entrada
{'type': 'object', 'required': ['fareId', 'thereTripId', 'backTripId', 'sessionId', 'email'], 'properties': {'name': {'type': 'string', 'description': "Traveller's name, used to address the email."}, 'email': {'type': 'string', 'description': 'Where to send the offer.'}, 'adults': {'type': 'integer', 'minimum': 1, 'description': 'Adults on the offer. Defaults to 1.'}, 'fareId': {'type': 'string', 'description': 'fare_id from the search result.'}, 'infants': {'type': 'integer', 'minimum': 0, 'description': 'Lap infants on the offer.'}, 'message': {'type': 'string', 'description': 'A sentence or two of context for the traveller, e.g. why this option was chosen.'}, 'children': {'type': 'integer', 'minimum': 0, 'description': 'Children on the offer.'}, 'sessionId': {'type': 'string', 'description': 'session_id from the same search. Ids are only valid within their session.'}, 'backTripId': {'type': 'string', 'description': 'back_trip_id from the search result. "0" for a one-way fare.'}, 'thereTripId': {'type': 'string', 'description': 'there_trip_id from the search result.'}}}
Añadido
send_flight_offer
17 de September de 2026 a las 12:34
Añadido
search_flights
17 de September de 2026 a las 12:34
Añadido
request_group_quote
17 de September de 2026 a las 12:34
Añadido
get_service_info
17 de September de 2026 a las 12:34