关于 tripadvisor-mcp
tripadvisor-mcp 是通过 Terra API 访问 TripAdvisor 旅行地点信息的 MCP 服务,可搜索地点并获取详情、照片和评论,也可选用浏览器桥接读取公开页面信息。
主要功能
- 01按名称或地理范围搜索
- 02获取地点完整详情
- 03读取照片和旅客评论
- 04批量获取多个地点信息
- 05可选浏览器桥接免 API 密钥查询
适用场景
- 01搜索某地区的酒店、餐厅或景点
- 02出行前查看评分和地址
- 03参考照片与旅客反馈
- 04无需 Terra 密钥查询公开地点信息
MCP 相关
向 MCP 客户端提供只读的 TripAdvisor 搜索和地点数据工具。Terra 工具需要 Terra API 密钥;可选网页工具通过配对的 ContextMint Bridge 浏览器扩展工作。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @chrischall/tripadvisor-mcpTRIPADVISOR_API_KEY密钥Your TripAdvisor Terra API key (tripadvisor.com/developers). Needed by the Terra tools; the ta_web_* tools work without it.TRIPADVISOR_CACHE_TTLSeconds to cache search responses (default: 300; `0` disables).TRIPADVISOR_STATIC_CACHE_TTLSeconds to cache details/photos/reviews (default: 3600; `0` disables).TRIPADVISOR_REQUEST_TIMEOUT_MSPer-request timeout for the optional browser bridge (default: 30000).TRIPADVISOR_DEBUG_LOGSet to `1` to log browser-bridge requests to stderr.TRIPADVISOR_WS_PORTBridge port override (default: FETCHPROXY_WS_PORT, else 37149). Tests only.FETCHPROXY_WS_PORTLocalhost concentrator port (default 37149). On one machine every MCP shares the concentrator, so move it for ALL of them or not at all.FETCHPROXY_WS_HOSTBind interface (default 127.0.0.1; a literal IP only, anything else is ignored). Keep on loopback — it exists for ONE topology: a hosted child in its own network namespace.FETCHPROXY_IDENTITY_DIRWhere to store the long-term identity keypair (default ~/.fetchproxy/identity/; an absolute path only, anything else is ignored). Exists for a host that runs a separate child per caller, so they can share one identity.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
8收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| page | integer | 否 | 页索引(从 1 开始) |
| size | integer | 否 | 每页结果数(最多 20 条) |
| view | enum | 否 | 响应格式:"compact"(默认)会省略响应中其他位置已有的字段;"full" 会返回此服务端支持的所有字段。若存在精简投影,compact 会返回该投影,并移除其他位置的图片 URL;"full" 会返回 TripAdvisor 的完整记录。compact | full |
| query | string | 是 | 用于搜索地点名称的文本 |
| locale | array | 否 | 本地化字段的首选区域设置,按优先级排序(例如 ["en","es"]) |
| category | enum | 否 | 限制为一个类别RESTAURANT | ATTRACTION | HOTEL |
| geo_name | string | 否 | 用于限定搜索范围的城市、城镇或国家/地区名称 |
| postal_code | string | 否 | 邮政编码/ZIP 代码(优先于 geo_name) |
| country_code | string | 否 | Alpha-2 国家/地区代码(例如 "US") |
详细介绍
tripadvisor-mcp
面向 TripAdvisor Terra API 的 MCP 服务——为 Claude 提供旅行数据。按名称或坐标搜索酒店、餐厅和景点,然后通过 stdio 获取完整详情、照片和评论。(Terra 是 TripAdvisor 当前使用的 API;旧版 Content API 将于 2026-08-31 停用。)
由 AI(Claude Code)开发和维护。请自行斟酌使用。
快速开始
{
"mcpServers": {
"tripadvisor": {
"command": "npx",
"args": ["-y", "@chrischall/tripadvisor-mcp"],
"env": { "TRIPADVISOR_API_KEY": "your-terra-api-key-here" }
}
}
}
在 tripadvisor.com/developers 获取密钥。免费的 Discover 套餐按使用量付费(10 QPS,每天 10,000 次调用);响应会缓存在内存中,以提高配额利用率。请确保使用的是 Terra 密钥——旧版 Content API 密钥会返回 403。
工具
| 工具 | 功能 |
|---|---|
ta_search_locations | 按名称搜索地点(可按类别、国家/地区、地理位置/邮政编码筛选)——支持分页;使用 compact:true 获取精简摘要 |
ta_search_nearby | 查找指定经纬度+半径、location_id+半径附近的地点,或指定西南/东北边界框内的地点(类别、最低评分、排序)——支持 compact:true |
ta_get_location_details | 完整详情:名称、描述、地址、坐标、旅行者评分、电话、列表 URL |
ta_get_locations | 批量获取——一次调用获取多个地点 ID 的详情(比调用 N 次详情接口更便宜);支持 compact:true |
ta_get_location_photos | 照片及多种尺寸的图片 URL、来源和尺寸信息——支持分页 |
ta_get_location_reviews | 旅行者评论——支持分页 |
ta_web_healthcheck | 诊断可选的 tripadvisor.com 浏览器桥接连接(见下文) |
ta_web_get_location | 通过浏览器桥接从公开页面读取地点详情(评分、地址、坐标、电话、照片)——无需 API 密钥 |
所有工具均为只读——Terra 没有写入接口。
浏览器桥接(可选)
ta_web_healthcheck 是可选第二层级中的首个工具,可访问
tripadvisor.com 的消费者网站(该网站设有机器人防护,因此无法从服务器端访问),方法是
通过已登录的浏览器标签页转发同源 fetch 请求。你需要安装
ContextMint Bridge 浏览器扩展,可从
其发布页面
获取(Chrome:下载 chrome zip,然后开启开发者模式,从 chrome://extensions
加载解压后的扩展;目前尚未提供 Safari 版本——该版本将集成在
ContextMint 应用中,而该应用尚未公开提供下载——因此暂时请使用 Chrome)。这需要
安装扩展并进行一次配对授权;上文的 Content API 工具
不会使用桥接功能。
ContextMint Bridge 是 fetchproxy 浏览器扩展的新名称,由
同一位维护者提供——fetchproxy 自身的 README
(https://github.com/chrischall/fetchproxy#extension) 指向该扩展。其源代码
公开于 https://github.com/nullnet-app/contextmint-bridge:你可以自行构建,
也可以使用旁边发布的 .sha256 文件校验发行版 zip
(shasum -a 256 -c contextmint-bridge-chrome-<version>.zip.sha256)。
ta_web_get_location 使用此桥接功能直接从 TripAdvisor 公开页面读取地点详情——
因此无需 API 密钥即可使用,涵盖景点、酒店和餐厅。它会返回核心商家数据
(评分、评论数量、地址、坐标、电话、主照片、列表
URL),但不包含单条评论文本。请求格式固定在
docs/TRIPADVISOR-WEB-API.md 中。
环境
| 变量 | 必需 | 用途 |
|---|---|---|
TRIPADVISOR_API_KEY | Terra 工具必需 | Terra API 密钥,通过 X-API-Key 标头发送。ta_web_* 工具无需此密钥即可使用。 |
TRIPADVISOR_CACHE_TTL | 否 | 搜索响应的缓存秒数(默认值:300;0 表示禁用)。 |
TRIPADVISOR_STATIC_CACHE_TTL | 否 | 详情/照片/评论的缓存秒数(默认值:3600;0 表示禁用)。 |
TRIPADVISOR_REQUEST_TIMEOUT_MS | 否 | 可选浏览器桥接的单次请求超时时间(默认值:30000)。 |
TRIPADVISOR_DEBUG_LOG | 否 | 设为 1 可将浏览器桥接请求记录到 stderr。 |
开发
npm install
npm run build # tsc + esbuild bundle
npm test # vitest (no real network)
端点请求格式固定在 docs/TRIPADVISOR-API.md 中。在 .env 中配置密钥后,运行 node scripts/live-probe.mjs,即可通过构建后的客户端测试每个读取路径。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。