MCP App Store
by KeenEthics
Travel
Kompare icon

Kompare

by Kompare ApS

Overview

Kompare compares package holidays and niche trips from travel agencies: ski, golf, sun and beach charter, cruises, city breaks, hiking, cycling, football and Formula 1 trips, holiday homes and more Ask in plain words, in English or any other language, for a kind of trip, places, dates, your party and a budget. Kompare answers with live prices for exactly the party you asked about, and a link to book each trip on the travel agency's own website.

Tools

find_trips

Claude
The quickest way to search: describe the trip in plain words and get bookable trips back in one call. travelType, one of: - ski: ski and snowboard holidays - golf: golf holidays - surf: surf camps and holidays - diving: diving holidays - hiking: hiking and walking holidays - charter: package holidays: sun and beach trips with flight and hotel - cycling: cycling holidays - football: football trips: a match ticket with travel and hotel - carrental: car rental - f1: Formula 1 race trips - running: running races abroad, marathons, running camps and trail tours - americanfootball: NFL game trips - yoga: yoga retreats - triathlon: triathlon races and training camps - cruise: cruises - coach: coach (bus) tours - holidayhome: holiday homes and cottages - roundtrip: round trips and guided tours through several places - citybreak: city breaks - dance: dance holidays - wellness: wellness, spa and retreat stays - safari: safaris - culture: culture trips: art, music, opera, history and theatre - sportsevent: trips to sports events other than football, F1 and NFL - camping: camping holidays: tents, mobile homes and campsite cabins - hunting: hunting trips - culinary: food and wine trips - fishing: fishing trips - language: language courses abroad - racket: padel and tennis trips - motorcycle: motorcycle tours - riding: horse riding holidays - birding: birdwatching trips - sailing: sailing holidays - concert: coach trips to concerts - umrah: Umrah and Hajj packages places: destinations, ski areas, regions or countries in plain words, English or Danish ("Ischgl", "Østrig", "Costa del Sol"). Leave it out for anywhere. When: startFrom/startTo (the window the trip starts in) or months. Party: adults and children, since prices depend on them. Optional: durationDays, maxPricePerPerson, sort (best, cheapest, soonest), limit. Response: { understood, ...{ total, accommodationCount, offset, results: [{ name, country, destination, stars, guestRating, tripsAvailable, trips: [{ start, end, durationDays, adults, children, price, pricePerPerson, currency, priceBeforeDiscount, transport, meals, unit, seller, bookingUrl }] }] } } - understood says how the request was read: the places searched, placesNotFound and placesAmbiguous. When a place was not found or is ambiguous, tell the user instead of presenting other trips as theirs. - price is the whole party's price; pricePerPerson divides it. Quote them as given, in currency — never convert or round them into a different claim. - trips holds the first few dates in sort order; tripsAvailable says how many more exist. Page with offset (it counts accommodations). - seller is the travel agency that sells the trip. bookingUrl opens that trip on the seller's site — give it to the user as the way to book. It is null when the seller can only be compared, not booked, through Kompare. - start/end are the trip's own first and last day. When nothing matches, the response holds alternatives (counts with one filter removed) to suggest what to relax. When no place matched at all, it holds a message and nothing was searched. For a filter this tool lacks (meal plan, stars, transport, ski pass, distance to the lift, ...) use search_listings.

get_facets

