MCP tools reference

Kiwi.com MCP tools

13 tools for Kiwi.com on the Cotlet MCP server. Your agent picks them from tools/list.

MCP server
https://cotlet.dev/mcp/v1
Connects with
Your own Kiwi.com account (the one that holds your bookings)
Integration page
Kiwi.com
Kiwi.com Endpoints
Endpoint Access Description
kiwi-com_search_flights read Flights between two places for set dates, with price, duration and a booking link.
kiwi-com_list_trips read Trips on your account with booking number, route, dates and whether travel documents are missing.
kiwi-com_get_trip read One trip: flights, passengers, bags, seats, check-in status and which travel documents are still needed.
kiwi-com_get_boarding_passes read Boarding passes Kiwi.com received after checking you in, as download links.
kiwi-com_get_baggage_options read Bags you can still add to a trip, with the price of each.
kiwi-com_get_seat_map read Seats you can pick on one flight of a trip, where the airline offers seat selection.
kiwi-com_get_cancellation_options read What you get back if you cancel this trip now, under its ticket type.
kiwi-com_get_invoice read Invoice of a booking as a PDF download link.
kiwi-com_get_credit_balance read Your Kiwi.com Credit balance and its expiration date.
kiwi-com_add_travel_documents write Add the passport or ID details Kiwi.com needs to check a passenger in.
kiwi-com_add_baggage write Buy a bag from get_baggage_options for the price shown there.
kiwi-com_select_seat write Pick a seat for a passenger on one flight, where the airline offers it.
kiwi-com_cancel_trip write Cancel a trip and request the refund you picked from get_cancellation_options.

MCP tool kiwi-com_search_flights

Searches Kiwi.com flights for one-way or round trips and returns the flights Kiwi.com finds, each with a link to book on Kiwi.com. Date flexibility goes up to 3 days either side. It does not need your trips, so it works before you book anything.

Parameters

Parameters: search_flights
NameTypeDescription
from required string City or airport, name or IATA code.
to required string City or airport, name or IATA code.
departure_date required date Outbound date.
return_date date Leave out for one-way.
flex_days integer Search this many days either side, 0 to 3. Default: 0.
adults integer Default: 1.
cabin_class enum economy, premium_economy, business or first. Default: economy.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "kiwi-com_search_flights",
    "arguments": {
      "from": "from",
      "to": "to",
      "departure_date": "2026-10-01"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "flights": [
      {
        "price": {
          "amount": 128,
          "currency": "EUR"
        },
        "route": "PRG-LIS",
        "departs": "2026-11-12T06:40:00+01:00",
        "arrives": "2026-11-12T09:10:00+00:00",
        "duration": "4h 30m",
        "stops": 0,
        "booking_url": "https://www.kiwi.com/en/booking?token=example1"
      },
      {
        "price": {
          "amount": 112,
          "currency": "EUR"
        },
        "route": "PRG-LIS",
        "departs": "2026-11-13T13:55:00+01:00",
        "arrives": "2026-11-13T18:20:00+00:00",
        "duration": "5h 25m",
        "stops": 1,
        "booking_url": "https://www.kiwi.com/en/booking?token=example2"
      }
    ]
  },
  "isError": false
}

List trips

read

MCP tool kiwi-com_list_trips

Returns the trips on your account. Each trip shows the booking number, route, departure, passenger count and documents_missing. Use trip_id in every other trip tool.

Parameters

Parameters: list_trips
NameTypeDescription
when enum upcoming, past or all. Default: upcoming.

tools/call

JSON-RPC

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

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "trips": [
      {
        "trip_id": "512834907",
        "route": "PRG-BCN-PRG",
        "departs": "2026-11-14T07:20:00+01:00",
        "passengers": 1,
        "documents_missing": true
      },
      {
        "trip_id": "734120655",
        "route": "PRG-BER",
        "departs": "2026-12-02T09:05:00+01:00",
        "passengers": 2,
        "documents_missing": false
      }
    ]
  },
  "isError": false
}

Get trip

read

MCP tool kiwi-com_get_trip

Returns the full trip as shown on its booking page: each flight with its flight_id, each passenger with passenger_id, bags and seats already booked, check-in status, and the travel documents Kiwi.com still needs per passenger. Use the IDs in the write tools.

Parameters

