skurakov avatar

GetExperience

skurakov/getexperience-mcp

Connects Claude to GetExperience's travel marketplace covering 40+ countries. Exposes six tools: search experiences by location and filters, pull details and schedules with pricing, build a cart, and create orders. Works without an API key for browsing the catalog. B2B partners get instant booking confirmation with API key access, settling payments separately via invoice. Supports both markdown and JSON response formats, with structured data blocks embedded in markdown for programmatic parsing. Runs as a hosted remote server over streamable HTTP, so there's nothing to install. Useful if you're building travel booking into an AI assistant or automating tour search for concierge services.

tools
7
auth
Secret needed
transport
SSE
last updated
Mar 15, 2026

Install

From registry metadata
$ npx add-mcp https://getexperience.com/mcp --name getexperience --transport sse --header 'X-Api-Key: ${X_API_KEY}'

Run in your terminal. add-mcp asks which agents to add it to, then asks for each value it needs. Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

$ claude mcp add --transport sse getexperience https://getexperience.com/mcp --header 'X-Api-Key: YOUR_X_API_KEY'

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 7 tools

Verified live against the running server on Nov 6, 2026.

search_experiencesSearch for tours and experiences on GetExperience.com. Works without an account or authentication. Returns list of matching experiences with id, title, price, location, duration, rating, payment type, photos, booking link. BOOKING FLOW: search_experiences → get_experience_deta...24 params

Search for tours and experiences on GetExperience.com. Works without an account or authentication. Returns list of matching experiences with id, title, price, location, duration, rating, payment type, photos, booking link. BOOKING FLOW: search_experiences → get_experience_deta...

Parameters* required
categoriesarray
Filter by activity type using category slugs. Categories have two levels: TOP-LEVEL (use these for broad filtering — recommended for most queries): animals, nature-and-outdoors, art-and-culture, f...
countryCodestring
ISO 3166-1 alpha-2 country code (e.g. 'TR' for Turkey, 'ES' for Spain). Filters by country directly.
dateFromstring
Start date in YYYY/MM/DD format (e.g. 2026/03/08).
dateTostring
End date in YYYY/MM/DD format (e.g. 2026/03/15).
durationsarray
Filter by duration ranges in minutes. E.g. ['10-60'] for under 1 hour, ['60-180'] for 1-3 hours, ['180-480'] for half-day, ['480-1440'] for full day. Multiple ranges allowed.
featuresarray
Filter by what's included. Values: guide, transport, entranceFee, transfer, equipment, accommodation, meals, alcoholicDrinks, nonAlcoholicDrinks, insurance, gratuities, snacks.
guestsCountnumber
Number of guests.
includeStructuredDataboolean
Include [GXP_STRUCTURED] JSON block in markdown response (default: true). Set false for plain text only.default: true
langstring
Language of response content (titles, descriptions). ALWAYS set this to the language the END USER wrote their request in — e.g. Russian query → 'ru', Turkish → 'tr', Arabic → 'ar', Spanish → 'es'....
languagesarray
Filter by guide language — language the tour is conducted in (e.g. ['en'], ['en', 'es']). Supported: en, es, de, ru, fr, it, tr, ar, zh, ja, ko, pt.
locationstring
City, country, or region name. Use English for best results (e.g. 'Istanbul', 'Bali', 'Spain'). Non-Latin input supported but less reliable.
maxPricenumber
Maximum price in USD (not cents). E.g. 200 = $200.
minPricenumber
Minimum price in USD (not cents). E.g. 50 = $50.
onDemandboolean
true = only on-demand experiences (book by request). false = only scheduled experiences (fixed timetable).
pagenumber
Page number for pagination (default: 1).
paymentOptionsstring
Filter by payment type. 'full' = only full payment, 'part' = only experiences with partial payment (pay deposit now, rest later).one of full · part
peopleMinnumber
Your group size. Filters out experiences that require more people. E.g. peopleMin=1 for solo traveler — hides tours with minimum 4 guests.
perPagenumber
Results per page (default: 25, max: 100).
privateGroupboolean
true = only experiences available as private tours.
publicGroupboolean
true = only experiences available as group tours.

+4 more parameters. See the server's own documentation for the full schema.

get_experience_detailsGet full details of a specific experience by ID. Call when: the user wants to learn more about a tour before booking, or to confirm full description, photos, pricing and availability options. Call after search_experiences — use id from search results. All prices are in USD. RE...4 params

Get full details of a specific experience by ID. Call when: the user wants to learn more about a tour before booking, or to confirm full description, photos, pricing and availability options. Call after search_experiences — use id from search results. All prices are in USD. RE...