Claude
Get facet counts for filterable fields, respecting current filters. CRITICAL: You MUST include ALL established filters in every call — especially niche, market, adults, children, and arrivalWeeks/arrivalMonths. The facetFields parameter only controls which breakdowns are returned, NOT which filters are applied. If you omit a filter like arrivalWeeks, the counts will include ALL dates — giving misleading numbers that won't match actual availability for the user's requested dates. Example — WRONG: User wants ski in France next week for 2 people. You call get_facets with niche="ski", market="dk", countries=["france"], facetFields=["destinationSlug"]. This returns counts across ALL dates — showing destinations that may have 0 results for next week. Example — RIGHT: Same scenario. You call get_facets with niche="ski", market="dk", countries=["france"], arrivalWeeks=["2026-W15"], adults=2, children=0, facetFields=["destinationSlug"]. This returns only destinations with actual availability for next week with 2 adults. Returns: { totalCount, facets: { fieldName: { value: count, ... }, ... }, hierarchical } hierarchical lists field pairs (e.g. country ↔ destination) whose bucket counts are not expected to sum to totalCount. Common use cases: - Check destination availability: facetFields=["countrySlug", "destinationSlug"] — include arrivalWeeks + adults + children - Check date availability: facetFields=["arrivalYearWeek", "arrivalYearMonth"] — include destination/country + adults + children - Explore filter options: facetFields=["durationDays", "provider"] — include ALL current filters - Answer "where else can I go?": facetFields=["countrySlug", "destinationSlug"] — include ALL current filters (dates, travelers) Facetable fields — common (every niche): countrySlug, destinationSlug, provider, centrumDistanceRange, priceRange, pricePerPersonRange, durationDays, arrivalYearWeek, arrivalYearMonth, arrivalDate, stars, guestRatingBucket, transport, accommodationType, mealPlanType, accommodationFeatures. Niche-scoped (only meaningful on that niche): ski — skiPassIncluded, skiLiftDistanceRange, skiBusDistanceRange, skiSlopeDistanceRange, guideIncluded, transferIncluded; golf — greenFeeIncluded, courseDistanceRange, golfRoundsRange, golfTripType, golfBagIncluded, guideIncluded, transferIncluded; surf — transferIncluded, dateFlexible, boardSports, surfLevel, instruction, surfAccommodation, lessonDays, equipmentIncluded, yogaIncluded; diving — diveTripType, diveArea, certificationRequired, divesIncluded, nitroxIncluded, gearIncluded, danishDiveLeader, unlimitedHouseReef, parkFeesIncluded, dateFlexible; hiking — difficultyLevel, dailyDistanceRange, trailheadDistanceRange, tripFormat, routeDistanceRange, elevationGainRange, luggageTransportIncluded, guideIncluded, gpxAvailable; charter — beachDistanceRange, guideIncluded, transferIncluded; cycling — difficultyLevel, cyclingType, tripFormat, routeDistanceRange, elevationGainRange, eBikeAvailable, luggageTransportIncluded, guideIncluded, bikeRentalAvailable, gpxAvailable; football — league, homeTeam, awayTeam, team, matchDate, hotelIncluded; carrental — carSupplier, carClass, carBodyType, transmission, fuelType, seats, zeroExcess, pickupStation, pickupStationType; f1 — guideIncluded, hotelIncluded, race, season, raceDate, ticketType, raceDays, transferIncluded; running — guideIncluded, hotelIncluded, race, season, raceDate, transferIncluded, distances, terrain, raceSeries, entryIncluded, tripType; americanfootball — guideIncluded, league, homeTeam, awayTeam, team, matchDate, hotelIncluded, season, transferIncluded, gameType; yoga — transferIncluded, retreatFocus, yogaLevel, yogaStyles, meditationIncluded, vegetarianMeals, danishInstructor, groupSizeMax; triathlon — guideIncluded, hotelIncluded, race, season, raceDate, transferIncluded, entryIncluded, tripType, triathlonDistance, raceBrand, bikeTransportIncluded; cruise — guideIncluded, cruiseType, cruiseLine, cabinType, cruiseRegion, embarkationCountry, drinksIncluded, excursionsIncluded; coach — guideIncluded, excursionsIncluded, coachTripType,…

search_init

Claude
Use when exploring a travel type before filtering, or when find_trips lacks a needed filter: returns the destinations, months and price ranges for ONE travel type and party. Required parameters (all four): - niche: ONE travel type — "ski", "golf", "surf", "diving", "hiking", "charter", "cycling", "football", "carrental", "f1", "running", "americanfootball", "yoga", "triathlon", "cruise", "coach", "holidayhome", "roundtrip", "citybreak", "dance", "wellness", "safari", "culture", "sportsevent", "camping", "hunting", "culinary", "fishing", "language", "racket", "motorcycle", "riding", "birding", "sailing", "concert", "umrah". Single niche per call; to compare niches, call once per niche. - market: market code (one of "dk") - adults: number of adult travelers (1-20) - children: number of children (0-20) Occupancy is required because counts and prices depend on group size — the overview is scoped to this exact cohort. Returns: - totalCount: total listings for this niche and group size - priceRange: { min, max } total price range - pricePerPersonRange: { min, max } per-person price range - averages: { price, pricePerPerson, stars, durationDays } — useful for setting expectations - dateRange: { earliest, latest } departure date range - destinationCount: total unique destinations available - availability.byMonth: array of { period: "2026-04", count, minPrice } — listings per month with cheapest price. Use this to suggest optimal travel months. - ratingDistribution: star-bracket counts - topDestinations: array of { destinationSlug, countrySlug, count, minPrice } — top 15 destinations sorted by popularity - facets: unfiltered facet counts for the main filterable fields (countries, providers, durations, etc.) Use availability.byMonth to guide users toward dates with the most options and best prices. Use topDestinations to suggest popular destinations. Use averages to set price expectations.

