lastminute.com MCP server icon

lastminute.com

by lastminute.com

HIPAA CompliantSOC2 ReadyISO 27001 Ready
Productivity8 toolsNo Auth Required

Search flights, hotels and flight-plus-hotel packages from an AI agent. Nothing books and nothing pays — every result ends at a deeplink you open yourself. Anthropic lists 1 tool; the live server serves 8. No sign-in.

Verified connector

Listed by Anthropic as a partner connector in its Connectors Directory.

Connection checked by Agentman on .

Anthropic states this reflects the level of review a connector received, not a security audit.

Connect lastminute.com via MCP

https://mcp.lastminute.com/mcp

Works in any MCP-compatible client. In Agentman Studio it is one click — no config file to edit.

lastminute.com Tools & Capabilities (8)

search_flight_and_hotel_packageRead-only

🛫🏨 Search for COMBINED flight AND hotel vacation packages. This tool searches for all-inclusive vacation packages that include: - ✈️ Round-trip flights (outbound and return) - 🏨 Hotel accommodation for the entire stay - 💰 Package pricing (flight + hotel combined) ⚠️ IMPORTANT: This is for PACKAGE deals, NOT separate flight/hotel bookings. Is important to use the correct language in the destination field and keep the original language used in the request made in the user chat. Example use cases: - "Find me flight and hotel packages from Rome to Madrid" - "I need a vacation package with flights and hotel from FCO to Barcelona" - "Search flight+hotel deals from Milan to Paris for 3 nights" ═══════════════════════════════════════════════════════════════════════════ HARD CONSTRAINTS ═══════════════════════════════════════════════════════════════════════════ 1. Dates: - start_date MUST be today or later (YYYY-MM-DD) - If user provides past date, ask for valid date BEFORE calling 2. IATA Codes (CRITICAL): - origin and destination MUST be 3-letter IATA codes, NOT city names - NEVER pass city names like "New York", "Geneva", "Milan" - use IATA codes instead - Both CITY codes and AIRPORT codes are accepted: * City codes: NYC, GVA, ZRH, DUB, BRU, VIE, MIL, LON, PAR, BSL * Airport codes: JFK, MXP, FCO, LHR (automatically converted to city codes) - Examples: MXP or MIL for Milan, JFK or NYC for New York, FCO or ROM for Rome Args: origin: IATA code only - 3 letters. Use city code (MIL, NYC, LON) or airport code (MXP, JFK, LHR). NEVER use city names like "Milan" or "New York". destination: IATA code only - 3 letters. Use city code (BCN, PMI) or airport code. NEVER use city names like "Barcelona" or "Palma". date_from: Check-in date (YYYY-MM-DD). Check this field MUST be today or later. date_to: Check-out date (YYYY-MM-DD). Check this field MUST be today or later. adults: Number of adult travelers. If you want different rooms, set number_adult_room1;number_adult_room2 (default: 2) ⚠️ IMPORTANT: ch_ages: Ages of child travelers. If you want different rooms, set number_chages_room1;number_chages_room2 (default: ""). If there are two rooms and one is empty the result can be ";number,number" or "number,number;". The user MUST specify ages for each child. lang: Language code (default: "en") sort: Sort order for results. Use this when user asks for cheapest, best rated, closest to center, etc. Valid values: - "recommended" (default): Multi-factor relevance (price, rating, internal score) - "price": Price ascending (cheapest first) - use when user wants "cheapest" or "lowest price" - "stars": Hotel star rating descending (5-star first) - use for "best hotels" or "luxury" - "review_score": Highest review score - use for "best reviewed" or "most popular" - "distance": Closest to city center first - use for "central" or "close to center" max_results: Maximum number of results to return (default: 5, max: 20) accommodation_type: Filter by accommodation type (optional). CSV of IDs 1-14: 1=Hotels, 2=Resorts, 3=Apartments, 4=Hostels, 5=Motels, 6=Country Houses, 7=Guest Houses, 8=B&B, 9=Villas, 10=Boats & Cruises, 11=Campsites, 12=Riads, 13=Ryokans, 14=Aparthotels. Example: "1,2" for Hotels and Resorts accommodation_facilities: Filter by facilities/amenities (optional). CSV of IDs 0-60. All values are valid. Common examples: 0=Free Wi-Fi, 3=Parking, 4=Pool, 6=Spa, 7=Adults Only, 9=Seafront, 13=Fitness Center, 25=Golf, 46=Indoor Pool, 49=Sauna, 56=Bar, 58=Restaurant. Example: "0,4,6" for Free Wi-Fi, Pool, and Spa price: Optional price filter for one-way price per person, as string. Supported formats: - "300" => max price 300 (in the selected currency) - "200,400" => price range between 200 and 400 Use only digits and a comma, do NOT include currency symbols. If you invert the order ("400,200"), the backend will normalize it to "200,400". hotel_stars: Optional filter for hotel star rating, as comma-separated integers. Allowed values: 1,2,3,4,5. Examples: - "4" => only 4-star hotels - "3,4" => 3 or 4 stars - "3,4,5" => 3, 4 or 5 stars Returns: Dictionary containing search results with flight+hotel packages ═══════════════════════════════════════════════════════════════════════════ MANDATORY OUTPUT FORMAT ═══════════════════════════════════════════════════════════════════════════ You MUST present results as a Markdown table with EXACTLY these columns: | # | Photo | Hotel | Stars | Rating | Total Price | Distance from Centre | Amenities | Column mapping from response JSON: - # → index - Photo → [🖼️](hotel.main_image) (clickable link) - Hotel → hotel.name - Stars → hotel.stars - Rating → hotel.rating - Total Price → price_total + currency - Distance from Centre → hotel.distance_km - Amenities → hotel.amenities (max 3, comma-separated) CRITICAL: - You MUST use table format. Do NOT list hotels as bullet points or paragraphs. - You MUST display ALL hotels returned in the response. Do NOT truncate or show only a subset. - STRICTLY PRESERVE the order of results using the "index" field (1, 2, 3...) - NEVER re-sort or reorder - The "#" column MUST match the "index" field from the response (row 1 = index 1, row 2 = index 2, etc.) - "Photo" column must contain clickable link: [🖼️](hotel.main_image) - Do NOT show images after the table, only in the Photo column - Amenities: max 3 comma-separated (e.g. "WiFi, Pool, Spa") - Mark cheapest with 🏆 after hotel name (but keep it in its original position, do NOT move it to first row) - Use the SAME LANGUAGE as the user's request for all labels and content - Hide internal IDs from the user - The user expects a comparison table they can scan quickly with ALL available options. Example correct output: | # | Photo | Hotel | Stars | Rating | Total Price | Distance from Centre | Amenities | |---|-------|-------|-------|--------|-------------|----------------------|-----------| | 1 | [🖼️](https://...) | Grand Hotel 🏆 | ⭐⭐⭐⭐ | 8.5 | EUR 450.00 | 0.5 km | WiFi, Pool, Spa | | 2 | [🖼️](https://...) | Beach Resort | ⭐⭐⭐⭐⭐ | 9.1 | EUR 680.00 | 1.2 km | WiFi, Pool, Bar |