Parameters* required
id*number
Experience ID from search_experiences results.
includeStructuredDataboolean
Include [GXP_STRUCTURED] JSON block in markdown response (default: true).default: true
langstring
Language of response content (title, description, highlights, itinerary, etc.). ALWAYS set this to the language the END USER wrote in — the same value you used in search_experiences. Supported: en,...
responseFormatstring
markdown (default): text + [GXP_STRUCTURED]. json: pure JSON only.one of markdown · jsondefault: markdown
get_experience_scheduleGet available time slots for a specific experience on a specific date. Required step before booking. CRITICAL: Copy configId and startAt EXACTLY from the chosen slot — pass these unchanged to add_to_checkout. Do not modify or recalculate these values. Copy durationMinutes when...4 params

Get available time slots for a specific experience on a specific date. Required step before booking. CRITICAL: Copy configId and startAt EXACTLY from the chosen slot — pass these unchanged to add_to_checkout. Do not modify or recalculate these values. Copy durationMinutes when...

Parameters* required
date*string
Date in YYYY/MM/DD or YYYY-MM-DD format (e.g. 2026/03/08). Must be a future date.
id*number
Experience ID from search_experiences or get_experience_details.
includeStructuredDataboolean
Include [GXP_STRUCTURED] JSON block in markdown response (default: true).default: true
responseFormatstring
markdown (default): text + [GXP_STRUCTURED]. json: pure JSON only.one of markdown · jsondefault: markdown
get_checkoutGet current cart contents by sessionId. Use when: you need to confirm what's in the cart before placing the order, or to retrieve checkoutId if it was not saved after add_to_checkout. sessionId is returned by add_to_checkout — always save it. RETURNS: checkoutId (required for...3 params

Get current cart contents by sessionId. Use when: you need to confirm what's in the cart before placing the order, or to retrieve checkoutId if it was not saved after add_to_checkout. sessionId is returned by add_to_checkout — always save it. RETURNS: checkoutId (required for...

Parameters* required
includeStructuredDataboolean
Include [GXP_STRUCTURED] JSON block in markdown response (default: true).default: true
responseFormatstring
markdown (default): text + [GXP_STRUCTURED]. json: pure JSON only.one of markdown · jsondefault: markdown
sessionId*string
Session ID returned by add_to_checkout. Used to identify the cart.
add_to_checkoutAdd an experience to the cart. Requires a connected GetExperience account: without user authorization the call is answered with an OAuth sign-in challenge (HTTP 401, or a tool error carrying the challenge on clients that link accounts per tool) — connect the account and retry....12 params

Add an experience to the cart. Requires a connected GetExperience account: without user authorization the call is answered with an OAuth sign-in challenge (HTTP 401, or a tool error carrying the challenge on clients that link accounts per tool) — connect the account and retry....

