Getyourguide Mcp

io.github.chrischallPublished by GitHub account chrischallv2.2.0Updated Nov 7, 2026

GetYourGuide tours & activities for Claude — search, details, options, and reviews

Overview

AI-generated overview

Read-only MCP server for GetYourGuide: lets an assistant search tours and activities, inspect options, availability and reviews via the Partner API.

What you can do
  • Search tours and activities by free text, location, category or date range, with sorting and compact or full views
  • Read a single tour's full record, its bookable options and its booking availability
  • Read customer reviews for a tour
  • List activity categories and the tours inside a category
  • Look up locations (city, POI, region) and the tours available there
  • Check credentials and upstream reachability with a healthcheck tool
When to use it
Useful when an assistant should help plan trips or outings: finding activities in a city, comparing prices and ratings, checking when a tour is bookable, or summarizing reviews. It only reads catalog data; it does not book anything.
Requirements
Runs locally over stdio, typically via npx with the getyourguide-mcp npm package, so Node.js is needed. A GetYourGuide Partner API key is required for tool calls, supplied in the GYG_API_KEY environment variable and sent as the X-ACCESS-TOKEN header; the key comes from the free partner program. Optional variables set default currency, language, base URL and request timeout. Network access to api.getyourguide.com is required.
Before you install
The server needs a partner API key (GYG_API_KEY); treat it as a secret and keep it out of shared configs. All tools are read-only, so nothing is booked or changed, but queries and search terms go to GetYourGuide's API. The project states it is AI-developed and maintained, to be used at your own discretion. Partner tier limits may cause 401/403 errors on some endpoints, and rate limits apply.

Installation

In SourceWeft

  1. Open Getyourguide Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

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.

ToolWhat it does
gyg_search_toursSearch tours/activities by free text, location, category, or date range; sortable; view
gyg_get_tourFull record for one tour by numeric ID; view
gyg_get_tour_optionsBookable options of a tour (ticket types, times), optionally within a date range; view
gyg_get_tour_availabilityBooking availability of a tour: participant categories, addons, available dates; view
gyg_get_tour_reviewsCustomer reviews for a tour; view
gyg_list_categoriesActivity categories (IDs feed gyg_search_tours / gyg_list_category_tours); view
gyg_list_category_toursTours in one category; view
gyg_get_locationDetails for a location (city, POI, region) by ID; view
gyg_list_location_toursTours available at one location; view
gyg_healthcheckVerify 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 }. On gyg_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

json
{  "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

VariableRequiredMeaning
GYG_API_KEYyes (for tool calls)Partner API key, sent as X-ACCESS-TOKEN
GYG_CURRENCYnoDefault currency for prices (ISO 4217; falls back to USD — the API requires one); per-call currency args override
GYG_LANGUAGEnoDefault content language (falls back to en — the API requires one); per-call language args override
GYG_BASE_URLnoAPI base URL (default https://api.getyourguide.com/1)
GYG_REQUEST_TIMEOUT_MSnoPer-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.
  • 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 check GYG_BASE_URL and your network. Cancelling a call is not wrapped — it stays a cancellation.
  • Empty arguments: an empty-string query param (e.g. currency: "" or language: "") is dropped rather than sent, so the env default / USD / en fallback applies instead of the API rejecting a blank value.
  • 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. 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_tours and gyg_get_tour_options accept extraParams to 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.6 extraParams overrode them.)
  • Secrets: upstream error bodies are redacted then truncated before they reach a tool result; the API key is never echoed.

Development

bash
npm installnpm 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

Source: README.md at commit 1635bc6

Tools

10

gyg_search_tours

Search GetYourGuide tours and activities. Filter by free text (or "iata:<code>" for airports), location ID, category ID, and date range; sort by popularity, price, or rating. Returns slim summaries by default; pass view:"full" for the whole records.

ParametersqviewlimitdateTooffsetcurrencydateFromlanguagesortFieldcategoryIdlocationIdextraParams+1 more

gyg_get_tour

Get the full GetYourGuide record for one tour/activity by its numeric ID. Image URLs are stripped by default; pass view:"full" to keep them.

ParametersviewtourIdrequiredcurrencylanguage

gyg_get_tour_options

List the bookable options of a tour (ticket types, times, languages offered), optionally within a date range. Image URLs are stripped by default; pass view:"full" to keep them.

ParametersviewlimitdateTotourIdrequiredcurrencydateFromlanguageextraParams

gyg_get_tour_availability

Get booking availability for a tour: bookable participant categories, addons, and the list of available dates (with participant ranges). Lighter than gyg_get_tour_options when you only need "when can I go". Image URLs are stripped by default; pass view:"full" to keep them.

ParametersviewtourIdrequiredlanguage

gyg_get_tour_reviews

List customer reviews for a tour (rating outline plus individual review items). Image URLs are stripped by default; pass view:"full" to keep them.

ParametersviewlimitoffsettourIdrequiredcurrencylanguagesortFieldsortDirection

gyg_list_categories

List GetYourGuide activity categories (use the IDs to filter tour searches). Image URLs are stripped by default; pass view:"full" to keep them.

Parametersviewlimitoffsetlanguage

gyg_list_category_tours

List tours in one GetYourGuide category.

ParametersviewlimitoffsetcurrencylanguagecategoryIdrequired

gyg_get_location

Get details for a GetYourGuide location (city, POI, or region) by its numeric ID. Image URLs are stripped by default; pass view:"full" to keep them.

ParametersviewlanguagelocationIdrequired

gyg_list_location_tours

List tours available at one GetYourGuide location (city, POI, or region).

ParametersviewlimitoffsetcurrencylanguagelocationIdrequired

gyg_healthcheck

Verify credentials and upstream reachability

Resolves the credential the way real tools do, then makes one authenticated request to api.getyourguide.com. Reports which source supplied the credential, whether api.getyourguide.com accepted it, the round-trip time, and a plain-English hint distinguishing 'no credential' from 'credential rejected' from 'a api.getyourguide.com-side problem'. Read-only; never returns the credential itself. Call this when a real tool fails and you want to know which hop broke.

Takes no parameters.

Version history

12
  1. v2.2.0LatestNov 4, 2026
  2. v2.1.8Oct 17, 2026
  3. v2.1.7Oct 16, 2026
  4. v2.1.6Oct 10, 2026
  5. v2.1.5Oct 7, 2026
  6. v2.1.4Oct 5, 2026
  7. v2.1.3Oct 3, 2026
  8. v2.1.2Sep 25, 2026
  9. v2.1.1Sep 23, 2026
  10. v2.1.0Sep 20, 2026
  11. v2.0.0Sep 18, 2026
  12. v1.3.2Sep 16, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts