The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Getyourguide MCP listing page.
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.
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; view |
gyg_get_tour | Full record for one tour by numeric ID; view |
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; view |
gyg_get_location | Details for a location (city, POI, region) by ID |
gyg_list_location_tours | Tours available at one location; view |
gyg_healthcheck | Verify credentials and upstream reachability; reports failures as data, not exceptions |
view — response shapeThe tools marked view above take view: "compact" | "full", and compact is
the default. An efficiency that has to be asked for is one that usually is not,
so it is not opt-in — the old compact: true flag on gyg_search_tours is gone.
compact — on the three tour LISTINGS it returns the documented slim
projection (tour_id, title, abstract, url, price, overall_rating,
number_of_ratings, durations, categories, locations), flattened to
{ _metadata, tours }. On gyg_get_tour — one record, no listing envelope to
project — it instead strips image URLs and keeps everything else.full — GetYourGuide's whole validated record, untouched.Reach for full when you need a field the projection does not carry (picture
variants, coordinates, marketing copy). Every response is minified JSON either
way: formatting whitespace is dropped, whitespace inside a value is not.
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.
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.
| 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).
429/503 honoring Retry-After
(capped at 10s). If it still fails, the error tells you to back off.401/403 names both possible causes — a wrong key, or
a key whose partner tier doesn't cover that endpoint.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.Releases are automated with release-please; don't hand-bump versions. PR
titles must be conventional commits (feat:, fix:, …) because the repo
squash-merges.
MIT