Parameters: get_trip
NameTypeDescription
trip_id required string Booking number from list_trips.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "kiwi-com_get_trip",
    "arguments": {
      "trip_id": "trip_8c41d2"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "trip_id": "512834907",
    "status": "confirmed",
    "flights": [
      {
        "flight_id": "f1",
        "route": "PRG-BCN",
        "departs": "2026-11-14T07:20:00+01:00",
        "carrier": "Example Air"
      },
      {
        "flight_id": "f2",
        "route": "BCN-PRG",
        "departs": "2026-11-17T18:45:00+01:00",
        "carrier": "Example Air"
      }
    ],
    "passengers": [
      {
        "passenger_id": "p1",
        "name": "Ana Lopez",
        "bags": [
          "Cabin bag"
        ],
        "seats": {},
        "documents_needed": [
          "document number",
          "expiry date"
        ]
      }
    ],
    "check_in": "waiting for the airline to open"
  },
  "isError": false
}

MCP tool kiwi-com_get_boarding_passes

Returns one download link per passenger and flight once Kiwi.com has checked you in. Before that the list is empty and check_in says what is pending. If you checked in with the airline yourself, the airline sent the pass and Kiwi.com has none.

Parameters

Parameters: get_boarding_passes
NameTypeDescription
trip_id required string Booking number from list_trips.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "kiwi-com_get_boarding_passes",
    "arguments": {
      "trip_id": "trip_8c41d2"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "trip_id": "512834907",
    "passes": [
      {
        "passenger_id": "p1",
        "flight_id": "f1",
        "url": "https://cotlet.dev/api/v1/files/example/boarding-pass-f1.pdf"
      },
      {
        "passenger_id": "p1",
        "flight_id": "f2",
        "url": "https://cotlet.dev/api/v1/files/example/boarding-pass-f2.pdf"
      }
    ]
  },
  "isError": false
}

MCP tool kiwi-com_get_baggage_options

Returns the bag options Kiwi.com offers for the itinerary, each with its price and the passenger it is for. Options are sold for the whole itinerary. The list is empty when Kiwi.com no longer sells bags for the trip, which is the case from 36 hours before departure, and for self-transfer itineraries with short layovers.

Parameters

Parameters: get_baggage_options
NameTypeDescription
trip_id required string Booking number from list_trips.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "kiwi-com_get_baggage_options",
    "arguments": {
      "trip_id": "trip_8c41d2"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "trip_id": "512834907",
    "options": [
      {
        "bag_option_id": "bo_chk20_p1",
        "passenger_id": "p1",
        "description": "Checked bag, 20 kg",
        "price": {
          "amount": 64,
          "currency": "EUR"
        }
      },
      {
        "bag_option_id": "bo_cab_p1",
        "passenger_id": "p1",
        "description": "Cabin bag, 10 kg",
        "price": {
          "amount": 38,
          "currency": "EUR"
        }
      }
    ]
  },
  "isError": false
}

MCP tool kiwi-com_get_seat_map

Returns the seat map Kiwi.com shows for one flight, with each free seat and its price if there is one. Seat selection is open up to 48 hours before departure. If the airline does not offer it, the list is empty and the airline assigns your seat at check-in at no extra cost.

Parameters

Parameters: get_seat_map
NameTypeDescription
trip_id required string Booking number from list_trips.
flight_id required string Flight ID from get_trip.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "kiwi-com_get_seat_map",
    "arguments": {
      "trip_id": "trip_8c41d2",
      "flight_id": "flight_8c41d2"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "trip_id": "512834907",
    "flight_id": "f1",
    "seats": [
      {
        "seat": "14C",
        "price": {
          "amount": 9,
          "currency": "EUR"
        }
      },
      {
        "seat": "14D",
        "price": {
          "amount": 9,
          "currency": "EUR"
        }
      }
    ]
  },
  "isError": false
}

MCP tool kiwi-com_get_cancellation_options

Returns the refund options Kiwi.com offers for this trip, each with a refund_option_id, where the money goes and the amount. Requests follow the rules of each airline and the ticket type: Saver and Standard tickets allow cancelling single flights, Flexi only the whole booking. The call changes nothing.

Parameters

Parameters: get_cancellation_options
NameTypeDescription
trip_id required string Booking number from list_trips.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "kiwi-com_get_cancellation_options",
    "arguments": {
      "trip_id": "trip_8c41d2"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "trip_id": "734120655",
    "ticket_type": "Standard",
    "options": [
      {
        "refund_option_id": "rf_credit",
        "refund_as": "Kiwi.com Credit",
        "amount": 112.5,
        "currency": "EUR"
      },
      {
        "refund_option_id": "rf_original",
        "refund_as": "Original payment",
        "amount": 98,
        "currency": "EUR"
      }
    ]
  },
  "isError": false
}

MCP tool kiwi-com_get_invoice

Returns the invoice Kiwi.com shows at the bottom of the booking page, as a PDF link. Billing details on it cannot be changed after booking, as Kiwi.com reports them to local tax authorities.

Parameters

