MCP tools reference
Little Hotelier MCP tools
15 tools for Little Hotelier on the Cotlet MCP server. Your agent picks them from tools/list.
- MCP server
- https://cotlet.dev/mcp/v1
- Connects with
- Your own Little Hotelier account (a user who can open Front Desk, Channel Manager and Insights for the tools you use)
- Integration page
- Little Hotelier
| Endpoint | Access | Description |
|---|---|---|
| little-hotelier_list_reservations | read | Reservations with status, source, guest, occupants, dates, room, total and outstanding amount. |
| little-hotelier_get_reservation | read | One reservation: stay, room, rate, guests, guest comments, notes, invoice and payments. No card numbers. |
| little-hotelier_list_room_rates | read | Room types, their rooms and room rates, with which rates are derived. |
| little-hotelier_get_inventory | read | The inventory grid for a date range: availability, rates and restrictions per room rate. |
| little-hotelier_get_statistics | read | Statistics report: room nights, occupancy, ADR, RevPAR, length of stay, lead time and cancellations. |
| little-hotelier_get_booking_performance | read | Revenue, reservations, room nights, ADR and cancellations, broken down by channel. |
| little-hotelier_export_report | read | A Front Desk report for up to 365 days as rows, the same data as its CSV export. |
| little-hotelier_list_conversations | read | Messaging hub conversations with the linked reservation, channel and last message. |
| little-hotelier_create_reservation | write | New Front Desk reservation. No card details. |
| little-hotelier_update_reservation_status | write | Check a guest in or out, or set a reservation back to Confirmed. |
| little-hotelier_cancel_reservation | write | Cancel a Confirmed Front Desk reservation. Permanent; OTA bookings must be cancelled on the channel. |
| little-hotelier_update_rates | write | Set the base rate of room rates over a date range, like Bulk Update. Goes live on your channels. |
| little-hotelier_update_restrictions | write | Set min or max stay, closed to arrival or departure, or close channels or your website. |
| little-hotelier_create_room_closure | write | Close rooms for a date range; availability sent to channels and the booking engine drops. |
| little-hotelier_reply_to_guest | write | Send a reply in a Messaging hub conversation. WhatsApp free-form only within 24 hours of the guest message. |
List reservations
readMCP tool little-hotelier_list_reservations
Searches reservations like the Reservations screen. Date type can be check-in, check-out or booked on, and status can be confirmed, checked in, checked out or cancelled. Each row has status, guest name, reference, source, occupants, dates, room, total and outstanding amount. Reservations without an assigned room show no room. Pass next_cursor back as cursor for the next page.
Parameters
| Name | Type | Description |
|---|---|---|
| date_type | enum | check_in, check_out or booked. Default: check_in. |
| from | date | Start of the date range. |
| to | date | End of the date range. |
| status | enum | all, confirmed, checked_in, checked_out or cancelled. Default: all. |
| guest_last_name | string | Guest last name. |
| reservation_id | string | Find one reservation by its booking reference. |
| limit | integer | 1 to 200. Default: 50. |
| cursor | string | Next page cursor. |
tools/call
JSON-RPC
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "little-hotelier_list_reservations",
"arguments": {
"date_type": "check_in",
"from": "2026-10-12",
"to": "2026-10-13",
"status": "confirmed"
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"reservations": [
{
"reservation_id": "LH48213",
"status": "confirmed",
"guest": "Marta Kowal",
"source": "Booking.com",
"occupants": "2 adults",
"check_in": "2026-10-12",
"check_out": "2026-10-14",
"booked": "2026-09-02",
"room": "Double 3",
"total": "240.00",
"outstanding": "240.00",
"currency": "EUR"
},
{
"reservation_id": "LH48230",
"status": "confirmed",
"guest": "Liam Byrne",
"source": "Direct Booking",
"occupants": "1 adult",
"check_in": "2026-10-12",
"check_out": "2026-10-13",
"booked": "2026-10-05",
"room": null,
"total": "95.00",
"outstanding": "0.00",
"currency": "EUR"
}
],
"next_cursor": null
},
"isError": false
} Get reservation
readMCP tool little-hotelier_get_reservation
Returns one reservation with stay dates, room and rate, occupants, guest comments, internal notes, invoice lines and recorded payments. Card numbers are never returned. Use it after list_reservations when you need the detail behind one outstanding amount.
Parameters
| Name | Type | Description |
|---|---|---|
| reservation_id required | string | Reservation ID from list_reservations, e.g. LH12345. |
tools/call
JSON-RPC
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "little-hotelier_get_reservation",
"arguments": {
"reservation_id": "reservation_8c41d2"
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"reservation_id": "LH48213",
"status": "confirmed",
"source": "Booking.com",
"guest": {
"name": "Marta Kowal",
"email": "marta@example.com",
"arrival_time": "18:00"
},
"stay": {
"check_in": "2026-10-12",
"check_out": "2026-10-14",
"nights": 2,
"adults": 2,
"children": 0
},
"room": "Double 3",
"room_rate": "Double Room, Standard Rate",
"guest_comments": "Late arrival, around 18:00.",
"notes": [],
"invoice": {
"lines": [
{
"description": "Double Room, 2 nights",
"amount": "240.00"
}
],
"total": "240.00",
"paid": "0.00",
"outstanding": "240.00",
"currency": "EUR"
},
"payments": []
},
"isError": false
} List room rates
readMCP tool little-hotelier_list_room_rates
Returns your room types with their rooms and room rates. Each rate says whether it is derived from another rate, because derived rates cannot be edited directly. Use the IDs it returns in get_inventory, update_rates, update_restrictions and create_room_closure.
Parameters
No parameters.
tools/call
JSON-RPC
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "little-hotelier_list_room_rates",
"arguments": {}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"room_types": [
{
"room_type": "Double Room",
"rooms": [
{
"room_id": "rm_3",
"name": "Double 3"
},
{
"room_id": "rm_4",
"name": "Double 4"
}
],
"room_rates": [
{
"room_rate_id": "rr_20417",
"name": "Standard Rate",
"derived_from": null
},
{
"room_rate_id": "rr_20418",
"name": "Non-refundable",
"derived_from": "rr_20417"
}
]
}
]
},
"isError": false
} Get inventory
readMCP tool little-hotelier_get_inventory
Returns the inventory grid for a date range: availability, rate, min and max stay, CTA, CTD and whether channels are closed, one row per room rate and date. Availability is calculated by Little Hotelier from your rooms, bookings and closures. Read it before update_rates to see what will change.
Parameters
| Name | Type | Description |
|---|---|---|
| from required | date | First date of the range. |
| to required | date | Last date of the range, inclusive. |
| room_rate_ids | string[] | Only these room rates. Default: all. |
tools/call
JSON-RPC
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "little-hotelier_get_inventory",
"arguments": {
"from": "2026-10-01",
"to": "2026-10-01"
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"room_rates": [
{
"room_rate_id": "rr_20417",
"name": "Double Room, Standard Rate",
"days": [
{
"date": "2026-12-04",
"available": 2,
"rate": "120.00",
"min_stay": 1,
"max_stay": null,
"cta": false,
"ctd": false,
"channels_closed": false
},
{
"date": "2026-12-05",
"available": 1,
"rate": "120.00",
"min_stay": 1,
"max_stay": null,
"cta": false,
"ctd": false,
"channels_closed": false
}
]
}
],
"currency": "EUR"
},
"isError": false
} Get statistics
readMCP tool little-hotelier_get_statistics
Runs the Front Desk Statistics report for a date range. It returns total, closed, occupied and unoccupied room nights, occupancy, length of stay, lead time, average revenue per booking, ADR, RevPAR and the value of cancelled reservations. Occupancy, RevPAR and the room night counts exist only when searching by stay date. Closed room nights are taken out of the occupancy base.
Parameters
| Name | Type | Description |
|---|---|---|
| from required | date | First date of the range. |
| to required | date | Last date of the range, inclusive. |
| search_by | enum | stay_date or booked_on. Default: stay_date. |
| include_tax | boolean | Include tax from taxable service charges in revenue. Default: false. |
tools/call
JSON-RPC
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "little-hotelier_get_statistics",
"arguments": {
"from": "2026-10-01",
"to": "2026-10-01"
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"from": "2026-09-01",
"to": "2026-09-30",
"search_by": "stay_date",
"include_tax": false,
"currency": "EUR",
"total_room_nights": 240,
"closed_room_nights": 7,
"occupied_room_nights": 160,
"unoccupied_room_nights": 73,
"occupancy_pct": 68.7,
"length_of_stay": 2.5,
"lead_time_days": 21,
"average_revenue_per_booking": "275.00",
"adr": "110.00",
"revpar": "75.54",
"cancelled_value": "420.00"
},
"isError": false
} MCP tool little-hotelier_get_booking_performance
Reads the Insights Booking performance report. It returns reservations after cancellations, room nights, ADR, average length of stay, lead time and cancelled reservations, with room revenue and room nights per channel, including your booking engine. Some channels record no revenue on a reservation: those count toward room nights but not ADR. Multi-currency bookings are converted to your default currency.
Parameters
| Name | Type | Description |
|---|---|---|
| from required | date | First date of the range. |
| to required | date | Last date of the range, inclusive. |
| date_basis | enum | booked_on or stay_date. Default: booked_on. |
tools/call
JSON-RPC
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "little-hotelier_get_booking_performance",
"arguments": {
"from": "2026-10-01",
"to": "2026-10-01"
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"from": "2026-09-01",
"to": "2026-09-30",
"date_basis": "booked_on",
"currency": "EUR",
"reservations": 64,
"room_nights": 160,
"adr": "110.00",
"avg_length_of_stay": 2.5,
"avg_lead_time_days": 21,
"cancelled_reservations": 3,
"channels": [
{
"channel": "Booking.com",
"reservations": 32,
"room_nights": 80,
"room_revenue": "8800.00"
},
{
"channel": "Direct Booking",
"reservations": 19,
"room_nights": 48,
"room_revenue": "5280.00"
},
{
"channel": "Airbnb",
"reservations": 13,
"room_nights": 32,
"room_revenue": "3520.00"
}
]
},
"isError": false
} Export report
readMCP tool little-hotelier_export_report
Returns a Front Desk report as rows, the same data as the report's CSV export. A single report cannot span more than 365 days. Use get_statistics for the Statistics report.
Parameters
| Name | Type | Description |
|---|---|---|
| report required | enum | check_in, payments, extras, housekeeping, daily_transactions or guests. |
| from required | date | First date of the range. |
| to required | date | Last date of the range, inclusive. |
tools/call
JSON-RPC
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "little-hotelier_export_report",
"arguments": {
"report": "check_in",
"from": "2026-10-01",
"to": "2026-10-01"
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"report": "daily_transactions",
"from": "2026-10-01",
"to": "2026-10-07",
"currency": "EUR",
"rows": [
{
"date": "2026-10-05",
"reservation_id": "LH48230",
"description": "Deposit",
"amount": "30.00"
},
{
"date": "2026-10-06",
"reservation_id": "LH48199",
"description": "Breakfast extra",
"amount": "18.00"
}
]
},
"isError": false
} List conversations
readMCP tool little-hotelier_list_conversations
Lists Messaging hub conversations, with the guest, the linked reservation, the channel and the last message. WhatsApp, Airbnb and Booking.com conversations are listed. Each row says whether a free-form reply is possible now: WhatsApp allows it within 24 hours of the guest's last message.
Parameters
| Name | Type | Description |
|---|---|---|
| channel | enum | whatsapp, airbnb or booking_com. Default: all. |
| limit | integer | 1 to 100. Default: 20. |
tools/call
JSON-RPC
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "little-hotelier_list_conversations",
"arguments": {}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"conversations": [
{
"conversation_id": "cv_5521",
"channel": "whatsapp",
"guest": "Marta Kowal",
"reservation_id": "LH48213",
"last_message": "Can we check in late, around 21:30?",
"last_message_at": "2026-10-11T08:12:00Z",
"free_form_reply_open": true
}
]
},
"isError": false
} MCP tool little-hotelier_create_reservation
Creates a Front Desk reservation with a booking reference starting with LH. It holds the room and updates availability on your connected channels. Without room_id the booking is unallocated but still reduces availability. Little Hotelier does not email a confirmation for manual reservations, and neither does this tool. Card details are not accepted. By default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| check_in required | date | Arrival date. |
| check_out required | date | Departure date. |
| room_rate_id required | string | Room rate ID from list_room_rates. |
| guest required | object | first_name, last_name, and optional email, phone, arrival_time. |
| adults required | integer | Number of adults. |
| children | integer | Number of children. Default: 0. |
| room_id | string | Assign a specific room. Default: unallocated. |
| guest_comments | string | Guest requests, shown on the confirmation email. |
tools/call
JSON-RPC
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "little-hotelier_create_reservation",
"arguments": {
"check_in": "2026-10-01",
"check_out": "2026-10-01",
"room_rate_id": "room_rate_8c41d2",
"guest": "guest",
"adults": 1
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"reservation_id": "LH48311",
"status": "confirmed",
"room": null,
"check_in": "2026-11-20",
"check_out": "2026-11-22",
"total": "240.00",
"currency": "EUR"
},
"isError": false
} MCP tool little-hotelier_update_reservation_status
Sets a reservation to confirmed, checked_in or checked_out, like the status drop-down on the reservation. Checking out marks the room as needing cleaning and bookable again. It reaches no guest and one more call sets the status back, so it runs without asking first. Each reservation is changed on its own.
Parameters
| Name | Type | Description |
|---|---|---|
| reservation_id required | string | Reservation ID from list_reservations, e.g. LH12345. |
| status required | enum | confirmed, checked_in or checked_out. |
tools/call
JSON-RPC
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "little-hotelier_update_reservation_status",
"arguments": {
"reservation_id": "reservation_8c41d2",
"status": "confirmed"
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"reservation_id": "LH48213",
"status": "checked_in"
},
"isError": false
} MCP tool little-hotelier_cancel_reservation
Cancels one Confirmed reservation created in Front Desk. Channel (OTA) reservations are cancelled by the guest on the channel, and Direct Booking reservations under Direct Booking, so the call fails for them. Checked-in and checked-out reservations need their status changed first. A cancellation is permanent. The room becomes available and cancelled reservations stay in the Reservations list. Check your cancellation policy for penalties first. By default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| reservation_id required | string | Reservation ID from list_reservations, e.g. LH12345. |
tools/call
JSON-RPC
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "little-hotelier_cancel_reservation",
"arguments": {
"reservation_id": "reservation_8c41d2"
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"reservation_id": "LH48311",
"status": "cancelled"
},
"isError": false
} MCP tool little-hotelier_update_rates
Sets the base rate of one or more room rates over a date range, optionally on chosen weekdays, like Bulk Update in the inventory grid. Derived rates cannot be edited and come back in skipped. A rate below the property minimum does not save. Channels receive the change within their update period. By default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| room_rate_ids required | string[] | Room rate IDs from list_room_rates. |
| from required | date | First date of the range. |
| to required | date | Last date of the range, inclusive. |
| rate required | string | New nightly rate, as a decimal in the property currency. |
| days_of_week | string[] | Only these weekdays (mon to sun). Default: all days. |
tools/call
JSON-RPC
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "little-hotelier_update_rates",
"arguments": {
"room_rate_ids": [
"rr_20417"
],
"from": "2026-12-01",
"to": "2026-12-31",
"rate": "140.00",
"days_of_week": [
"fri",
"sat"
]
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"status": "updated",
"room_rates": 1,
"dates": 8,
"rate": "140.00",
"currency": "EUR",
"skipped": []
},
"isError": false
} MCP tool little-hotelier_update_restrictions
Sets min_stay, max_stay, cta, ctd, close_channels and close_website for room rates over a date range, like Bulk Update. close_channels stops sales on all connected channels and your booking engine but leaves room availability unchanged. A channel that does not support a restriction ignores it. By default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| room_rate_ids required | string[] | Room rate IDs from list_room_rates. |
| from required | date | First date of the range. |
| to required | date | Last date of the range, inclusive. |
| restrictions required | object | Any of min_stay, max_stay (integer), cta, ctd, close_channels, close_website (boolean). |
| days_of_week | string[] | Only these weekdays (mon to sun). Default: all days. |
tools/call
JSON-RPC
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "little-hotelier_update_restrictions",
"arguments": {
"room_rate_ids": [
"rr_20417"
],
"from": "2026-12-30",
"to": "2026-12-31",
"restrictions": {
"min_stay": 2
}
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"status": "updated",
"room_rates": 1,
"dates": 4,
"restrictions": {
"min_stay": 2
},
"skipped": []
},
"isError": false
} MCP tool little-hotelier_create_room_closure
Closes rooms or whole room types for a date range, like Room Closure on the Front Desk Calendar. The end date is included. Availability sent to channels and your booking engine drops, and the room shows in red on the Calendar. A closure is not a stop sell. It does not move guests who already booked those dates. By default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| room_ids required | string[] | Room IDs from list_room_rates. |
| from required | date | First date of the range. |
| to required | date | Last date of the range, inclusive. |
| description | string | Reason, e.g. renovation. |
tools/call
JSON-RPC
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "little-hotelier_create_room_closure",
"arguments": {
"room_ids": [
"room ids"
],
"from": "2026-10-01",
"to": "2026-10-01"
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"closure_id": "cl_7731",
"status": "closed",
"room_ids": [
"rm_4"
],
"from": "2026-10-12",
"to": "2026-10-18",
"nights": 7,
"description": "Leak repair"
},
"isError": false
} MCP tool little-hotelier_reply_to_guest
Sends a reply in a WhatsApp or Airbnb conversation in the Messaging hub, under your property. WhatsApp free-form replies work within 24 hours of the guest's last message; later, Little Hotelier requires a template. Airbnb free-form replies work only after a scheduled message went out and the guest replied. By default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| conversation_id required | string | Conversation ID from list_conversations. |
| body required | string | Message text. |
tools/call
JSON-RPC
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "little-hotelier_reply_to_guest",
"arguments": {
"conversation_id": "cv_5521",
"body": "Yes, late check-in at 21:30 is fine. Reception is open until 22:00."
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"conversation_id": "cv_5521",
"message_id": "msg_90417",
"status": "sent",
"channel": "whatsapp"
},
"isError": false
}