Skip to main content
Glama

Search Vail, Colorado tours and activities (Viator)

search_tours
Read-onlyIdempotent

Read-only. Live search of bookable tours and activities in Vail, Colorado from Viator's partner API. Returns title, live starting ('from') price and currency, rating, review count, duration, free-cancellation flag, image and a booking_url. Optional start_date/end_date return only products Viator lists as available on those dates. Default order: keyword relevance when q is given, otherwise traveler rating; 'featured' uses Viator's own default order. booking_url is the Viator booking page and a Viator affiliate link: VailVacay may earn a commission if the user books, at no extra cost to them. Viator confirms the final price, availability and cancellation terms before payment.

Input Schema

NameRequiredDescriptionDefault
qNoKeywords, e.g. 'jeep tour', 'fly fishing', 'mountain bike'
pageNo
sortNoDefault: relevance to q when q is given (Viator keyword match), otherwise rating (highest traveler rating first). featured = Viator's own default order.
limitNo
currencyNoUSD
end_dateNoYYYY-MM-DD
max_priceNo
min_ratingNo
start_dateNoYYYY-MM-DD
free_cancellationNo

Output Schema

NameRequiredDescriptionDefault
totalNo
toursYes
statusYes
prices_checked_atNo
affiliate_disclosureNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • removedInput schema / properties / sort / default
      Removed value: -"featured"
    • changedInput schema / properties / sort / description
      Previous value: -"featured = Viator's default ranking"New value: +"Default: relevance to q when q is given (Viator keyword match), otherwise rating (highest traveler rating first). featured = Viator's own default order."
    • changedInput schema / properties / sort / enum
      Previous value: -[
      -  "featured",
      -  "rating",
      -  "price_low",
      -  "price_high"
      -]New value: +[
      +  "relevance",
      +  "rating",
      +  "price_low",
      +  "price_high",
      +  "featured"
      +]
  2. Added

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly/openWorld/idempotent, but the description adds genuinely new behavioral context: results are live, the booking_url is a Viator affiliate link carrying a commission disclosure, and Viator confirms the final price, availability and cancellation terms before payment. It doesn't cover rate limits or pagination behavior, but the third-party/affiliate caveats are meaningful value beyond structured data.

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 read-only and the core purpose, then return fields, filters, ordering and the affiliate disclaimer. Dense but mostly earns its space; the sentence restating the default sort order duplicates the schema's own sort description almost verbatim.

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

Completeness4/5

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

With annotations covering the safety profile and an output schema existing, the description's job is largely framing; it is complete enough to call the tool correctly and even over-delivers by enumerating return fields. The only real gap is the absence of sibling differentiation against search_listings.

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

Parameters3/5

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

Schema description coverage is only 40%, so the description carries added burden. It does explain start_date/end_date semantics (return only products available on those dates) and the sort defaults, but it largely restates the enum description already in the schema and leaves currency, max_price, min_rating, free_cancellation, page and limit semantics unexplained.

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

Purpose4/5

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

States a specific verb ('Live search'), resource ('bookable tours and activities'), geography (Vail, Colorado) and data source (Viator partner API). However, it never distinguishes this tool from the sibling search_listings, which an agent could plausibly confuse with tour search.

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

Usage Guidelines3/5

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

Usage is only implied by 'Live search of bookable tours'; there is no explicit when-to-use statement, no exclusions, and no routing to siblings such as search_listings, get_listing, list_categories or list_filters for browsing or detail lookups. The sorting defaults hint at how results are ordered but not when to pick this tool.

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