Read-only MBD Travel catalogue: tours, hotel prices, private transfers and the Dubai visa.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Lists catalogue countries and cities with their published tour counts. scope: countries, cities (of one country) or featured (default: the cities MBD Travel highlights). There is no continent, region or theme grouping. Returns destinations only, not tours.
Price currency.
Catalogue language.
featured = highlighted cities (default).
Country (slug, Turkish or English name, or ISO code); returns that country’s cities.
Lists catalogue countries and cities with their published tour counts. scope: countries, cities (of one country) or featured (default: the cities MBD Travel highlights). There is no continent, region or theme grouping. Returns destinations only, not tours.
| Argument | Type | Description |
|---|---|---|
| scope | string | featured = highlighted cities (default). |
| country | string | Country (slug, Turkish or English name, or ISO code); returns that country’s cities. |
| currency* | string | Price currency. |
| language* | string | Catalogue language. |
{
"type": "object",
"required": [
"language",
"currency"
],
"properties": {
"scope": {
"enum": [
"countries",
"cities",
"featured"
],
"type": "string",
"description": "featured = highlighted cities (default)."
},
"country": {
"type": "string",
"maxLength": 200,
"description": "Country (slug, Turkish or English name, or ISO code); returns that country’s cities."
},
"currency": {
"enum": [
"EUR",
"USD",
"AED"
],
"type": "string",
"description": "Price currency."
},
"language": {
"enum": [
"tr",
"en"
],
"type": "string",
"description": "Catalogue language."
}
},
"additionalProperties": false
}Puts two to four tours side by side with the same fields. It returns every field of each tour. It gives no winner, score or verdict; null fields stay null.
| Argument | Type | Description |
|---|---|---|
| slugs* | array | |
| currency* | string | Price currency. |
| language* | string | Catalogue language. |
{
"type": "object",
"required": [
"language",
"currency",
"slugs"
],
"properties": {
"slugs": {
"type": "array",
"items": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"maxItems": 4,
"minItems": 2,
"uniqueItems": true
},
"currency": {
"enum": [
"EUR",
"USD",
"AED"
],
"type": "string",
"description": "Price currency."
},
"language": {
"enum": [
"tr",
"en"
],
"type": "string",
"description": "Catalogue language."
}
},
"additionalProperties": false
}Returns the full text, price and site link for a record id. Id format: <tur|deneyim|otel|vize>:<tr|en>:<EUR|USD|AED>:<key> (tour, experience, hotel, visa); change only the currency part to switch currency. A tour record carries itinerary, inclusions, exclusions, hotels and departures, and names what it lacks. An unpublished record returns NOT_FOUND.
| Argument | Type | Description |
|---|---|---|
| id* | string | Record id, format as in the tool description. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Record id, format as in the tool description."
}
},
"additionalProperties": false
}Returns tours departing soon, soonest first, with dates. Covers last minute, near-term, urgent, right away, this week and tour at airfare price requests. Selection is by departure date only; it is not a discount. windowDays states the length of the window in days. It has no date range or destination filter.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Default 10. |
| currency* | string | Price currency. |
| language* | string | Catalogue language. |
{
"type": "object",
"required": [
"language",
"currency"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "Default 10."
},
"currency": {
"enum": [
"EUR",
"USD",
"AED"
],
"type": "string",
"description": "Price currency."
},
"language": {
"enum": [
"tr",
"en"
],
"type": "string",
"description": "Catalogue language."
}
},
"additionalProperties": false
}Returns a tour's departures with the price of every occupancy slot for each (adult, single, extra bed, children, infant). Prices are not trimmed; every occupancy slot is listed. Past departures are excluded. Paged by date: default 12 per page; nextCursor is the cursor of the next page. The dates returned are the only departure dates the catalogue holds.
| Argument | Type | Description |
|---|---|---|
| to | string | Departures on or before this date (YYYY-MM-DD) |
| from | string | Departures on or after this date (YYYY-MM-DD) |
| slug* | string | |
| limit | integer | Departures per page. Default 12. |
| cursor | string | nextCursor from the previous response. |
| currency* | string | Price currency. |
| language* | string | Catalogue language. |
{
"type": "object",
"required": [
"language",
"currency",
"slug"
],
"properties": {
"to": {
"type": "string",
"format": "date",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"maxLength": 10,
"minLength": 10,
"description": "Departures on or before this date (YYYY-MM-DD)"
},
"from": {
"type": "string",
"format": "date",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"maxLength": 10,
"minLength": 10,
"description": "Departures on or after this date (YYYY-MM-DD)"
},
"slug": {
"type": "string",
"maxLength": 200
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Departures per page. Default 12."
},
"cursor": {
"type": "string",
"maxLength": 500,
"description": "nextCursor from the previous response."
},
"currency": {
"enum": [
"EUR",
"USD",
"AED"
],
"type": "string",
"description": "Price currency."
},
"language": {
"enum": [
"tr",
"en"
],
"type": "string",
"description": "Catalogue language."
}
},
"additionalProperties": false
}Returns one tour: description, airline, nights, day-by-day itinerary, included and excluded items, hotels, upcoming departure dates and the first departure's price per slot (adult, child). cancellation holds the fixed tour cancellation and refund policy. Fields without data are listed in missing. An unpublished tour returns PRODUCT_NOT_FOUND. Only the first departure is priced here.
| Argument | Type | Description |
|---|---|---|
| slug* | string | product.slug |
| currency* | string | Price currency. |
| language* | string | Catalogue language. |
{
"type": "object",
"required": [
"language",
"currency",
"slug"
],
"properties": {
"slug": {
"type": "string",
"maxLength": 200,
"description": "product.slug"
},
"currency": {
"enum": [
"EUR",
"USD",
"AED"
],
"type": "string",
"description": "Price currency."
},
"language": {
"enum": [
"tr",
"en"
],
"type": "string",
"description": "Catalogue language."
}
},
"additionalProperties": false
}Lists the curated hotel pool by country, area and stars, with facility tags. No supplier call and no price (a price needs dates and guests). city matches area words ("Antalya", "Business Bay"); the free-text argument matches name words. Each hotel carries a hotelId. When nothing matches, the reply lists nearby MBD hotels and a contact link.
| Argument | Type | Description |
|---|---|---|
| city | string | City name in Turkish or English. |
| limit | integer | |
| stars | integer | |
| cursor | string | cursor from the previous response. |
| search | string | Words in the hotel name. |
| country | string | Country: name in English or Turkish, or ISO 3166-1 alpha-2 code (example: "Turkey", "AE"). |
| currency* | string | |
| language* | string |
{
"type": "object",
"required": [
"language",
"currency"
],
"properties": {
"city": {
"type": "string",
"maxLength": 100,
"description": "City name in Turkish or English."
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1
},
"stars": {
"type": "integer",
"maximum": 5,
"minimum": 1
},
"cursor": {
"type": "string",
"maxLength": 500,
"description": "cursor from the previous response."
},
"search": {
"type": "string",
"maxLength": 100,
"description": "Words in the hotel name."
},
"country": {
"type": "string",
"maxLength": 100,
"description": "Country: name in English or Turkish, or ISO 3166-1 alpha-2 code (example: \"Turkey\", \"AE\")."
},
"currency": {
"enum": [
"EUR",
"USD",
"AED"
],
"type": "string"
},
"language": {
"enum": [
"tr",
"en"
],
"type": "string"
}
},
"additionalProperties": false
}Gets a live supplier offer or MBD contract price (pricingSource) for hotels and dates. Books nothing and holds no room. An unverified price is not returned. PRICE_ON_REQUEST means no price is on file; the reply then carries pageUrl and contact. Supplier calls are limited daily. Needs check-in, check-out and guests. When nationality is omitted the price is for TR and the reply states nationalityUsed.
| Argument | Type | Description |
|---|---|---|
| adults* | integer | Adults; at most 6 people per room, 4 children. |
| checkIn* | string | Check-in date; at most 365 days from today (YYYY-MM-DD) |
| checkOut* | string | Check-out date; the stay must be 1-30 nights (YYYY-MM-DD) |
| currency* | string | |
| hotelIds* | array | hotelId values (ids, not names). |
| language* | string | |
| nationality | string | ISO 3166-1 alpha-2 code (TR, AE, DE); optional, default TR. Changes the price. |
Prices one transfer for a party from the stored list price: vehicles needed (a 7th passenger needs a second), price per vehicle, total, cheapest option. Reads only: no basket, hold or order. Needs slug, direction and party size (Istanbul also needs district).
| Argument | Type | Description |
|---|---|---|
| slug* | string | Transfer slug. |
| currency* | string | Price currency. |
| district | string | Istanbul hotel district. |
| language* | string | Catalogue language. |
| direction* | string | Listed round-trip price is used, not two one-ways. |
| passengers* | integer | Passengers. |
{
"type": "object",
"required": [
"language",
"currency",
"slug",
"direction",
"passengers"
],
"properties": {
"slug": {
"type": "string",
"maxLength": 200,
"description": "Transfer slug."
},
"currency": {
"enum": [
"EUR",
"USD",
"AED"
],
"type": "string",
"description": "Price currency."
},
"district": {
"type": "string",
"description": "Istanbul hotel district."
},
"language": {
"enum": [
"tr",
"en"
],
"type": "string",
"description": "Catalogue language."
},
"direction": {
"enum": [
"ONE_WAY",
"ROUND_TRIP",
"TO_AIRPORT"
],
"type": "string",
"description": "Listed round-trip price is used, not two one-ways."
},
"passengers": {
"type": "integer",
"maximum": 30,
"minimum": 1,
"description": "Passengers."
}
},
"additionalProperties": false
}Free-text search over published MBD Travel tours, experiences, hotels and the Dubai visa (examples: "Japan tour", "Dubai desert safari", "Paris hotel", "Dubai visa"; Turkish works too). Each result carries an id. Currency comes from the currency argument or the query ("dollar", "AED"), else EUR. A hotel result carries a price note, not a price. Flights, transfers, booking and payment are not in the index.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum results per type; default 5. |
| query* | string | Text to search. |
| currency | string | Price currency. |
| language | string | Result language; default tr. |
{
"type": "object",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 10,
"minimum": 1,
"description": "Maximum results per type; default 5."
},
"query": {
"type": "string",
"maxLength": 200,
"description": "Text to search."
},
"currency": {
"enum": [
"EUR",
"USD",
"AED"
],
"type": "string",
"description": "Price currency."
},
"language": {
"enum": [
"tr",
"en"
],
"type": "string",
"description": "Result language; default tr."
}
},
"additionalProperties": false
}Lists and filters published tours by free text, destination, maximum from-price, departure date range and sort. Prices are "from" prices with their basis, not fixed prices. Returns an empty list with emptyReason when nothing matches. Tours only: no hotels, experiences or visas.
| Argument | Type | Description |
|---|---|---|
| city | string | City: slug or name in Turkish or English. |
| sort | string | Default newest. |
| limit | integer | Default 10. |
| query | string | Free text: country, city or tour name (example: "Japan"). |
| offset | integer | |
| country | string | Country: slug, name in Turkish or English, or ISO 3166-1 alpha-2 code (example: "japonya", "Japan", "JP"). |
| currency* | string | Price currency. |
| language* | string | Catalogue language. |
| maxPrice | integer |
Private transfers, fixed price per vehicle. Dubai: DXB, SHJ, AUH to hotel, city transfer, full-day tour. Istanbul: IST, SAW to hotel, priced by hotel side (pass district or side). Filters: airport, serviceType, direction, side, district, passengers (a 7th passenger needs a second vehicle). Reads only: no booking.
| Argument | Type | Description |
|---|---|---|
| side | string | Istanbul hotel side. |
| airport | string | Pick-up airport. |
| currency* | string | Price currency. |
| district | string | Istanbul hotel district, e.g. Kadikoy; sets the side. |
| language* | string | Catalogue language. |
| direction | string | Direction filter. |
| passengers | integer | Party size. |
| serviceType | string |
{
"type": "object",
"required": [
"language",
"currency"
],
"properties": {
"side": {
"enum": [
"EUROPE",
"ANATOLIA"
],
"type": "string",
"description": "Istanbul hotel side."
},
"airport": {
"enum": [
"DXB",
"SHJ",
"AUH",
"IST",
"SAW"
],
"type": "string",
"description": "Pick-up airport."
},
"currency": {
"enum": [
"EUR",
"USD",
"AED"
],
"type": "string",
"description": "Price currency."
},
"district": {
"type": "string",
"description": "Istanbul hotel district, e.g. Kadikoy; sets the side."
},
"language": {
"enum": [
"tr",
"en"
],
"type": "string",
"description": "Catalogue language."
},
"direction": {
"enum": [
"ONE_WAY",
"ROUND_TRIP",
"TO_AIRPORT"
],
"type": "string",
"description": "Direction filter."
},
"passengers": {
"type": "integer",
"maximum": 30,
"minimum": 1,
"description": "Party size."
},
"serviceType": {
"enum": [
"AIRPORT_TO_HOTEL",
"CITY_TRANSFER",
"FULL_DAY_PRIVATE_TOUR"
],
"type": "string"
}
},
"additionalProperties": false
}| childrenAges |
| array |
| Age of each child, one entry per child. No birth dates. |
{
"type": "object",
"required": [
"language",
"currency",
"hotelIds",
"checkIn",
"checkOut",
"adults"
],
"properties": {
"adults": {
"type": "integer",
"maximum": 6,
"minimum": 1,
"description": "Adults; at most 6 people per room, 4 children."
},
"checkIn": {
"type": "string",
"format": "date",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"maxLength": 10,
"minLength": 10,
"description": "Check-in date; at most 365 days from today (YYYY-MM-DD)"
},
"checkOut": {
"type": "string",
"format": "date",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"maxLength": 10,
"minLength": 10,
"description": "Check-out date; the stay must be 1-30 nights (YYYY-MM-DD)"
},
"currency": {
"enum": [
"EUR",
"USD",
"AED"
],
"type": "string"
},
"hotelIds": {
"type": "array",
"items": {
"type": "string",
"maxLength": 64,
"minLength": 1
},
"maxItems": 5,
"minItems": 1,
"description": "hotelId values (ids, not names).",
"uniqueItems": true
},
"language": {
"enum": [
"tr",
"en"
],
"type": "string"
},
"nationality": {
"type": "string",
"pattern": "^[A-Z]{2}$",
"maxLength": 2,
"minLength": 2,
"description": "ISO 3166-1 alpha-2 code (TR, AE, DE); optional, default TR. Changes the price."
},
"childrenAges": {
"type": "array",
"items": {
"type": "integer",
"maximum": 17,
"minimum": 0
},
"description": "Age of each child, one entry per child. No birth dates."
}
},
"additionalProperties": false
}| Maximum from-price in the unit of priceFrom.amount (minor units: 15000 for EUR 150) and in the chosen currency. |
| departureTo | string | Tours with a departure on or before this date (YYYY-MM-DD) |
| departureFrom | string | Tours with a departure on or after this date (YYYY-MM-DD) |
{
"type": "object",
"required": [
"language",
"currency"
],
"properties": {
"city": {
"type": "string",
"maxLength": 200,
"description": "City: slug or name in Turkish or English."
},
"sort": {
"enum": [
"name",
"newest",
"price",
"departure"
],
"type": "string",
"description": "Default newest."
},
"limit": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "Default 10."
},
"query": {
"type": "string",
"maxLength": 100,
"description": "Free text: country, city or tour name (example: \"Japan\")."
},
"offset": {
"type": "integer",
"minimum": 0
},
"country": {
"type": "string",
"maxLength": 200,
"description": "Country: slug, name in Turkish or English, or ISO 3166-1 alpha-2 code (example: \"japonya\", \"Japan\", \"JP\")."
},
"currency": {
"enum": [
"EUR",
"USD",
"AED"
],
"type": "string",
"description": "Price currency."
},
"language": {
"enum": [
"tr",
"en"
],
"type": "string",
"description": "Catalogue language."
},
"maxPrice": {
"type": "integer",
"maximum": 100000000,
"minimum": 1,
"description": "Maximum from-price in the unit of priceFrom.amount (minor units: 15000 for EUR 150) and in the chosen currency."
},
"departureTo": {
"type": "string",
"format": "date",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"maxLength": 10,
"minLength": 10,
"description": "Tours with a departure on or before this date (YYYY-MM-DD)"
},
"departureFrom": {
"type": "string",
"format": "date",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"maxLength": 10,
"minLength": 10,
"description": "Tours with a departure on or after this date (YYYY-MM-DD)"
}
},
"additionalProperties": false
}