mcpField
T
tripadvisor-mcp

tripadvisor-mcp

Local
github.com/chrischallMaps & Travel0Updated 5d ago

About tripadvisor-mcp

tripadvisor-mcp is an MCP server for accessing TripAdvisor travel listings through the Terra API. It supports searching and retrieving location details, photos, and reviews, with an optional browser bridge for keyless public-page details.

Key features

  1. 01Search by name or geographic area
  2. 02Retrieve full location details
  3. 03Fetch photos and traveler reviews
  4. 04Batch-fetch multiple location records
  5. 05Optional browser-bridge lookup without an API key

Use cases

  1. 01Find hotels, restaurants, or attractions in an area
  2. 02Check ratings and addresses before a trip
  3. 03Review photos and traveler feedback
  4. 04Look up public listing details without a Terra key

MCP support

Exposes read-only TripAdvisor search and location-data tools to MCP clients. Terra tools require a Terra API key; optional web tools use a paired ContextMint Bridge browser extension.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"chrischall-tripadvisor": {
"command": "npx",
"args": [
"-y",
"@chrischall/tripadvisor-mcp"
],
"env": {
"TRIPADVISOR_API_KEY": "<TRIPADVISOR_API_KEY>",
"TRIPADVISOR_CACHE_TTL": "<TRIPADVISOR_CACHE_TTL>",
"TRIPADVISOR_STATIC_CACHE_TTL": "<TRIPADVISOR_STATIC_CACHE_TTL>",
"TRIPADVISOR_REQUEST_TIMEOUT_MS": "<TRIPADVISOR_REQUEST_TIMEOUT_MS>",
"TRIPADVISOR_DEBUG_LOG": "<TRIPADVISOR_DEBUG_LOG>",
"TRIPADVISOR_WS_PORT": "<TRIPADVISOR_WS_PORT>",
"FETCHPROXY_WS_PORT": "<FETCHPROXY_WS_PORT>",
"FETCHPROXY_WS_HOST": "<FETCHPROXY_WS_HOST>",
"FETCHPROXY_IDENTITY_DIR": "<FETCHPROXY_IDENTITY_DIR>"
}
}
}
}
Run commandnpx -y @chrischall/tripadvisor-mcp
Environment variables to set
TRIPADVISOR_API_KEYSecretYour 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.

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@chrischall/tripadvisor-mcp1.1.12

Tools

8

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
pageintegerNoPage index (1-based)
sizeintegerNoResults per page (max 20)
viewenumNoResponse shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact returns the slim projection where one exists and strips image URLs elsewhere; "full" returns TripAdvisor's whole records.compact | full
querystringYesText to search location names for
localearrayNoPreferred locales for localized fields, in priority order (e.g. ["en","es"])
categoryenumNoRestrict to one categoryRESTAURANT | ATTRACTION | HOTEL
geo_namestringNoCity, town, or country name to scope the search
postal_codestringNoPostal/ZIP code (takes precedence over geo_name)
country_codestringNoAlpha-2 country code (e.g. "US")

Details

From the project README

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 ContextMint Bridge browser extension, installed from its releases page (Chrome: download the chrome zip and load it unpacked from chrome://extensions with Developer mode on; Safari isn't available yet — it will ship inside the ContextMint app, which has no public download — so use Chrome for now). It needs the extension installed and a one-time pairing approval; the Content API tools above never touch the bridge.

ContextMint Bridge is the fetchproxy browser extension under its new name, from the same maintainer — fetchproxy's own README (https://github.com/chrischall/fetchproxy#extension) points to it. Its source is public at https://github.com/nullnet-app/contextmint-bridge: build it yourself, or check a release zip against the .sha256 file published beside it (shasum -a 256 -c contextmint-bridge-chrome-<version>.zip.sha256).

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_KEYfor the Terra toolsTerra API key, sent as the X-API-Key header. The ta_web_* tools work without it.
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

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.