Viator Mcp

io.github.chrischall由 GitHub 账号 chrischall 发布v2.2.0更新于 Nov 5, 2026

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

概览

AI 生成的概览

面向 Viator Partner API 的本地 MCP 服务器,让助手搜索旅游行程、活动、景点和目的地,并查询可售时间与价格。

可以做什么
  • 按目的地、标签、价格、日期、评分和时长筛选,或直接以自由文本搜索行程与体验
  • 读取单个产品的完整详情,包括行程安排、包含与不包含项目、产品选项、取消政策和预订链接
  • 浏览景点与目的地,并把位置引用解析为名称、地址和坐标
  • 查询可售时间表及各年龄段价格,并用汇率换算供应商货币价格
  • 列出产品标签,并运行健康检查以验证 API 密钥与连通性
适用场景
适合让助手调研和比较 Viator 上的旅游行程与体验、查看某目的地有哪些可玩项目,或在引导用户前往 viator.com 预订前核对时间与价格。
运行要求
通过 npx 在本地运行(需要 Node.js)。需要在 VIATOR_API_KEY 中提供 Viator Partner API 密钥,可从免费的 Basic Access 联盟注册获取。可选变量用于设置 API 主机(含沙箱)、响应语言和缓存时长。需要访问 Viator API 的网络连接。
安装前请注意
API 密钥属于凭据并会发送给 Viator,请勿写入共享配置。返回结果含带联盟标识的预订链接,实际预订与付款在 viator.com 完成,不经过本服务器。价格以供应商货币计价,引用前应先换算。README 说明该项目由 AI 开发,需自行斟酌使用。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Viator Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

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

来源:README.md,提交 606ee4d

工具

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.

输入参数sorttagsviewcountflagsorderstartcurrencyend_datemax_ratingmin_ratingstart_date另有 6 个

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.

输入参数viewproduct_code必填campaign_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.

输入参数view

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.

输入参数sortviewcountstartcampaign_valuedestination_id必填

vt_get_attraction

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

输入参数viewattraction_id必填campaign_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.

输入参数viewproduct_code必填

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.

输入参数sortviewcountorderstartcurrencyend_datemax_pricemin_pricemin_ratingstart_datedestination另有 3 个

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.

输入参数viewcampaign_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.

输入参数viewlocation_refs必填

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.

输入参数viewsource_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.

无需输入参数。

版本历史

14
  1. v2.2.0最新Nov 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

评分

已满足适用检查项的 80%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。