Skip to content

MBD Travel

by mbdtravel.com · remote · no sign-in to list tools · v1.0.0 · published by com.mbdtravel

Read-only MBD Travel catalogue: tours, hotel prices, private transfers and the Dubai visa.

Final · 1Changes · 1

12 tools: 1 do something that can't be undone, 1 change things and 10 only read.

Scanned Oct 21, 2026

2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http travel https://mbdtravel.com/api/v1/mcp/public

Findings

Matches of fixed checks, with the text they matched.

2 warn
  • The server marks "compare_tours" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "compare_tours" says "compare": a word for reading.

    What this check looks for
  • The server marks "quote_transfer" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "quote_transfer" says "transfer": a word for a change that another call does not undo.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

12 tools

Can't be undone 1Claude Code: ask
  • quote_transferPrices one transfer for a party from the stored list price: vehicles needed (a 7th passenger needs a second), price per vehicle, total, cheapest option.1 finding

    Why it is in this group

    • The name "quote_transfer" says "transfer": a word for a change that another call does not undo.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "quote_transfer" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "quote_transfer" says "transfer": a word for a change that another call does not undo.

      What this check looks for
    Description, as the server wrote it
    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).

    Annotations the server declares

    • title: Quote a transfer
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Changes things 1Claude Code: ask
  • compare_toursPuts two to four tours side by side with the same fields.1 finding

    Why it is in this group

    • The name "compare_tours" says "compare": a word for reading.
    • The description's first verb is "put": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "compare_tours" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "compare_tours" says "compare": a word for reading.

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Compare tours
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 10Claude Code: allow
  • browse_destinationsLists catalogue countries and cities with their published tour counts.No findings

    Why it is in this group

    • The name "browse_destinations" says "browse": a word for reading.
    Description, as the server wrote 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.

    Annotations the server declares

    • title: Destinations
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • fetchReturns the full text, price and site link for a record id.No findings

    Why it is in this group

    • The name "fetch" says "fetch": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Record detail
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • find_last_minute_toursReturns tours departing soon, soonest first, with dates.No findings

    Why it is in this group

    • The name "find_last_minute_tours" says "find": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Last-minute tours
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_departuresReturns a tour's departures with the price of every occupancy slot for each (adult, single, extra bed, children, infant).No findings

    Why it is in this group

    • The name "get_departures" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Tour departures
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_tourReturns 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,…No findings

    Why it is in this group

    • The name "get_tour" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Tour record
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_hotelsLists the curated hotel pool by country, area and stars, with facility tags.No findings

    Why it is in this group

    • The name "list_hotels" says "list": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: List hotels
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • quote_hotel_stayGets a live supplier offer or MBD contract price (pricingSource) for hotels and dates.No findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Price a hotel stay
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • search_toursLists and filters published tours by free text, destination, maximum from-price, departure date range and sort.No findings

    Why it is in this group

    • The name "search_tours" says "search": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Search tours
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • search_transfersPrivate transfers, fixed price per vehicle.No findings

    Why it is in this group

    • The name "search_transfers" says "search": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Search transfers
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http travel https://mbdtravel.com/api/v1/mcp/public

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__travel__search",
      "mcp__travel__fetch",
      "mcp__travel__search_tours",
      "mcp__travel__get_tour",
      "mcp__travel__get_departures",
      "mcp__travel__browse_destinations",
      "mcp__travel__find_last_minute_tours",
      "mcp__travel__list_hotels",
      "mcp__travel__quote_hotel_stay",
      "mcp__travel__search_transfers"
    ],
    "ask": [
      "mcp__travel__compare_tours",
      "mcp__travel__quote_transfer"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as travel. Review it before you use it.