Skip to main content
Glama
chrischall
by chrischall

vt_search_products

Read-only

Find Viator tours and activities by destination, tags, price, dates, rating, or duration. Returns product summaries with pricing and booking links to match your travel needs.

Instructions

Search Viator tours, activities and experiences with structured filters (destination, tags, price, dates, rating, duration). Returns product summaries with pricing and booking URLs. Use vt_list_destinations to find destination ids and vt_list_product_tags for tag ids.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sortNoSort key (default: DEFAULT — Viator relevance)
tagsNoTag ids products must match (from vt_list_product_tags)
viewNoResponse shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact (default) projects each result down to its product code, title, from-price and currency, rating, review count, duration, confirmation type, flags, booking URL and cover image, falling back to the raw response if Viator's shape drifts; "full" returns Viator's payload untouched.
countNoResults per page (max 50; default 10)
flagsNoProduct flags, e.g. FREE_CANCELLATION, LIKELY_TO_SELL_OUT, PRIVATE_TOUR
orderNoSort direction
startNo1-based index of the first result to return
currencyNoCurrency for request/response prices (default USD)USD
end_dateNoOnly products operating on/before this date (YYYY-MM-DD)
max_ratingNoMaximum average traveler rating (0-5)
min_ratingNoMinimum average traveler rating (0-5)
start_dateNoOnly products operating on/after this date (YYYY-MM-DD)
destinationNoDestination id (from vt_list_destinations), e.g. "732" for Paris
lowest_priceNoMinimum from-price (in currency)
highest_priceNoMaximum from-price (in currency)
campaign_valueNoAffiliate campaign tracking id — appended to the productUrl/attractionUrl/destinationUrl Viator returns
max_duration_minutesNoMaximum product duration in minutes
min_duration_minutesNoMinimum product duration in minutes

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed2 schema fields changedv1.2.1
    • removedInput schema / properties / compact
      Removed value: -{
      -  "default": false,
      -  "description": "Return a slim summary per product (code, title, price, rating, URL) instead of full records",
      -  "type": "boolean"
      -}
    • addedInput schema / properties / view
      Added value: +{
      +  "description": "Response shape: \"compact\" (default) drops fields the response already carries elsewhere; \"full\" returns every field this server understands. compact (default) projects each result down to its product code, title, from-price and currency, rating, review count, duration, confirmation type, flags, booking URL and cover image, falling back to the raw response if Viator's shape drifts; \"full\" returns Viator's payload untouched.",
      +  "enum": [
      +    "compact",
      +    "full"
      +  ],
      +  "type": "string"
      +}
  2. First observedv1.0.5

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, lowering the burden on the description. The description adds that results are product summaries containing pricing and booking URLs, which is helpful, but it does not disclose pagination behavior, filter combination semantics, or response size expectations beyond the schema.

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

Conciseness5/5

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

Two dense sentences with no filler: the first covers purpose, filters, and return value; the second covers prerequisite ID lookup via sibling tools. Key information is front-loaded and every sentence earns its place.

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?

For a search tool with 18 optional parameters and no output schema, the description is reasonably complete: it states what is searched, which filter dimensions are supported, and what is returned. It could go further by mentioning pagination/result count behavior, but the schema's 'view' and 'count' descriptions already provide substantial detail.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds value by grouping the key filter dimensions (destination, tags, price, dates, rating, duration) and by explicitly directing the agent to sibling tools for valid destination and tag ids, which goes beyond the schema's field-level descriptions.

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?

The description states a specific verb ('Search') and clear resource ('Viator tours, activities and experiences') with structured filters, and notes the return type ('product summaries with pricing and booking URLs'). It does not explicitly name or contrast sibling tools like vt_search_freetext or vt_search_attractions, though 'structured filters' and 'tours, activities and experiences' partially imply differentiation.

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?

The description gives useful procedural guidance: use vt_list_destinations to find destination ids and vt_list_product_tags for tag ids. However, it does not explicitly say when to choose this tool over alternatives such as vt_search_freetext or vt_search_attractions, so the usage context is implied rather than fully specified.

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/chrischall/viator-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server