TripAdvisor location search, details, photos, and reviews via the Terra API
MCP server for the TripAdvisor Terra API — travel data for Claude. Search hotels, restaurants, and attractions by name or coordinates, then pull full details, photos, and reviews, all over stdio. (Terra is TripAdvisor's current API; the legacy Content API is sunset on 2026-08-31.)
Developed and maintained by AI (Claude Code). Use at your own discretion.
{
"mcpServers": {
"tripadvisor": {
"command": "npx",
"args": ["-y", "@chrischall/tripadvisor-mcp"],
"env": { "TRIPADVISOR_API_KEY": "your-terra-api-key-here" }
}
}
}
Get a key at tripadvisor.com/developers. The free Discover tier is pay-as-you-go (10 QPS, 10,000 calls/day); responses are cached in-memory to stretch it. Make sure it's a Terra key — a legacy Content API key returns 403.
| Tool | What it does |
|---|---|
ta_search_locations | Search locations by name (optionally scoped by category, country/geo/postal code) — paginated; compact:true for slim summaries |
ta_search_nearby | Find locations near a lat/lon+radius, a location_id+radius, or inside a sw/ne bounding box (category, min rating, sort) — compact:true supported |
ta_get_location_details | Full details: names, descriptions, address, coordinates, traveler ratings, phone, listing URLs |
ta_get_locations | Batch — details for multiple location ids in one call (cheaper than N detail calls); compact:true supported |
ta_get_location_photos | Photos with multi-size image URLs, source, and dimensions — paginated |
ta_get_location_reviews | Traveler reviews — paginated |
ta_web_healthcheck | Diagnose the optional tripadvisor.com browser-bridge connection (see below) |
ta_web_get_location | Location details (rating, address, coords, phone, photo) read from the public page via the browser bridge — no API key needed |
All tools are read-only — Terra has no write endpoints.
ta_web_healthcheck is the first tool of an optional second tier that reaches
tripadvisor.com's consumer site (bot-walled, so unreachable server-side) by
routing same-origin fetches through your signed-in browser tab via the
fetchproxy Transporter extension.
It needs the extension installed and a one-time pairing approval; the Content
API tools above never touch the bridge.
ta_web_get_location uses this bridge to read a location's details straight
from its public TripAdvisor page — so it works without an API key,
covering attractions, hotels, and restaurants. It returns core business data
(rating, review count, address, coordinates, phone, primary photo, listing
URL) but not individual review text. Request shapes are pinned in
docs/TRIPADVISOR-WEB-API.md.
| Var | Required | Purpose |
|---|---|---|
TRIPADVISOR_API_KEY | yes | Terra API key, sent as the X-API-Key header. |
TRIPADVISOR_CACHE_TTL | no | Seconds to cache search responses (default: 300; 0 disables). |
TRIPADVISOR_STATIC_CACHE_TTL | no | Seconds to cache details/photos/reviews (default: 3600; 0 disables). |
TRIPADVISOR_REQUEST_TIMEOUT_MS | no | Per-request timeout for the optional browser bridge (default: 30000). |
TRIPADVISOR_DEBUG_LOG | no | Set to 1 to log browser-bridge requests to stderr. |
npm install
npm run build # tsc + esbuild bundle
npm test # vitest (no real network)
Endpoint request shapes are pinned in docs/TRIPADVISOR-API.md. With a key in .env, node scripts/live-probe.mjs exercises every read path through the built client.
MIT
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y @chrischall/tripadvisor-mcpMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-chrischall-tripadvisor-mcp": {
"command": "npx",
"args": [
"-y",
"@chrischall/tripadvisor-mcp"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup reference@chrischall/tripadvisor-mcpnpmio.github.chrischall/tripadvisor-mcp works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.