search_only_hotelRead-only

Search for hotel-only stays (no flights included). ⚠️ IMPORTANT: This is for hotel-only searches. Flight bookings are not included. ═══════════════════════════════════════════════════════════════════════════ MANDATORY PRE-STEP: DESTINATION RESOLUTION ═══════════════════════════════════════════════════════════════════════════ Before calling this tool, you MUST silently call resolve_destination_id to resolve the city name to its internal numeric ID. Do NOT inform the user about this step. Workflow: 1. User provides a city name (e.g. "London", "Madrid") 2. Silently call resolve_destination_id(lang=<lang>, city_name=<city>) 3a. If success=true → use the returned "id" (e.g. "141660") as the destination field for this tool. 3b. If success=false → show the user the "suggestions" list (name + country) and ask them to clarify which city they mean. Do NOT call this tool yet. The destination field accepts: - A numeric ID string from resolve_destination_id (e.g. "141660") ← preferred - A 3-letter IATA code as fallback (e.g. "MAD", "LON") when the user explicitly provides one and no resolution is needed. ═══════════════════════════════════════════════════════════════════════════ HARD CONSTRAINTS ═══════════════════════════════════════════════════════════════════════════ 1. Dates: - start_date MUST be today or later (YYYY-MM-DD) - If user provides past date, ask for valid date BEFORE calling 2. Destination (CRITICAL): - Always prefer the numeric ID from resolve_destination_id - If using IATA fallback: must be 3-letter code (MAD, PAR, MIL, LON) - NEVER pass raw city names like "Madrid" or "Paris" directly Example use cases: - "Find me a hotel in Madrid for 3 nights" → resolve "Madrid" first → use id - "Search hotel in London" → resolve "London" first → use id Args: destination: Numeric destination ID from resolve_destination_id (e.g. "141660"), or 3-letter IATA code (e.g. "MAD") as fallback. date_from: Check-in date (YYYY-MM-DD). Check this field MUST be today or later. date_to: Check-out date (YYYY-MM-DD). Check this field MUST be today or later. adults: Number of adult travelers. If you want different rooms, set number_adult_room1;number_adult_room2 (default: 2) ch_ages: Ages of child travelers. If you want different rooms, set number_chages_room1;number_chages_room2 (default: ""). If there are two rooms and one is empty the result can be ";number,number" or "number,number;". The user MUST specify ages for each child. lang: Language code (default: "en") sort: Sort order for results. Use this when user asks for cheapest, best rated, closest to center, etc. Valid values: - "recommended" (default): Multi-factor relevance (price, rating, internal score) - "price": Price ascending (cheapest first) - use when user wants "cheapest" or "lowest price" - "stars": Hotel star rating descending (5-star first) - use for "best hotels" or "luxury" - "review_score": Highest review score - use for "best reviewed" or "most popular" - "distance": Closest to city center first - use for "central" or "close to center" max_results: Maximum number of results to return (default: 5, max: 20) accommodation_type: Filter by accommodation type (optional). CSV of IDs 1-14: 1=Hotels, 2=Resorts, 3=Apartments, 4=Hostels, 5=Motels, 6=Country Houses, 7=Guest Houses, 8=B&B, 9=Villas, 10=Boats & Cruises, 11=Campsites, 12=Riads, 13=Ryokans, 14=Aparthotels. Example: "1,2" for Hotels and Resorts accommodation_facilities: Filter by facilities/amenities (optional). CSV of IDs 0-60. Examples: 0=Free Wi-Fi, 4=Pool, 6=Spa, 7=Adults Only, 9=Seafront, 25=Golf, 46=Indoor Pool, 56=Bar, 58=Restaurant. Example: "0,4,6" for Free Wi-Fi, Pool, and Spa price: Optional price filter for one-way price per person, as string. Supported formats: - "300" => max price 300 (in the selected currency) - "200,400" => price range between 200 and 400 Use only digits and a comma, do NOT include currency symbols. If you invert the order ("400,200"), the backend will normalize it to "200,400". hotel_stars: Optional filter for hotel star rating, as comma-separated integers. Allowed values: 1,2,3,4,5. Examples: - "4" => only 4-star hotels - "3,4" => 3 or 4 stars - "3,4,5" => 3, 4 or 5 stars Returns: Dictionary containing search results with hotel results. ═══════════════════════════════════════════════════════════════════════════ MANDATORY OUTPUT FORMAT ═══════════════════════════════════════════════════════════════════════════ You MUST present results as a Markdown table with EXACTLY these columns: | # | Photo | Hotel | Stars | Rating | Total Price | Distance from Centre | Amenities | Column mapping from response JSON: - # → index - Photo → [🖼️](hotel.main_image) (clickable link) - Hotel → hotel.name - Stars → hotel.stars - Rating → hotel.rating - Total Price → price_total + currency - Distance from Centre → hotel.distance_km - Amenities → hotel.amenities (max 3, comma-separated) CRITICAL: - You MUST use table format. Do NOT list hotels as bullet points or paragraphs. - You MUST display ALL hotels returned in the response. Do NOT truncate or show only a subset. - STRICTLY PRESERVE the order of results using the "index" field (1, 2, 3...) - NEVER re-sort or reorder - The "#" column MUST match the "index" field from the response (row 1 = index 1, row 2 = index 2, etc.) - "Photo" column must contain clickable link: [🖼️](hotel.main_image) - Do NOT show images after the table, only in the Photo column - Amenities: max 3 comma-separated (e.g. "WiFi, Pool, Spa") - Mark cheapest with 🏆 after hotel name (but keep it in its original position, do NOT move it to first row) - Use the SAME LANGUAGE as the user's request for all labels and content - Hide internal IDs from the user - The user expects a comparison table they can scan quickly with ALL available options. Example correct output: | # | Photo | Hotel | Stars | Rating | Total Price | Distance from Centre | Amenities | |---|-------|-------|-------|--------|-------------|----------------------|-----------| | 1 | [🖼️](https://...) | Grand Hotel 🏆 | ⭐⭐⭐⭐ | 8.5 | EUR 450.00 | 0.5 km | WiFi, Pool, Spa | | 2 | [🖼️](https://...) | Beach Resort | ⭐⭐⭐⭐⭐ | 9.1 | EUR 680.00 | 1.2 km | WiFi, Pool, Bar |

