getyourguide-mcp
MCP server for GetYourGuide — read-only search and discovery of tours, activities, and attraction tickets via the GetYourGuide Partner API.
Setup
Add to .mcp.json in your project or ~/.claude/mcp.json:
{
"mcpServers": {
"getyourguide": {
"command": "npx",
"args": ["-y", "getyourguide-mcp"],
"env": {
"GYG_API_KEY": "your-partner-api-key"
}
}
}
}
Get an API key by joining the free partner program at
partner.getyourguide.com. Optional env:
GYG_CURRENCY (e.g. USD), GYG_LANGUAGE (e.g. en).
Tools
| Tool | Use it to |
|---|---|
gyg_search_tours |
Find tours by free text / location / category / date range. Start here. |
gyg_get_tour |
Pull the full record once a tour is chosen |
gyg_get_tour_options |
See bookable options (ticket types, times) for a tour, optionally within dates |
gyg_get_tour_reviews |
Read customer reviews for a tour |
gyg_list_categories |
Discover category IDs to filter searches |
gyg_list_category_tours |
Browse tours in one category |
gyg_get_location |
Resolve a location ID (city / POI / region) |
gyg_list_location_tours |
Browse everything bookable at a location |
gyg_healthcheck() |
Is this connector working? Reports which credential resolved, whether api.getyourguide.com accepted it, and what to fix. Start here when another tool fails — an empty result can mean "no data" or "never authenticated", and this separates them. |
Response shape
Every data tool takes view: "compact" | "full", and compact is the
default — you get the slim response without asking for it. On the tour
listings (gyg_search_tours, gyg_list_category_tours,
gyg_list_location_tours) compact is a slim projection; everywhere else it
strips image URLs and keeps every other field. Pass view: "full" for the
whole GetYourGuide record.
(This replaced an opt-in compact: true flag. Passing compact now does
nothing — zod drops the unknown key and you get the compact rung regardless,
which is what the flag used to ask for.)
Usage notes
- Everything is read-only — booking still happens on getyourguide.com
(tour records include the
url). - Results honor
currency/languageargs (fall back to the env defaults). - If a response looks structurally off, the server has already logged a
precise drift warning to stderr and returned the raw body — report the
warning text upstream rather than working around it silently.
gyg_search_toursandgyg_get_tour_optionsacceptextraParamsfor raw query params if the API needs something the schema doesn't expose. It can't override the tool's own arguments: a colliding key (limit,currency, …) is ignored, so set those through the real arguments. - A
401/403error means the key is wrong or its partner tier doesn't cover that endpoint — check the partner dashboard before assuming the key is dead.
