GetYourGuide tours & activities for Claude — search, details, options, and reviews
About
GetYourGuide tours & activities for Claude — search, details, options, and reviews
Security Report
Valid MCP server (1 strong, 1 medium validity signals). 2 known CVEs in dependencies (0 critical, 1 high severity) Package registry verified. Imported from the Official MCP Registry. Trust signals: trusted author (83/85 approved); 3 highly-trusted packages.
12 files analyzed · 3 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Permissions Required
This plugin requests these system permissions. Most are normal for its category.
What You'll Need
Set these up before or after installing:
Environment variable: GYG_API_KEY
Environment variable: GYG_CURRENCY
Environment variable: GYG_LANGUAGE
Environment variable: GYG_BASE_URL
Environment variable: GYG_REQUEST_TIMEOUT_MS
How to Install
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-chrischall-getyourguide-mcp": {
"env": {
"GYG_API_KEY": "your-gyg-api-key-here",
"GYG_BASE_URL": "your-gyg-base-url-here",
"GYG_CURRENCY": "your-gyg-currency-here",
"GYG_LANGUAGE": "your-gyg-language-here",
"GYG_REQUEST_TIMEOUT_MS": "your-gyg-request-timeout-ms-here"
},
"args": [
"-y",
"getyourguide-mcp"
],
"command": "npx"
}
}
}Documentation
View on GitHubFrom the project's GitHub 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; 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; view |
gyg_get_tour_availability | Booking availability of a tour: participant categories, addons, available dates; view |
gyg_get_tour_reviews | Customer reviews for a tour; view |
gyg_list_categories | Activity categories (IDs feed gyg_search_tours / gyg_list_category_tours); view |
gyg_list_category_tours | Tours in one category; view |
gyg_get_location | Details for a location (city, POI, region) by ID; view |
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 shape
Every data tool takes 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 }. Ongyg_get_tour— one record, no listing envelope to project — and on every other tool (options, availability, reviews, categories, location) — 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.
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/503honoringRetry-After(capped at 10s). If it still fails, the error tells you to back off. - Timeouts & network failures: a request that exceeds
GYG_REQUEST_TIMEOUT_MS, or never reaches the API (DNS, refused, reset), comes back as a tool error naming the request path, with a hint to raise the timeout or checkGYG_BASE_URLand your network. Cancelling a call is not wrapped — it stays a cancellation. - Empty arguments: an empty-string query param (e.g.
currency: ""orlanguage: "") is dropped rather than sent, so the env default /USD/enfallback applies instead of the API rejecting a blank value. - Auth errors: a
401/403names 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. 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. extraParams:gyg_search_toursandgyg_get_tour_optionsacceptextraParamsto pass raw query params the schema doesn't model. A key that collides with one of the tool's own arguments (limit,offset,currency,cnt_language,q, …) is ignored — the typed argument, or its default, always wins. (Before 2.1.6extraParamsoverrode them.)- 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 # tsc typecheck + vitest (no network — everything mocked)
npm run test:coverage # tsc typecheck + 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
Reviews
No reviews yet
Be the first to review this server!
More Developer Tools MCP Servers
Rea
Freeby Morluto · Developer Tools
Reverse engineer anything from your terminal or agent with one CLI and MCP server.
Paperclip
Freeby Paperclipai · Developer Tools
Trending hip-hop artist momentum scores across four cultural dimensions.
Toleno
Freeby Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
MCP Marketplace
Freeby mcp-marketplace · Developer Tools
Search and install MCP servers from inside your AI client.
mcp-creator-python
Freeby mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
by Lharries · Communication
Read, search, and send WhatsApp messages through your AI assistant