Viator Mcp

io.github.chrischallPublished by GitHub account chrischallv2.2.0Updated Nov 5, 2026

Search Viator tours and activities — products, availability, attractions, destinations.

Overview

AI-generated overview

Local MCP server for the Viator Partner API that lets an assistant search tours, activities, attractions and destinations, and check availability and pricing.

What you can do
  • Search products and free text across tours, activities and experiences, with filters for destination, tags, price, dates, rating and duration
  • Read full product details, including itinerary, inclusions, options, cancellation policy and booking URL
  • Browse attractions and destinations, and resolve location references to names, addresses and coordinates
  • Check availability schedules with per-age-band pricing per product option, and convert prices with exchange rates
  • List product tags and run a healthcheck that verifies the API key and connectivity
When to use it
Useful when you want an assistant to research and compare Viator tours and experiences, look up what is available at a destination, or check schedules and prices before sending someone to book on viator.com.
Requirements
Runs locally via npx (Node.js). Requires a Viator Partner API key in VIATOR_API_KEY, obtained from a free Basic Access affiliate signup. Optional variables set the API host (including a sandbox), response language, and cache lifetimes. Needs network access to the Viator API.
Before you install
The API key is a credential sent to Viator; keep it out of shared configs. Results include affiliate-tagged booking links, so bookings and payments happen on viator.com, not through the server. Prices come in the supplier's currency and should be converted before quoting. The README states the project is AI-developed and used at your own discretion.

Installation

In SourceWeft

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

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

viator-mcp

[npm]

MCP server for the Viator Partner API (v2) — search tours, activities and experiences for Claude. Search the catalog with structured filters or free text, get product details and availability schedules, browse attractions and destinations, all over stdio.

Developed and maintained by AI (Claude Code). Use at your own discretion.

Quick start

json
{  "mcpServers": {    "viator": {      "command": "npx",      "args": ["-y", "@chrischall/viator-mcp"],      "env": { "VIATOR_API_KEY": "your-viator-partner-api-key" }    }  }}

Get a key by signing up as a Viator affiliate at partnerresources.viator.com — the Basic Access tier is free. This server targets that tier: read-only search/content/availability; no booking endpoints (product results carry a productUrl for booking on viator.com, tagged with your affiliate id).

Tools

AreaTools
Productsvt_search_products, vt_get_product, vt_list_product_tags
Searchvt_search_freetext
Attractionsvt_search_attractions, vt_get_attraction
Availabilityvt_get_availability_schedule
Referencevt_list_destinations, vt_get_locations, vt_get_exchange_rates
Healthvt_healthcheck — is this connector working? Reports whether VIATOR_API_KEY resolved, whether Viator accepted it, and what to fix. Start here when another tool fails: an empty result can mean "no products" or "never authenticated".

All tools are read-only. vt_search_products and vt_search_freetext accept compact: true for slim summaries (code, title, price, rating, booking URL) instead of full records.

Environment

VariableRequiredDescription
VIATOR_API_KEYyesViator Partner API key (sent as exp-api-key)
VIATOR_API_BASE_URLnoAPI host (default production; set https://api.sandbox.viator.com/partner for a sandbox key)
VIATOR_LANGUAGEnoAccept-Language for response text (default en-US)
VIATOR_CACHE_TTLnoSeconds to cache identical reads (default 60; 0 disables)
VIATOR_STATIC_CACHE_TTLnoSeconds to cache reference data — destinations, tags, locations, exchange rates (default 3600)

Viator rate-limits per endpoint on a rolling 10-second window and answers 429/503 with Retry-After; the client honors it (one retry) and the response cache absorbs repeated identical calls.

Development

bash
npm installnpm test          # vitest; no real network callsnpm run build     # tsc + esbuild bundle

The API surface this server is coded against is pinned in docs/VIATOR-API.md.

License

MIT

Source: README.md at commit 606ee4d

Tools

11

vt_search_products

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.

Parameterssorttagsviewcountflagsorderstartcurrencyend_datemax_ratingmin_ratingstart_date+6 more

vt_get_product

Get full details for one Viator product by product code — description, inclusions/exclusions, itinerary, product options, cancellation policy, booking URL, review summary.

Parametersviewproduct_coderequiredcampaign_value

vt_list_product_tags

List all Viator product tags (tag id → names in every locale, with parent-tag hierarchy). Use tag ids to filter vt_search_products. Reference data — cached.

Parametersview

vt_search_attractions

List attractions (landmarks, museums, points of interest) in a Viator destination, including the product codes mapped to each attraction. Use vt_list_destinations to find destination ids.

Parameterssortviewcountstartcampaign_valuedestination_idrequired

vt_get_attraction

Get details for one Viator attraction by id — name, destination, opening hours, review summary, mapped product codes, and the attraction URL.

Parametersviewattraction_idrequiredcampaign_value

vt_get_availability_schedule

Get the availability schedule and pricing for a Viator product — seasons, days of week, start times, unavailable dates, and per-age-band pricing for every product option. NOTE: prices are in the SUPPLIER's currency (see the currency field); convert with vt_get_exchange_rates.

Parametersviewproduct_coderequired

vt_search_freetext

Free-text search across Viator products, attractions, and destinations (e.g. "colosseum underground tour"). The fastest way to find things when you don't have a destination id yet.

Parameterssortviewcountorderstartcurrencyend_datemax_pricemin_pricemin_ratingstart_datedestination+3 more

vt_list_destinations

List every Viator destination (cities, regions, countries) with ids, parent hierarchy, IATA codes, time zones, and coordinates. Use the destinationId with vt_search_products / vt_search_attractions. Reference data — cached.

Parametersviewcampaign_value

vt_get_locations

Resolve Viator location references (e.g. "LOC-...", meeting points, pickup points from product details) to names, addresses, and coordinates. Up to 500 references per call. Reference data — cached.

Parametersviewlocation_refsrequired

vt_get_exchange_rates

Get exchange rates between currencies Viator supports — needed to convert supplier-currency prices from vt_get_availability_schedule. Reference data — cached.

Parametersviewsource_currenciestarget_currencies

vt_healthcheck

Verify credentials and upstream reachability

Resolves the credential the way real tools do, then makes one authenticated request to api.viator.com. Reports which source supplied the credential, whether api.viator.com accepted it, the round-trip time, and a plain-English hint distinguishing 'no credential' from 'credential rejected' from 'a api.viator.com-side problem'. Read-only; never returns the credential itself. Call this when a real tool fails and you want to know which hop broke.

Takes no parameters.

Version history

14
  1. v2.2.0LatestNov 4, 2026
  2. v2.1.10Oct 17, 2026
  3. v2.1.9Oct 16, 2026
  4. v2.1.8Oct 10, 2026
  5. v2.1.7Oct 7, 2026
  6. v2.1.6Oct 5, 2026
  7. v2.1.5Oct 3, 2026
  8. v2.1.4Sep 30, 2026
  9. v2.1.3Sep 25, 2026
  10. v2.1.2Sep 23, 2026
  11. v2.1.1Sep 23, 2026
  12. v2.1.0Sep 20, 2026
  13. v2.0.0Sep 19, 2026
  14. v1.2.2Sep 16, 2026

Score

80% 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 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.