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

getyourguide-mcp

v1.1.2

Published

GetYourGuide MCP server for Claude — search tours and activities via the GetYourGuide Partner API. Developed and maintained by AI (Claude Code)

Readme

getyourguide-mcp

MCP server for GetYourGuide — search tours and activities, read tour details, bookable options, and reviews via the GetYourGuide Partner API.

🤖 This project was developed and is maintained by AI (Claude Code). Use at your own discretion.

Tools

All tools are read-only — this server registers no write tools.

| Tool | What it does | | --- | --- | | gyg_search_tours | Search tours/activities by free text, location, category, or date range; sortable; compact mode for slim summaries | | gyg_get_tour | Full record for one tour by numeric ID | | gyg_get_tour_options | Bookable options of a tour (ticket types, times), optionally within a date range | | gyg_get_tour_availability | Booking availability of a tour: participant categories, addons, available dates | | gyg_get_tour_reviews | Customer reviews for a tour | | gyg_list_categories | Activity categories (IDs feed gyg_search_tours / gyg_list_category_tours) | | gyg_list_category_tours | Tours in one category | | gyg_get_location | Details for a location (city, POI, region) by ID | | gyg_list_location_tours | Tours available at one location |

Setup

You need a GetYourGuide Partner API key — join the (free) partner program at partner.getyourguide.com and copy the API key from your dashboard. The key is sent as the X-ACCESS-TOKEN header on every request.

Claude Code / any MCP host

{
  "mcpServers": {
    "getyourguide": {
      "command": "npx",
      "args": ["-y", "getyourguide-mcp"],
      "env": {
        "GYG_API_KEY": "your-partner-api-key"
      }
    }
  }
}

The server also boots with no key set (so hosts can probe tools/list at install time); the first tool call then returns an actionable error telling you which env var to set.

Environment variables

| Variable | Required | Meaning | | --- | --- | --- | | GYG_API_KEY | yes (for tool calls) | Partner API key, sent as X-ACCESS-TOKEN | | GYG_CURRENCY | no | Default currency for prices (ISO 4217; falls back to USD — the API requires one); per-call currency args override | | GYG_LANGUAGE | no | Default content language (falls back to en — the API requires one); per-call language args override | | GYG_BASE_URL | no | API base URL (default https://api.getyourguide.com/1) | | GYG_REQUEST_TIMEOUT_MS | no | Per-request timeout (default 30000) |

For local development, put them in a .env next to the server (gitignored; see .env.example).

Behavior notes

  • Rate limits: one automatic retry on 429/503 honoring Retry-After (capped at 10s). If it still fails, the error tells you to back off.
  • Auth errors: a 401/403 names both possible causes — a wrong key, or a key whose partner tier doesn't cover that endpoint.
  • API drift: responses are validated leniently. On an unexpected shape the server logs a precise warning to stderr and returns the raw response rather than breaking; search tools also accept extraParams to pass raw query params through verbatim. See docs/GETYOURGUIDE-API.md — routes and request shapes are live-verified against the API and its official OpenAPI spec; real 200 bodies still need pinning from a keyed capture.
  • Secrets: upstream error bodies are redacted then truncated before they reach a tool result; the API key is never echoed.

Development

npm install
npm run build          # tsc + esbuild bundle → dist/
npm test               # vitest (no network — everything mocked)
npm run test:coverage  # the CI gate: 100% lines/branches/functions/statements

Releases are automated with release-please; don't hand-bump versions. PR titles must be conventional commits (feat:, fix:, …) because the repo squash-merges.

License

MIT