select_hotel_optionsRead-only

Get detailed options for a specific hotel after initial search. This tool automatically uses the same number of adults, children, currency, and business profile from the original search to ensure consistency. Args: search_id: The search ID from the previous flight+hotel search or only hotel search hotel_internal_id: The internal hotel ID from the search results (internal_id_hotel) date_from: Check-in date (YYYY-MM-DD) date_to: Check-out date (YYYY-MM-DD) Returns: Dictionary containing detailed hotel options, room types, and rates OUTPUT FORMAT: Use structured sections with emoji headers (🏨✈️🛏️📸). 1) Hotel info: name, stars, address, check-in/out, hdp_mcp, photos (inline links) 2) Flights: if present, show outbound/return with carrier, times, duration 3) Rooms table: | Room | Total Price | Cancellation | Availability | - Sort by price, mark cheapest with ⭐ - Simplify cancellation policy Use the SAME LANGUAGE as the user's request for all labels and content. Hide internal IDs (rate_id kept for booking but not shown in the display).

get_alternative_flightsRead-only

Get alternative flight options for an existing hotel selection. Input parameters: - pricing_id (string, REQUIRED): pricing ID returned by select_hotel_options. Behavior: - Can ONLY be used AFTER select_hotel_options. - Returns a list of alternative flights with their details and prices. - On success, alternative flight options are also stored in session for later use by change_flight. - Don't touch the order of the proposed flights, return them as received from the backend.