Parameters* required
adultsnumber
Number of adults (default: 1).default: 1
babiesnumber
Number of babies (default: 0).default: 0
childrennumber
Number of children (default: 0).default: 0
currencystring
Pricing currency: EUR, USD, etc. (default: USD).default: USD
durationMinutesnumber
durationMinutes from the get_experience_schedule slot, if provided. Optional — omit if the slot's durationMinutes is null and the server will fall back to the experience's default duration.
experienceId*number
Experience ID from search_experiences or get_experience_details.
includeStructuredDataboolean
Include [GXP_STRUCTURED] JSON block in markdown response (default: true).default: true
isPrivateboolean
Private group booking — higher price, exclusive slot (default: false).default: false
responseFormatstring
markdown (default): text + [GXP_STRUCTURED]. json: pure JSON only.one of markdown · jsondefault: markdown
scheduleConfigId*number
configId from get_experience_schedule slot. Copy the exact value — do not modify.
sessionIdstring
Session ID. If omitted, a new session is created automatically — save the returned sessionId. Reuse to add more items to the same cart.
startAt*string
startAt from get_experience_schedule slot (ISO datetime). Copy the exact value — do not modify.
create_orderPlace the booking order for the cart — the last step of the booking flow. Requires a connected GetExperience account: without user authorization the call is answered with an OAuth sign-in challenge (HTTP 401, or a tool error carrying the challenge on clients that link accounts...5 params

Place the booking order for the cart — the last step of the booking flow. Requires a connected GetExperience account: without user authorization the call is answered with an OAuth sign-in challenge (HTTP 401, or a tool error carrying the challenge on clients that link accounts...

Parameters* required
checkoutId*number
Checkout ID from add_to_checkout or get_checkout.
includeStructuredDataboolean
Include [GXP_STRUCTURED] JSON block in markdown response (default: true).default: true
paymentTypestring
Payment type. 'full' (default) = pay entire amount now. 'part' = pay deposit now, rest on site. Must be allowed by the experience: the API rejects a type missing from paymentOptions (422) — includi...one of full · partdefault: full
responseFormatstring
markdown (default): text + [GXP_STRUCTURED]. json: pure JSON only.one of markdown · jsondefault: markdown
userobject
OMIT by default — name and e-mail come from the connected account. Pass ONLY when the server reported that the account has no phone number on file: { tel, countryCode }.
request_availabilitySend an availability request to the host of an ON-DEMAND experience. Call when: an experience is "available on request" (onDemand: true in search/details, or get_experience_schedule says "available on request") and the user wants it for specific dates. On-demand experiences CA...12 params

Send an availability request to the host of an ON-DEMAND experience. Call when: an experience is "available on request" (onDemand: true in search/details, or get_experience_schedule says "available on request") and the user wants it for specific dates. On-demand experiences CA...

Parameters* required
adults*number
Number of adults. At least one guest (adult or child) is required in total.
babiesnumber
Number of babies (default: 0).
childrennumber
Number of children (default: 0).
commentstring
Guest's wishes / notes for the host (optional). E.g. preferred time of day, special requests.
email*string
Guest's email. REQUIRED — the host's answer (confirm/decline + booking link) is delivered here and to the guest's account. Ask the user.
experienceId*number
Experience ID from search_experiences / get_experience_details. Must be an on-demand experience.
includeStructuredDataboolean
Include [GXP_STRUCTURED] JSON block in markdown response (default: true).default: true
name*string
Guest's name. REQUIRED — ask the user.
periodEndstring
Preferred end date, YYYY/MM/DD or YYYY-MM-DD. Defaults to periodStart for a single-day request.
periodStart*string
Preferred start date, YYYY/MM/DD or YYYY-MM-DD (e.g. 2026/07/15). Must be in the future.
responseFormatstring
markdown (default): text + [GXP_STRUCTURED]. json: pure JSON only.one of markdown · jsondefault: markdown
telstring
Guest's phone (optional).

Sponsors

Readme

GetExperience MCP Server

MCP server for GetExperience.com — a marketplace of tours and unique travel experiences in 40+ countries.

Search, browse, and book real tours and activities directly from any AI assistant via the Model Context Protocol.

Who is this for

  • AI assistants and chatbots — add travel booking capabilities to your product
  • Travel agencies and concierge services — automate tour search and booking through AI
  • Developers building AI agents — plug in a ready-made travel API via MCP

Free access (no API key)

Browse the full catalog: search experiences, view details, check schedules and pricing. Works out of the box — just connect to the endpoint. Instant payment and booking for anyone through the chat — coming soon.

B2B partner integration

Book tours on behalf of your customers — instant confirmation, no guest payment required. Your company settles with GetExperience separately (invoice/balance).

To get started as a B2B partner, contact us at bookings@getexperience.com — we'll issue your API key the same day.

Server URL

https://getexperience.com/mcp

View the full README on GitHub

Details

Repository
github.com/skurakov/getexperience-mcp
Category
Search & Web Crawling
Transport
SSE
Auth
Required
Registry
MCP registry, active
Tools verified
Nov 6, 2026

Related Search & Web Crawling MCP servers

View all
1slashml-ai avatarSlashML (/ml) Persistent Agent Memory & Code Localizationslashml-ai/ml-memoryPersistent conversational memory, behavioral code search, and bug localization for AI agents.0stars
2steveweltman avatar4q Tokenzsteveweltman/4q-tokensIntelligent MCP proxy that reduces token usage by exposing only mcp_search and mcp_call.0stars
3stonesofcreation avatarStackSwapstonesofcreation/stackswap-mcpB2B GTM stack intelligence: search ~400 tools, compare vendors, find overlaps, audit SaaS spend.0stars
4thecompanyatlas avatarChina Company Registry & USCC Lookupthecompanyatlas/china-company-registry-mcpChinese company search by English or Chinese name and Unified Social Credit Code (USCC).0stars
5thecompanyatlas avatarCyprus Company Registry: Directors & Secretariesthecompanyatlas/cyprus-company-registry-mcpCyprus company search with directors, secretaries, partners and former officers.0stars
6thecompanyatlas avatarFrance Company Search (SIREN / SIRET)thecompanyatlas/france-siren-company-mcpFrench company search by name and SIREN, with SIRET, legal category and status.0stars