Kompare travel search

io.komparePublished by kompare.ioOfficial publisherv0.1.0Updated Oct 24, 2026

Live prices on package holidays and niche trips from Danish travel agencies, with booking links.

VerifiedStreamable HTTPWeb executableLocation & Lifestyle

Overview

AI-generated overview

Lets an assistant look up live package holiday and niche trip prices from Danish travel agencies, with booking links.

What you can do
This remote MCP server provides travel search over live prices for package holidays and niche trips offered by Danish travel agencies. Results include booking links so the assistant can point users to where a trip can be booked. It is a search and comparison tool rather than a booking system.
When to use it
Useful when someone is planning a holiday or a specialized trip and wants current prices from Danish travel agencies compared in one place. It fits travel research and price comparison conversations, not general web search.
Requirements
A remote MCP client that supports streamable HTTP, connecting to the provider's hosted endpoint. No packages, environment variables, or headers are declared, and no authentication is declared.
Before you install
The server returns third-party prices and booking links; prices and availability can change and should be confirmed with the agency before any purchase. No credentials or payments are handled by the server itself.

Installation

In SourceWeft

  1. Open Kompare travel search in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.kompare%2Fsearch/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "kompare-travel-search": {
      "type": "http",
      "url": "https://mcp.kompare.io/mcp"
    }
  }
}

Tools

4

find_trips

Find trips in plain words

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,

ParameterssortlimitadultsmarketmonthsoffsetplacesstartTochildrenstartFromtravelTyperequireddurationDays+1 more

search_init

Overview of one travel type

Get a comprehensive overview of the available travel data for ONE niche before searching. Call this FIRST. 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", "nl", "se", "no") - 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.

Parametersnicherequiredadultsrequiredmarketrequiredchildrenrequired

search_listings

Search trips with every filter

Search for travel listings with filters, sorting, and pagination. This is the main search tool. Use it after search_init to find specific travel deals. 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", "nl", "se", "no") 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

ParametersnicherequiredracesteamsadultsmarketrequiredleagueschildrenmaxPriceminPriceminStarscountriesdurations+52 more

get_facets

Count trips per filter value

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, mealPlan

ParametersnicherequiredracesteamsadultsmarketrequiredleagueschildrenmaxPriceminPriceminStarscountriesdurations+52 more

Version history

1
  1. v0.1.0LatestOct 15, 2026

Score

83% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.