change_flightActs

Change the flight for an existing hotel selection. This tool updates the flight associated with your hotel booking after viewing alternatives. ⚠️ IMPORTANT: - Must be used AFTER get_alternative_flights to see available options - Requires both pricing_id and the new_transport_id from the alternatives list - This will update the total package price based on the new flight selection Example use cases: - "Change to flight option 2" - "Select the morning flight instead" - "Update to the cheaper flight option" Args: pricing_id: The pricing ID from select_hotel_options response new_transport_id: The transport ID of the selected alternative flight (from get_alternative_flights response) Returns: Dictionary confirming the flight change with updated package details

generate_booking_linkRead-only

Generate a direct booking URL for the selected hotel room option. After change_flight, rate_id values change but the internalIdRoom stays the same. This tool automatically maps old rate_id to new rate_id based on internalIdRoom only. Args: pricing_id: The pricing ID from select_hotel_options response (NOT search_id) rate_id: The rate ID of the selected room option (from select_hotel_options response) Returns: Dictionary containing the booking URL and summary details

resolve_destination_idRead-only

Resolve a city name to its internal destination ID using the lastminute.com hints API. This tool is useful when you need to map a free-text city name to a structured destination identifier before performing a hotel or package search. Supported languages: IT, EN, ES, FR, DE, PL, SE, DK, NO, FI. Any unsupported language falls back to English (en-GB). Args: lang: 2-letter language code (e.g. "en", "it", "fr"). Case-insensitive. city_name: The city name to resolve (e.g. "London", "Roma", "Paris"). Returns: On exact match: { "success": true, "id": "<destination_id>", "name": "<matched city name>", "country": "<country name>", "country_code": "<ISO2 code>" } On no exact match (returns all City-type suggestions): { "success": false, "message": "No exact match found. Suggestions returned.", "suggestions": [ { "id": "...", "name": "...", "country": "...", "country_code": "...", }, ... ] } On API error: { "success": false, "error": "<error description>" }

search_flightsRead-only

