io.github.chrischall/tripadvisor-mcp is an MCP server that TripAdvisor location search, details, photos, and reviews via the Terra API. Its tool list has not been published yet over stdio, requires no API key, and scores 63/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"tripadvisor": {
"env": {
"TRIPADVISOR_API_KEY": "your-terra-api-key-here"
},
"args": [
"-y",
"@chrischall/tripadvisor-mcp"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
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.)
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
npx -y 'npm' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
Packing does not respect root-level ignore files in workspaces
### Impact `npm pack` ignores root-level `.gitignore` & `.npmignore` file exclusion directives when run in a workspace or with a workspace flag (ie. `--workspaces`, `--workspace=<name>`). Anyone who has run `npm pack` or `npm publish` with workspaces, as of [v7.9.0](https://github.com/npm/cli/releases/tag/v7.9.0) & [v7.13.0](https://github.com/npm/cli/releases/tag/v7.13.0) respectively, may be affected and have published files into the npm registry they did not intend to include. ### Patch - Up
Incorrect Permission Assignment for Critical Resource in NPM
An issue was discovered in an npm 5.7.0 2018-02-21 pre-release (marked as "next: 5.7.0" and therefore automatically installed by an "npm upgrade -g npm" command, and also announced in the vendor's blog without mention of pre-release status). It might allow local users to bypass intended filesystem access restrictions because ownerships of /etc and /usr directories are being changed unexpectedly, related to a "correctMkdir" issue.
Local Privilege Escalation in npm
Affected versions of `npm` use predictable temporary file names during archive unpacking. If an attacker can create a symbolic link at the location of one of these temporary file names, the attacker can arbitrarily write to any file that the user which owns the `npm` process has permission to write to, potentially resulting in local privilege escalation. ## Recommendation Update to version 1.3.3 or later.
npm CLI exposing sensitive information through logs
Versions of the npm CLI prior to 6.14.6 are vulnerable to an information exposure vulnerability through log files. The CLI supports URLs like `<protocol>://[<user>[:<password>]@]<hostname>[:<port>][:][/]<path>`. The password value is not redacted and is printed to stdout and also to any generated log files.
npm Vulnerable to Global node_modules Binary Overwrite
Versions of the npm CLI prior to 6.13.4 are vulnerable to a Global node_modules Binary Overwrite. It fails to prevent existing globally-installed binaries to be overwritten by other package installations. For example, if a package was installed globally and created a `serve` binary, any subsequent installs of packages that also create a `serve` binary would overwrite the first binary. This will not overwrite system binaries but only binaries put into the global node_modules directory. This b
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in maps
18 Google Maps tools for AI agents — geocode, search, directions, weather, and more.
A Model Context Protocol (MCP) server implementation that connects Large Language Models (LLMs) to GIS operations using GIS libraries, enabling AI assistants to perform geospatial operations and transformations.
MCP server from Kynth Studios — eleven read-only lookups over live public data: AI model pricing and routing, dependency maintenance, service pricing and stack cost, agent skills and configs, shadcn component registries, starter-kit grades, AI app-builder App Store readiness, ADA Title II reports, nonprofit good-standing. No key, no signup.
Multi-city flight routing intelligence — plan RTW trips, validate alliances, get carrier picks.
MCP Security Weekly
Get CVE alerts and security updates for io.github.chrischall/tripadvisor-mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
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