mcpField
V
viator-mcp

viator-mcp

本地服务
github.com/chrischall地图与出行14 天前更新

关于 viator-mcp

viator-mcp 将 Claude 连接到 Viator Partner API,以只读方式查询旅游团、活动及旅行信息。它支持结构化筛选和自由文本搜索,并可查看产品供应情况与目的地信息。

主要功能

  1. 01按结构化条件搜索产品
  2. 02使用自由文本搜索
  3. 03获取产品详情和可用情况
  4. 04浏览景点与目的地
  5. 05查询地点和汇率

适用场景

  1. 01查找符合条件的旅游活动
  2. 02查看产品详情和可用情况
  3. 03探索目的地的景点
  4. 04获取目的地或货币参考数据

MCP 相关

它将 Viator Partner API 的只读搜索和参考数据作为 MCP 工具提供。不包含预订接口;产品结果会附带预订链接。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"chrischall-viator": {
"command": "npx",
"args": [
"-y",
"@chrischall/viator-mcp"
],
"env": {
"VIATOR_API_KEY": "<VIATOR_API_KEY>",
"VIATOR_API_BASE_URL": "<VIATOR_API_BASE_URL>",
"VIATOR_LANGUAGE": "<VIATOR_LANGUAGE>",
"VIATOR_CACHE_TTL": "<VIATOR_CACHE_TTL>",
"VIATOR_STATIC_CACHE_TTL": "<VIATOR_STATIC_CACHE_TTL>"
}
}
}
}
启动命令npx -y @chrischall/viator-mcp
需要配置的环境变量
VIATOR_API_KEY密钥Viator Partner API key (exp-api-key) — free Basic Access affiliate signup at partnerresources.viator.com
VIATOR_API_BASE_URLAPI host (default production; set https://api.sandbox.viator.com/partner for a sandbox key)
VIATOR_LANGUAGEAccept-Language for response text, e.g. en-US, es, fr, de, ja (default en-US)
VIATOR_CACHE_TTLSeconds to cache identical read responses (default 60; 0 disables)
VIATOR_STATIC_CACHE_TTLSeconds to cache reference data — destinations, tags, locations, rates (default 3600; 0 disables)

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@chrischall/viator-mcp2.1.10

工具

11

收录的工具列表 · 更新于 2 周前

参数类型必填说明
sortenum否排序键(默认:DEFAULT — Viator 相关性)DEFAULT | PRICE | TRAVELER_RATING | ITINERARY_DURATION | DATE_ADDED
tagsarray否产品必须匹配的标签 ID(来自 vt_list_product_tags)
viewenum否响应形式:"compact"(默认)会省略响应中其他位置已包含的字段;"full" 会返回此服务端理解的所有字段。compact(默认)会将每个结果精简为产品代码、标题、起价和货币、评分、评论数、时长、确认类型、标记、预订 URL 和封面图片;如果 Viator 的结构发生变化,则回退为移除媒体内容的原始响应;"full" 会原样返回 Viator 的负载。compact | full
countinteger否每页结果数(最多 50;默认 10)
flagsarray否产品标记,例如 FREE_CANCELLATION、LIKELY_TO_SELL_OUT、PRIVATE_TOUR
orderenum否排序方向ASCENDING | DESCENDING
startinteger否要返回的第一个结果的 1 起始索引
currencyenum否请求/响应价格使用的货币(默认 USD)AED | ARS | AUD | BRL | CAD | CHF | CLP | CNY | COP | DKK | EUR | FJD | GBP | HKD | IDR | ILS | INR | ISK | JPY | KRW | MXN | MYR | NOK | NZD | PEN | PHP | PLN | RUB | SEK | SGD | THB | TRY | TWD | USD | VND | ZAR
end_datestring否仅限在此日期或之前运营的产品(YYYY-MM-DD)
max_ratingnumber否旅客平均评分上限(0-5)
min_ratingnumber否旅客平均评分下限(0-5)
start_datestring否仅限在此日期或之后运营的产品(YYYY-MM-DD)
destinationstring否目的地 ID(来自 vt_list_destinations),例如巴黎的 "732"
lowest_pricenumber否最低起价(以所选货币计)
highest_pricenumber否最高起价(以所选货币计)
campaign_valuestring否联盟营销活动跟踪 ID — 会附加到 Viator 返回的 productUrl/attractionUrl/destinationUrl
max_duration_minutesinteger否产品时长上限(分钟)
min_duration_minutesinteger否产品时长下限(分钟)

详细介绍

viator-mcp

npm

适用于 Viator Partner API(v2)的 MCP 服务,可供 Claude 搜索旅游团、活动和体验。通过结构化筛选条件或自由文本搜索目录,获取产品详情和可用时间表,浏览景点和目的地,所有操作均通过 stdio 完成。

由 AI(Claude Code)开发和维护。请自行决定是否使用。

快速开始

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

在 partnerresources.viator.com 注册成为 Viator 联盟营销伙伴,即可获取密钥——Basic Access 层级免费。本服务面向该层级:仅支持只读搜索、内容和可用性查询;不提供预订端点(产品结果会包含 productUrl,指向 viator.com 上带有你的联盟营销 ID 的预订页面)。

工具

区域工具
产品vt_search_products、vt_get_product、vt_list_product_tags
搜索vt_search_freetext
景点vt_search_attractions、vt_get_attraction
可用性vt_get_availability_schedule
参考数据vt_list_destinations、vt_get_locations、vt_get_exchange_rates
健康检查vt_healthcheck — 此连接器是否正常工作?报告是否已解析 VIATOR_API_KEY、Viator 是否接受了该密钥,以及需要修复的内容。其他工具失败时,请从这里开始排查:结果为空可能表示“没有产品”,也可能表示“从未通过身份验证”。

所有工具均为只读。vt_search_products 和 vt_search_freetext 支持设置 compact: true,返回精简摘要(代码、标题、价格、评分、预订 URL),而非完整记录。

环境变量

变量必填说明
VIATOR_API_KEY是Viator Partner API 密钥(通过 exp-api-key 发送)
VIATOR_API_BASE_URL否API 主机(默认使用生产环境;沙盒密钥请设置为 https://api.sandbox.viator.com/partner)
VIATOR_LANGUAGE否响应文本的 Accept-Language(默认值为 en-US)
VIATOR_CACHE_TTL否相同读取请求的缓存秒数(默认值为 60;设为 0 可禁用)
VIATOR_STATIC_CACHE_TTL否参考数据的缓存秒数,包括目的地、标签、地点和汇率(默认值为 3600)

Viator 会按端点在滚动的 10 秒窗口内实施速率限制,并通过 Retry-After 返回 429/503 响应;客户端会遵循该值重试一次,响应缓存则会处理重复的相同调用。

开发

npm install
npm test          # vitest; no real network calls
npm run build     # tsc + esbuild bundle

本服务所针对的 API 范围固定于 docs/VIATOR-API.md。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。