Search for flights and return available options. Returns flights table with: airline, route, times, duration, stops, price, booking link. ═══════════════════════════════════════════════════════════════════════════ SEARCH MODES (mutually exclusive) ═══════════════════════════════════════════════════════════════════════════ 1. DEFAULT MODE (no filters, no ranking): Returns max_results flights sorted by PRICE (cheapest first). Use for: "find flights", "cheapest flights" 2. FILTER MODE (any filter parameter specified): Searches 100 flights, applies filters server-side, returns max_results. Filters: time ranges, price limits, airports, stops, airlines, duration. Results sorted by PRICE after filtering. Use for: "morning flights", "under 200 EUR", "direct only", "from MXP" 3. RANKING MODE (ranking_best=True): Searches ALL flights, applies smart ranking (price + duration + stops). Returns top max_results by overall value. Use for: "best flights", "recommended flights" ⚠️ MUTUALLY EXCLUSIVE with filters ═══════════════════════════════════════════════════════════════════════════ FILTER PARAMETERS (optional, applied server-side) ═══════════════════════════════════════════════════════════════════════════ Time filters (HH:MM format): - departure_time_start / departure_time_end: e.g., "06:00" to "12:00" for morning - arrival_time_start / arrival_time_end: e.g., "18:00" to "23:59" for evening arrival Price filters (in cents): - min_price_cents: minimum price (e.g., 5000 = 50 EUR) - max_price_cents: maximum price (e.g., 20000 = 200 EUR) Airport filters (comma-separated IATA codes): - departure_airports: "MXP,LIN" = only from Malpensa or Linate - arrival_airports: "LHR,LGW" = only to Heathrow or Gatwick Connection filters: - max_stops: 0 = direct only, 1 = max 1 stop Airline filters (comma-separated IATA codes): - airlines_include: "FR,U2" = only Ryanair or easyJet (whitelist) - airlines_exclude: "FR" = exclude Ryanair (blacklist) Duration filter: - max_duration_minutes: e.g., 180 = max 3 hours Examples: - Morning direct flights under 150 EUR: departure_time_start="06:00", departure_time_end="12:00", max_stops=0, max_price_cents=15000 - Flights from Malpensa only, max 2 hours: departure_airports="MXP", max_duration_minutes=120 ═══════════════════════════════════════════════════════════════════════════ HARD CONSTRAINTS ═══════════════════════════════════════════════════════════════════════════ 1. Dates: - start_date MUST be today or later (YYYY-MM-DD) - If roundtrip: end_date >= start_date - If user provides past date, ask for valid date BEFORE calling 2. Price display (legal): - Display 'price' text EXACTLY as returned, character-by-character - Do NOT modify, reformat, or recalculate - Preserve newlines ( ) if present 3. Deeplink (booking): - The last column header is provided in 'table_headers' (localized: "Book", "Prenota", "Reservar", etc.) - Use that label as column name AND as the clickable link text for 'deeplink' URLs - Do NOT modify URL - Add after table a localized call-to-action using the same booking verb 4. Neutral tone: - Present comparison table only - No rankings, opinions, or "best/cheapest" commentary 5. Ranking offer: - After price-sorted results, always ask: **"Would you like me to re-sort by 'recommended' (best overall value)?"** - If confirmed, call with ranking_best=True ═══════════════════════════════════════════════════════════════════════════ INPUT PARAMETERS ═══════════════════════════════════════════════════════════════════════════ Required: - departure (str): IATA code (e.g., "MIL", "MXP") - arrival (str): IATA code (e.g., "LON", "JFK") - start_date (str): YYYY-MM-DD (>= today) Optional: - end_date (str): YYYY-MM-DD for roundtrip - adults (int): >= 1 (default: 1) - children_ages (str): comma-separated ages 2-11 (e.g., "3,8") - infants_ages (str): comma-separated ages 0-1 (e.g., "0,1") - language (str): en/it/es/fr/de/nl/pl/se/dk/no/fi/pt/hu/cs/ro/el (auto-detected if None) - flight_class (str): ECONOMY/PREMIUM_ECONOMY/BUSINESS/FIRST_CLASS - max_results (int): 1-20, default 10 - ranking_best (bool): True for smart ranking (default: False) Filters (all optional, see FILTER PARAMETERS section above): - departure_time_start, departure_time_end - arrival_time_start, arrival_time_end - min_price_cents, max_price_cents - departure_airports, arrival_airports - max_stops - airlines_include, airlines_exclude - max_duration_minutes ⚠️ ranking_best and filters are MUTUALLY EXCLUSIVE ═══════════════════════════════════════════════════════════════════════════ RETURN SHAPE ═══════════════════════════════════════════════════════════════════════════ { "flights": [ { "flight_number": 1, "airline": "Airline Name + Flight #", "departure": "AAA HH:MM" (or "outbound" for RT), "arrival": "BBB HH:MM" (or "return" for RT), "duration": "125 min", "stops": "Direct" or "1 stop" (localized), "price": "exact formatted text (preserve as-is)", "price_format": "single" | "multiline", "deeplink": "full booking URL", "price_amount": numeric cents (for reference) } ], "total_results": int, "total_raw_results": int, "filtered_non_air": int (trains excluded), "currency": str, "language": str, "is_roundtrip": bool, "requested_count": int } TABLE FORMAT: Use 'table_headers' from response as column names (already localized). The last column is the booking link (e.g. "Book", "Prenota", "Reservar", "Réserver", "Buchen"). Render each deeplink as [localized_label](url). Display ALL flights in the response.