search_listings

Claude
Search for travel listings with filters, sorting, and pagination. Use when find_trips lacks a filter the user needs. Required parameters: - niche: ONE travel type — "ski", "golf", "surf", "diving", "hiking", "charter", "cycling", "football", "carrental", "f1", "running", "americanfootball", "yoga", "triathlon", "cruise", "coach", "holidayhome", "roundtrip", "citybreak", "dance", "wellness", "safari", "culture", "sportsevent", "camping", "hunting", "culinary", "fishing", "language", "racket", "motorcycle", "riding", "birding", "sailing", "concert", "umrah". Single niche per request. - market: market code (one of "dk") Common filters (valid for every niche): - adults (ALWAYS include — prices depend on group size) - children (ALWAYS include — prices depend on group size) - departureFrom (YYYY-MM-DD) - departureTo (YYYY-MM-DD) - onlyDiscounted (boolean — only trips with a discount) - onlyMultiDestination (boolean — only trips that sleep in more than one place (round trips, stage tours)) - countries (array of country slugs — use EXACT slugs, e.g. ["austria"]) - destinations (array of destination slugs in country_destination format, e.g. ["austria_zell-am-see"] — use EXACT slugs. Also returns round trips and stage tours that stop there; their accommodation.route lists every stop) - providers (array of provider slugs) - centrumDistance ({ min, max } meters to town centre) - minPrice (total price, not per person) - maxPrice (total price, not per person) - minPricePerPerson (per-person price) - maxPricePerPerson (per-person price) - durations (array of trip lengths in days, e.g. [7, 14]) - arrivalWeeks (array of ISO weeks, e.g. ["2026-W15"] — use for "next week") - arrivalMonths (array of months, e.g. ["2026-04"] — use for "in April") - arrivalDates (array of exact arrival dates, YYYY-MM-DD) - departureDateFlexDays (0-7, day flex around arrivalDates) - minStars (minimum hotel star rating, 1-5) - minGuestRating (guest review score 0-10 (TripAdvisor scores are ×2 normalized)) - maxGuestRating (guest review score 0-10) - includeUnratedGuestRating (boolean — keep unrated hotels in rated searches) - transports (array: bus, train, car, flight_bll, flight_cph, flight_aal, flight_arn, flight_got, flight_ham, flight_aar, flight_krp, flight_rnn, flight_ams, flight_ein, flight_rtm, flight_grq, flight_mst, flight_bru, flight_dus, flight_nrn, flight_cgn, flight_osl, flight_bgo, flight_svg, flight_trd, flight_mmx — a trip sold without the flight is never under a flight_<airport>: it is car, own travel (drive, or a flight the traveller books)) - accommodationTypes (array: hotel, apartment, cabin, chalet, villa, hostel, resort, pension, house, other) - mealPlanTypes (array: all_inclusive, breakfast, full_board, half_board, none) - accommodationFeatures (array, e.g. pool, wifi, sauna, spa, parking, bar) Niche-specific filters (only valid when niche matches): - Ski: skiPassIncluded (boolean), skiPassDaysCount ({ min, max } bundled lift-pass days), skiLiftDistance ({ min, max } meters), skiBusDistance ({ min, max } meters), skiSlopeDistance ({ min, max } meters), guideIncluded (boolean — a guide is in the price (riding: a riding guide or instructor); null (not stated) never matches), transferIncluded (boolean — the transfer from the airport/station (or circuit) to the accommodation is bundled; null (not stated) never matches. Shared by the event, ski, charter and tour niches (yoga, language, surf, racket, riding …)) - Golf (accommodation-centric like ski; greenFeeIncluded says whether ANY golf is in the price, golfRoundsRanges/golfBagIncluded refine it further; guideIncluded is a golf host, not a generic tour guide): greenFeeIncluded (boolean — the package price includes green fees (any rounds or unlimited golf); false = golf is bought separately), courseDistance ({ min, max } meters, hotel to nearest course), golfRoundsRanges (array: none, 1-3, 4-5, 6+, unlimited — rounds included per golfer ('none' = green fee not included)), golfTripTypes (array: stay, school, group, longstay, tour — 'stay' is the default golf-hotel package), golfBagIncluded (…

App Stats

4

Tools

Claude

Platforms

Works with

Claude

Data refreshed daily