npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@chrischall/tripadvisor-mcp

v0.2.1

Published

TripAdvisor Terra API MCP server for Claude — search locations, details, photos, and reviews. Developed and maintained by AI (Claude Code).

Downloads

382

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

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

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

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

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