Skip to main content
Glama

Find trips in plain words

find_trips
Read-onlyIdempotent

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

  • adventure: adventure trips: canoe, kayak, rafting, dog sled, snowmobile and multi-activity weeks

places: destinations, ski areas, regions or countries in plain words, in English or the traveller's language ("Ischgl", "Österreich", "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, priceConfirmedHoursAgo, 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.

  • priceConfirmedHoursAgo is how many hours ago the seller's own site last showed this price. Under 24: present the price as current. Older: say when it was last confirmed ("3 days ago") and that it may have changed since, the more likely the older it is. null: the age is unknown, so say the price may have changed. The seller's site, through bookingUrl, always shows the price that applies.

  • 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.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "travelType": "<travelType>"
    },
    "name": "find_trips"
  }
}

Input Schema

NameRequiredDescriptionDefault
sortNobest = Kompare’s ranking, cheapest = lowest price per person, soonest = earliest start. Kompare’s ranking weighs the price against similar trips, hotel stars, guest ratings, how well the trip fits the party and what the travel agency pays Kompare, in commission and per click. Agencies with a paid agreement (commission or payment per click) always rank above those without.best
limitNo
adultsNo
marketNodk
monthsNoMonths the trip may start in, YYYY-MM. Use instead of startFrom/startTo for "in February".
offsetNo
placesNoWhere, in plain words, in English or the traveller's language: a destination, ski area, region or country ("Ischgl", "Österreich", "Costa del Sol"). Leave out for anywhere.
startToNoLatest day the trip may start, YYYY-MM-DD.
childrenNo
startFromNoEarliest day the trip may start, YYYY-MM-DD.
travelTypeYesThe kind of trip. See the tool description.
durationDaysNoTrip lengths in days that fit, e.g. [7, 8] for a week.
maxPricePerPersonNoHighest price per person, in the market's currency (DKK in dk, EUR in de).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / places / description
      Previous value: -"Where, in plain words, English or Danish: a destination, ski area, region or country (\"Ischgl\", \"Østrig\", \"Costa del Sol\"). Leave out for anywhere."New value: +"Where, in plain words, in English or the traveller's language: a destination, ski area, region or country (\"Ischgl\", \"Österreich\", \"Costa del Sol\"). Leave out for anywhere."
  2. Changed1 schema field changed
    • changedInput schema / properties / sort / description
      Previous value: -"best = Kompare’s ranking, cheapest = lowest price per person, soonest = earliest start. Kompare’s ranking weighs the price against similar trips, hotel stars, guest ratings, how well the trip fits the party and the commission the travel agency pays Kompare. Agencies with a commission agreement always rank above those without."New value: +"best = Kompare’s ranking, cheapest = lowest price per person, soonest = earliest start. Kompare’s ranking weighs the price against similar trips, hotel stars, guest ratings, how well the trip fits the party and what the travel agency pays Kompare, in commission and per click. Agencies with a paid agreement (commission or payment per click) always rank above those without."
  3. Changed1 schema field changed
    • changedInput schema / properties / travelType / enum
      Previous value: -[
      -  "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"
      -]New value: +[
      +  "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",
      +  "adventure"
      +]
  4. Changed2 schema fields changed
    • changedInput schema / properties / market / enum
      Previous value: -[
      -  "dk"
      -]New value: +[
      +  "dk",
      +  "de"
      +]
    • changedInput schema / properties / maxPricePerPerson / description
      Previous value: -"Highest price per person, in the market's currency (DKK in dk)."New value: +"Highest price per person, in the market's currency (DKK in dk, EUR in de)."
  5. Changed1 schema field changed
    • changedInput schema / properties / maxPricePerPerson / description
      Previous value: -"Highest price per person, in the market currency (DKK)."New value: +"Highest price per person, in the market's currency (DKK in dk)."
  6. Changed1 schema field changed
    • changedInput schema / properties / market / enum
      Previous value: -[
      -  "dk",
      -  "nl",
      -  "se",
      -  "no"
      -]New value: +[
      +  "dk"
      +]
  7. Changed2 schema fields changed
    • changedInput schema / properties / market / enum
      Previous value: -[
      -  "dk"
      -]New value: +[
      +  "dk",
      +  "nl",
      +  "se",
      +  "no"
      +]
    • changedInput schema / properties / travelType / enum
      Previous value: -[
      -  "ski",
      -  "golf",
      -  "surf",
      -  "diving",
      -  "hiking",
      -  "charter",
      -  "cycling",
      -  "football",
      -  "carrental",
      -  "f1",
      -  "running",
      -  "americanfootball",
      -  "yoga",
      -  "triathlon",
      -  "cruise",
      -  "coach",
      -  "holidayhome",
      -  "roundtrip",
      -  "citybreak",
      -  "dance"
      -]New value: +[
      +  "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"
      +]
  8. Changed1 schema field changed
    • changedInput schema / properties / sort / description
      Previous value: -"best = Kompare’s recommendation, cheapest = lowest price per person, soonest = earliest start."New value: +"best = Kompare’s ranking, cheapest = lowest price per person, soonest = earliest start. Kompare’s ranking weighs the price against similar trips, hotel stars, guest ratings, how well the trip fits the party and the commission the travel agency pays Kompare. Agencies with a commission agreement always rank above those without."
  9. First observed

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the read-only/idempotent safety profile, and the description goes well beyond them: price freshness semantics (priceConfirmedHoursAgo thresholds and how to phrase them), that prices must be quoted not converted, that bookingUrl is the booking path and may be null, that offset counts accommodations rather than trips, and that no-match responses carry relaxation suggestions or a place-not-found message.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the one-line purpose, then segmented into travelType, places/when/party, optional filters, and response. The 37-item enum listing is long but unavoidable because the schema punts to the description, and the response section compensates for the absent output schema; a few phrasing instructions could still be tightened.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Thirteen parameters, no output schema, and a rich result payload — the description covers all three: it documents the response shape, paging, the understood/placesNotFound behavior, and the no-match fallback. Nothing an agent needs to invoke or interpret the call correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 62% and the schema itself defers the travelType enum to this text, which the description fully discharges with a definition for every value. It also explains places semantics (plain words, local language), the startFrom/startTo window, the months alternative, party-size pricing dependency, and the meaning of sort and limit.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening line states a concrete verb and resource (search trips) plus the differentiator: plain-words query, bookable results, one call. It is immediately distinguishable from search_listings, which the description later positions as the filter-based alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit when-to-use (describe the trip in plain words for the fastest search) and an explicit when-to-use-something-else rule: 'For a filter this tool lacks (meal plan, stars, transport, ski pass, distance to the lift, ...) use search_listings.' It also tells the agent what to leave out (places omitted = anywhere) and to prefer months over startFrom/startTo for 'in February'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources