MCP tools reference

Klook MCP tools

10 tools for Klook on the Cotlet MCP server. Your agent picks them from tools/list.

MCP server
https://cotlet.dev/mcp/v1
Connects with
Your own Klook account (a traveler account, no partner or supplier access needed)
Integration page
Klook
Klook Endpoints
Endpoint Access Description
klook_search_activities read Tours, tickets and experiences by keyword or destination, with price, rating and cancellation type.
klook_get_activity read Packages with prices, what is included, meeting point and cancellation policy of one activity.
klook_check_availability read Open dates and time slots for a package, with the price per unit (adult, child).
klook_list_activity_reviews read Traveler reviews of an activity with rating, date and text.
klook_list_bookings read Bookings on your account with Booking Reference ID, activity, date and status.
klook_get_booking read One booking with participants, cancellation policy, amend option and voucher link.
klook_get_klookcash_balance read KlookCash on your account with the expiry date of each part.
klook_book_activity write Book a package of an activity for a date. You see the total before anything is paid.
klook_amend_booking write Change the participation date or contact info of a booking that allows Amend booking.
klook_cancel_booking write Cancel a booking and apply for a refund, where it has free cancellation.

MCP tool klook_search_activities

Returns activities that match a keyword or destination, in the order set by sort. A date keeps only activities available that day. Each item has the lowest price, rating and review count, and the cancellation type: free, conditional or none. Use get_activity for packages and details.

Parameters

Parameters: search_activities
NameTypeDescription
query required string Keyword or destination, e.g. "Mount Fuji day tour" or "Bangkok".
date date Only activities available on this date.
sort enum popular, price_low, price_high or rating. Default: popular.
currency string ISO 4217 code, e.g. USD. Default: your account currency.
limit integer 1 to 50. Default: 20.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "klook_search_activities",
    "arguments": {
      "query": "Mount Fuji day tour"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "activities": [
      {
        "activity_id": "41528",
        "title": "Mount Fuji One Day Tour from Tokyo",
        "city": "Tokyo",
        "price_from": {
          "amount": 93.2,
          "currency": "USD"
        },
        "rating": 4.7,
        "reviews": 3120,
        "cancellation": "free"
      },
      {
        "activity_id": "30977",
        "title": "Mt. Fuji and Hakone Day Trip with Lake Cruise",
        "city": "Tokyo",
        "price_from": {
          "amount": 98.5,
          "currency": "USD"
        },
        "rating": 4.6,
        "reviews": 1844,
        "cancellation": "free"
      },
      {
        "activity_id": "52204",
        "title": "Private Mount Fuji Tour with English Driver",
        "city": "Tokyo",
        "price_from": {
          "amount": 112,
          "currency": "USD"
        },
        "rating": 4.8,
        "reviews": 402,
        "cancellation": "none"
      }
    ]
  },
  "isError": false
}

MCP tool klook_get_activity

Returns one activity with its packages, each with its own package_id and lowest price. It also returns what is included, the meeting point and the cancellation policy shown on the activity page. Use package_id with check_availability and book_activity.

Parameters

Parameters: get_activity
NameTypeDescription
activity_id required string Activity ID from search_activities.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "klook_get_activity",
    "arguments": {
      "activity_id": "activity_8c41d2"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "activity_id": "41528",
    "title": "Mount Fuji One Day Tour from Tokyo",
    "packages": [
      {
        "package_id": "98731",
        "name": "Departure from Shinjuku, English guide",
        "price_from": {
          "adult": 93.2,
          "child": 80
        },
        "currency": "USD"
      },
      {
        "package_id": "98740",
        "name": "Departure from Tokyo Station, English guide",
        "price_from": {
          "adult": 96.5,
          "child": 83
        },
        "currency": "USD"
      }
    ],
    "includes": [
      "Round-trip bus",
      "English-speaking guide",
      "Lunch"
    ],
    "meeting_point": "Shinjuku Station West Exit",
    "cancellation": {
      "type": "free",
      "policy": "Free cancellation up to 24 hours before the start time"
    }
  },
  "isError": false
}

MCP tool klook_check_availability

Returns the open dates and time slots of one package in a date range, with the price per unit type. Dates with no slots are left out. Run it before book_activity or amend_booking so you only ask for a slot that exists.

Parameters

Parameters: check_availability
NameTypeDescription
activity_id required string Activity ID from search_activities.
package_id string Package from get_activity. Default: all packages.
from required date First date to check.
to date Last date to check. Default: same as from.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "klook_check_availability",
    "arguments": {
      "activity_id": "activity_8c41d2",
      "from": "2026-10-01"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "activity_id": "41528",
    "package_id": "98731",
    "availability": [
      {
        "date": "2026-11-14",
        "slots": [
          "08:00",
          "09:30"
        ],
        "price": {
          "adult": 93.2,
          "child": 80
        },
        "currency": "USD"
      },
      {
        "date": "2026-11-15",
        "slots": [
          "08:00"
        ],
        "price": {
          "adult": 93.2,
          "child": 80
        },
        "currency": "USD"
      }
    ]
  },
  "isError": false
}

MCP tool klook_list_activity_reviews

Returns reviews of one activity, newest first by default, each with the rating, date and text. Set sort to rating to see the best rated first. Use it to check what travelers say before you book.

Parameters

Parameters: list_activity_reviews
NameTypeDescription
activity_id required string Activity ID from search_activities.
sort enum recent or rating. Default: recent.
limit integer 1 to 50. Default: 20.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "klook_list_activity_reviews",
    "arguments": {
      "activity_id": "activity_8c41d2"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "activity_id": "41528",
    "reviews": [
      {
        "rating": 5,
        "date": "2026-10-02",
        "text": "Clear views of Fuji and a guide who kept to the schedule."
      },
      {
        "rating": 4,
        "date": "2026-09-28",
        "text": "Long day, but the lunch stop was good."
      }
    ],
    "next_cursor": null
  },
  "isError": false
}

MCP tool klook_list_bookings

Returns the bookings shown on the Bookings page of your account, with the Booking Reference ID, activity, participation date and status. Filter by upcoming, completed or cancelled. Pass booking_ref to get_booking, amend_booking or cancel_booking.

Parameters

Parameters: list_bookings
NameTypeDescription
status enum upcoming, completed, cancelled or all. Default: upcoming.
limit integer 1 to 100. Default: 20.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "klook_list_bookings",
    "arguments": {}
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "bookings": [
      {
        "booking_ref": "KPR834512",
        "activity": "Mount Fuji One Day Tour from Tokyo",
        "date": "2026-11-14",
        "status": "upcoming"
      },
      {
        "booking_ref": "NJT204518",
        "activity": "Nami Island and Petite France Day Tour from Seoul",
        "date": "2026-11-21",
        "status": "upcoming"
      },
      {
        "booking_ref": "BKK771903",
        "activity": "Bangkok Street Food Evening Tour",
        "date": "2026-12-02",
        "status": "upcoming"
      }
    ]
  },
  "isError": false
}

MCP tool klook_get_booking

Returns one booking with its date, time, participants and voucher link. The cancellation policy says whether the booking is free to cancel, conditional or not cancellable, and whether Amend booking is available. Check it before amend_booking or cancel_booking.

Parameters

Parameters: get_booking
NameTypeDescription
booking_ref required string Booking Reference ID from list_bookings, e.g. ABC123456.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "klook_get_booking",
    "arguments": {
      "booking_ref": "booking ref"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "booking_ref": "BKK771903",
    "activity": "Bangkok Street Food Evening Tour",
    "date": "2026-12-02",
    "time": "17:30",
    "status": "upcoming",
    "units": {
      "adult": 2
    },
    "total": {
      "amount": 64,
      "currency": "USD"
    },
    "cancellation": {
      "type": "free",
      "policy": "Free cancellation up to 24 hours before the start time"
    },
    "can_amend": true,
    "voucher_url": "https://www.klook.com/en-US/bookings/"
  },
  "isError": false
}

MCP tool klook_get_klookcash_balance

Returns your KlookCash balance and the entries it is made of, each with its expiry date, like the Klookcash page in your profile. Klook lets you use KlookCash only with at least 10 KlookCash, which usable shows. It takes no parameters.

Parameters

No parameters.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "klook_get_klookcash_balance",
    "arguments": {}
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "klookcash": 1850,
    "usable": true,
    "entries": [
      {
        "amount": 300,
        "expires_on": "2026-11-30"
      },
      {
        "amount": 1550,
        "expires_on": "2027-06-12"
      }
    ]
  },
  "isError": false
}

Book activity

write Confirm

MCP tool klook_book_activity

Books one package for a date and time slot through Klook checkout and returns the Booking Reference ID. With use_klookcash set, it ticks KlookCash in the Discount section, which works only with at least 10 KlookCash and not on Klook Passes, e-Gift Cards, Travel Insurance, Stay+ packages or selected events. If checkout asks for extra authentication, the call stops and returns a link for you to finish it. By default you confirm each call; you can switch that off for this tool.

Parameters

Parameters: book_activity
NameTypeDescription
activity_id required string Activity ID from search_activities.
package_id required string Package from get_activity.
date required date Participation date.
time_slot string Time from check_availability, if the package has slots.
units required object Quantity per unit type, e.g. { "adult": 2, "child": 1 }.
use_klookcash boolean Apply KlookCash at checkout where Klook allows it. Default: false.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "klook_book_activity",
    "arguments": {
      "activity_id": "41528",
      "package_id": "98731",
      "date": "2026-11-14",
      "time_slot": "08:00",
      "units": {
        "adult": 2
      },
      "use_klookcash": true
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "booking_ref": "KPR834512",
    "status": "confirmed",
    "activity": "Mount Fuji One Day Tour from Tokyo",
    "date": "2026-11-14",
    "time_slot": "08:00",
    "units": {
      "adult": 2
    },
    "subtotal": {
      "amount": 186.4,
      "currency": "USD"
    },
    "klookcash_discount": {
      "amount": 12,
      "currency": "USD"
    },
    "total_paid": {
      "amount": 174.4,
      "currency": "USD"
    }
  },
  "isError": false
}

Amend booking

write Confirm

MCP tool klook_amend_booking

Changes the participation date, the traveler contact info or both. It works only on bookings where Klook offers Amend booking: not with a No cancellation or Conditional cancellation policy, and not for vouchers whose codes do not begin with KLK. Klook then emails a booking change confirmation and an updated voucher. By default you confirm each call; you can switch that off for this tool.

Parameters

Parameters: amend_booking
NameTypeDescription
booking_ref required string Booking Reference ID from list_bookings, e.g. ABC123456.
date date New participation date.
contact object Traveler contact info to change, as the Amend booking form shows it.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "klook_amend_booking",
    "arguments": {
      "booking_ref": "NJT204518",
      "date": "2026-11-22"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "booking_ref": "NJT204518",
    "status": "amended",
    "activity": "Nami Island and Petite France Day Tour from Seoul",
    "old_date": "2026-11-21",
    "date": "2026-11-22"
  },
  "isError": false
}

Cancel booking

write Confirm

MCP tool klook_cancel_booking

Applies for a refund on a booking within the free cancellation period stated on the booking, for all units or for the quantity you set. Klook emails a cancellation confirmation, and the previous voucher can no longer be used. For conditional cancellation Klook asks you to contact Klook Customer Support, and the tool stops and says so; with No cancellation there is no refund. By default you confirm each call; you can switch that off for this tool.

Parameters

Parameters: cancel_booking
NameTypeDescription
booking_ref required string Booking Reference ID from list_bookings, e.g. ABC123456.
quantity integer Units to cancel. Default: all.
reason string Reason for the refund form.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "klook_cancel_booking",
    "arguments": {
      "booking_ref": "BKK771903",
      "quantity": 1,
      "reason": "Change of plans"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "booking_ref": "BKK771903",
    "status": "refund_requested",
    "quantity_cancelled": 2,
    "reason": "Change of plans",
    "refund": {
      "amount": 64,
      "currency": "USD"
    }
  },
  "isError": false
}