关于 viator-mcp
viator-mcp 将 Claude 连接到 Viator Partner API,以只读方式查询旅游团、活动及旅行信息。它支持结构化筛选和自由文本搜索,并可查看产品供应情况与目的地信息。
主要功能
- 01按结构化条件搜索产品
- 02使用自由文本搜索
- 03获取产品详情和可用情况
- 04浏览景点与目的地
- 05查询地点和汇率
适用场景
- 01查找符合条件的旅游活动
- 02查看产品详情和可用情况
- 03探索目的地的景点
- 04获取目的地或货币参考数据
MCP 相关
它将 Viator Partner API 的只读搜索和参考数据作为 MCP 工具提供。不包含预订接口;产品结果会附带预订链接。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @chrischall/viator-mcpVIATOR_API_KEY密钥Viator Partner API key (exp-api-key) — free Basic Access affiliate signup at partnerresources.viator.comVIATOR_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+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
11收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| sort | enum | 否 | 排序键(默认:DEFAULT — Viator 相关性)DEFAULT | PRICE | TRAVELER_RATING | ITINERARY_DURATION | DATE_ADDED |
| tags | array | 否 | 产品必须匹配的标签 ID(来自 vt_list_product_tags) |
| view | enum | 否 | 响应形式:"compact"(默认)会省略响应中其他位置已包含的字段;"full" 会返回此服务端理解的所有字段。compact(默认)会将每个结果精简为产品代码、标题、起价和货币、评分、评论数、时长、确认类型、标记、预订 URL 和封面图片;如果 Viator 的结构发生变化,则回退为移除媒体内容的原始响应;"full" 会原样返回 Viator 的负载。compact | full |
| count | integer | 否 | 每页结果数(最多 50;默认 10) |
| flags | array | 否 | 产品标记,例如 FREE_CANCELLATION、LIKELY_TO_SELL_OUT、PRIVATE_TOUR |
| order | enum | 否 | 排序方向ASCENDING | DESCENDING |
| start | integer | 否 | 要返回的第一个结果的 1 起始索引 |
| currency | enum | 否 | 请求/响应价格使用的货币(默认 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_date | string | 否 | 仅限在此日期或之前运营的产品(YYYY-MM-DD) |
| max_rating | number | 否 | 旅客平均评分上限(0-5) |
| min_rating | number | 否 | 旅客平均评分下限(0-5) |
| start_date | string | 否 | 仅限在此日期或之后运营的产品(YYYY-MM-DD) |
| destination | string | 否 | 目的地 ID(来自 vt_list_destinations),例如巴黎的 "732" |
| lowest_price | number | 否 | 最低起价(以所选货币计) |
| highest_price | number | 否 | 最高起价(以所选货币计) |
| campaign_value | string | 否 | 联盟营销活动跟踪 ID — 会附加到 Viator 返回的 productUrl/attractionUrl/destinationUrl |
| max_duration_minutes | integer | 否 | 产品时长上限(分钟) |
| min_duration_minutes | integer | 否 | 产品时长下限(分钟) |
详细介绍
viator-mcp
适用于 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
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。