Back to Directory/Developer Tools

io.github.chrischall/tripadvisor-mcp

TripAdvisor location search, details, photos, and reviews via the Terra API

Developer ToolsTypeScriptv1.1.6

tripadvisor-mcp

npm

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.

Quick start

{
  "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.

Tools

ToolWhat it does
ta_search_locationsSearch locations by name (optionally scoped by category, country/geo/postal code) — paginated; compact:true for slim summaries
ta_search_nearbyFind 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_detailsFull details: names, descriptions, address, coordinates, traveler ratings, phone, listing URLs
ta_get_locationsBatch — details for multiple location ids in one call (cheaper than N detail calls); compact:true supported
ta_get_location_photosPhotos with multi-size image URLs, source, and dimensions — paginated
ta_get_location_reviewsTraveler reviews — paginated
ta_web_healthcheckDiagnose the optional tripadvisor.com browser-bridge connection (see below)
ta_web_get_locationLocation 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.

Browser bridge (optional)

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.

Environment

VarRequiredPurpose
TRIPADVISOR_API_KEYyesTerra API key, sent as the X-API-Key header.
TRIPADVISOR_CACHE_TTLnoSeconds to cache search responses (default: 300; 0 disables).
TRIPADVISOR_STATIC_CACHE_TTLnoSeconds to cache details/photos/reviews (default: 3600; 0 disables).
TRIPADVISOR_REQUEST_TIMEOUT_MSnoPer-request timeout for the optional browser bridge (default: 30000).
TRIPADVISOR_DEBUG_LOGnoSet to 1 to log browser-bridge requests to stderr.

Development

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.

License

MIT

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y @chrischall/tripadvisor-mcp

Set up in your AI client

Merge 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.

json
{
  "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

Package

@chrischall/tripadvisor-mcpnpm

Compatible MCP Clients

io.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.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.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.

Learn More