Parameters: get_invoice
NameTypeDescription
trip_id required string Booking number from list_trips.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "kiwi-com_get_invoice",
    "arguments": {
      "trip_id": "trip_8c41d2"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "trip_id": "512834907",
    "invoice_url": "https://cotlet.dev/api/v1/files/example/invoice-512834907.pdf",
    "issued_on": "2026-09-02"
  },
  "isError": false
}

MCP tool kiwi-com_get_credit_balance

Returns the Kiwi.com Credit shown in your account, with the expiration date of each part. Credit is what Kiwi.com often issues when it refunds a cancellation.

Parameters

No parameters.

tools/call

JSON-RPC

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

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "balance": {
      "amount": 112.5,
      "currency": "EUR"
    },
    "parts": [
      {
        "amount": 112.5,
        "currency": "EUR",
        "expires_on": "2028-09-18"
      }
    ]
  },
  "isError": false
}

Add travel documents

write Confirm

MCP tool kiwi-com_add_travel_documents

Saves the travel document details for one passenger, which Kiwi.com passes to the airline for check-in. It accepts them up to 24 hours before departure; later you check in with the airline. Send the fields get_trip lists under documents_needed. By default you confirm each call; you can switch that off for this tool.

Parameters

Parameters: add_travel_documents
NameTypeDescription
trip_id required string Booking number from list_trips.
passenger_id required string Passenger ID from get_trip.
details required object The fields listed in documents_needed by get_trip, e.g. document_number and expiry_date.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "kiwi-com_add_travel_documents",
    "arguments": {
      "trip_id": "512834907",
      "passenger_id": "p1",
      "details": {
        "document_number": "XK1234567",
        "expiry_date": "2031-04-18"
      }
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "trip_id": "512834907",
    "passenger_id": "p1",
    "status": "saved",
    "check_in": "waiting for the airline to open"
  },
  "isError": false
}

Add baggage

write Confirm

MCP tool kiwi-com_add_baggage

Adds one bag option to the booking and charges the price from get_baggage_options. The bag cannot be removed or moved to another passenger afterwards, and Kiwi.com may add a processing fee depending on your service package. By default you confirm each call; you can switch that off for this tool.

Parameters

Parameters: add_baggage
NameTypeDescription
trip_id required string Booking number from list_trips.
bag_option_id required string Option ID from get_baggage_options.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "kiwi-com_add_baggage",
    "arguments": {
      "trip_id": "512834907",
      "bag_option_id": "bo_chk20_p1"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "trip_id": "512834907",
    "status": "added",
    "bag": {
      "bag_option_id": "bo_chk20_p1",
      "description": "Checked bag, 20 kg",
      "passenger_id": "p1"
    },
    "price": {
      "amount": 64,
      "currency": "EUR"
    }
  },
  "isError": false
}

Select seat

write Confirm

MCP tool kiwi-com_select_seat

Reserves one seat from get_seat_map for one passenger on one flight, up to 48 hours before departure. The seat then shows on the e-ticket and in the trip. A seat with a price charges your payment method. By default you confirm each call; you can switch that off for this tool.

Parameters

Parameters: select_seat
NameTypeDescription
trip_id required string Booking number from list_trips.
flight_id required string Flight ID from get_trip.
passenger_id required string Passenger ID from get_trip.
seat required string Seat from get_seat_map, e.g. 14C.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "kiwi-com_select_seat",
    "arguments": {
      "trip_id": "trip_8c41d2",
      "flight_id": "flight_8c41d2",
      "passenger_id": "passenger_8c41d2",
      "seat": "seat"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "trip_id": "512834907",
    "flight_id": "f1",
    "passenger_id": "p1",
    "seat": "14C",
    "status": "reserved",
    "price": {
      "amount": 9,
      "currency": "EUR"
    }
  },
  "isError": false
}

Cancel trip

write Confirm

MCP tool kiwi-com_cancel_trip

Sends the cancellation request to Kiwi.com, which handles it under the airline rules for your ticket type. Pass refund_option_id from get_cancellation_options. On Saver and Standard tickets you can name single flights in flight_ids; on Flexi tickets the whole booking is cancelled. By default you confirm each call; you can switch that off for this tool.

Parameters

Parameters: cancel_trip
NameTypeDescription
trip_id required string Booking number from list_trips.
refund_option_id required string Option ID from get_cancellation_options.
flight_ids string[] Cancel only these flights (Saver and Standard tickets). Default: whole trip.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "kiwi-com_cancel_trip",
    "arguments": {
      "trip_id": "734120655",
      "refund_option_id": "rf_credit"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "trip_id": "734120655",
    "status": "cancellation requested",
    "refund": {
      "refund_option_id": "rf_credit",
      "refund_as": "Kiwi.com Credit",
      "amount": 112.5,
      "currency": "EUR"
    }
  },
  "isError": false
}