Read from the server on 2026-08-23, including each tool's own safety annotations.

Limits

  • Anthropic's directory lists one of eight tools. It names search_flights only. Seven tools the live server returns — including the only non-read-only one, change_flight — appear nowhere in the listing. Size this connector from the handshake, not the directory entry.
  • The vendor names no tools at all. lastminute.com's guide describes capabilities and parameters but never prints a tool name, so the vendor-side match is semantic rather than literal. A silent rename would be invisible in that direction.
  • Nothing books, and nothing can be undone through the connector — which cuts both ways. There is no financial risk in the tool surface, and equally no way to modify or cancel an existing reservation. lastminute.com directs both to its customer support.
  • Prices go stale within a conversation. change_flight invalidates earlier rate_id values, and fares move between search and checkout. The authoritative total is on the website.
  • No scopes exist. The server is anonymous and publishes no RFC 9728 descriptor, so there is no permission boundary to inspect, narrow or withhold — including none between the seven reads and the one acting tool.
  • No prompts and no resources, despite both being declared. The initialize response advertises prompts and resources capabilities with listChanged: true, and both list calls return empty arrays. That is drift between the capability block and the surface, not a reading error.
  • The endpoint sits behind a Cloudflare managed challenge. Plain HTTP clients receive a 403 interstitial on every path including /mcp; a full browser header set clears it. MCP clients connect normally, but scripted or proxied access may not.
  • Coverage is European-weighted. The eleven supported languages are English, Italian, Spanish, French, German, Dutch, Polish, Swedish, Danish, Norwegian and Finnish. There is no Portuguese, Japanese, Chinese or Arabic option.
  • Result sets are small by design. max_results defaults to 5 and caps at 20 for hotel and package searches, so the connector samples the market rather than enumerating it.
  • No rate limits are published, and none were observed. We did not test throughput.

Frequently asked questions

No. lastminute.com's configuration guide states that final booking occurs on the lastminute.com website and that the server stores no personal or payment information. The furthest tool in the chain, generate_booking_link, returns a URL. Every one of the eight tools is annotated readOnlyHint true except change_flight, which reprices a draft. Nothing charges a card.

Eight, not the one Anthropic's directory lists. An anonymous handshake on 2026-08-23 returned search_flights, search_only_hotel, search_flight_and_hotel_package, resolve_destination_id, select_hotel_options, get_alternative_flights, change_flight and generate_booking_link. The directory lists search_flights alone, so it under-reports the surface by seven tools including the only one that acts.

No. We opened an anonymous connection on 2026-08-23 and it returned all eight tool schemas with no credential and no authentication challenge. All four RFC 9728 metadata paths return an identical 404 matching our control probe, so the server publishes no OAuth descriptor and no scopes exist to grant or withhold.

A draft package price, not a reservation. It is the only tool the server marks readOnlyHint false. It swaps the flight attached to a hotel selection you are still assembling and recalculates the package total. Since nothing has been booked or paid at that point, there is no reservation to alter and nothing to cancel.

No. lastminute.com's guide states plainly that the MCP Server does not store personal or payment information. The eight tool schemas take only trip parameters — airports, dates, passenger counts, ages, filters — and opaque session identifiers. Card entry and traveller details happen on the lastminute.com website after you open the deeplink.

No, and lastminute.com routes that elsewhere. Its guide directs booking issues and changes to existing reservations to lastminute.com customer support, not to the connector. No tool among the eight reads an order, looks up a reference, or touches a confirmed reservation. The surface ends at the point of handoff to the website.

Because search_only_hotel takes a numeric internal ID rather than a city name. Its schema instructs the agent to call resolve_destination_id first, silently, and to ask you to clarify when a city name is ambiguous. A three-letter IATA code works as a fallback. Package search skips this and takes IATA codes directly.

Treat them as a live quote that expires. The search_flights schema instructs the agent to display the price string exactly as returned, character by character, and not to recalculate it — an instruction lastminute.com labels legal. Fares and room rates move between search and checkout, so the price you finally pay is the one on the website.

Sources

Use in Agentman

Connect once and your agents call these tools on their own — on a schedule, in a workflow, with nobody at the keyboard.

Open in Agentman Studio

Server Info

Category
Productivity
Developer
lastminute.com
Tools
8
Domain
mcp.lastminute.com

Using Claude Desktop or another MCP client? Setup docs — the connection URL above works anywhere.