Smoobu MCP by usefulapi
by usefulapi.io · remote · no sign-in to list tools · v1.16.3 · published by io.usefulapi
Check vacation-rental reservations, rates, availability and guest messages, and update bookings.
20 tools: 5 can delete or cancel things, 1 change things and 14 only read.
Scanned Oct 21, 2026
- Deletes or cancels5Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things1Claude Code: ask: see these tools
- Only reads14Claude Code: allow: see these tools
1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http smoobu https://smoobu.usefulapi.io/mcpFindings
Matches of fixed checks, with the text they matched.
- Infosmoobu_get_user
The description mentions "credentials".
What this check looks forMatched text
description: "Fetch the Smoobu user these credentials belong to (id, name, email). A cheap wa..."
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
20 tools
Deletes or cancels 5Claude Code: deny
smoobu_create_reservationCreate a reservation (or a blocked period) on a property.No findings
Why it is in this group
- The name "smoobu_create_reservation" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Create a reservation (or a blocked period) on a property. Smoobu treats it like a booking from a channel and SYNCS the blocked dates to every connected channel (Airbnb, Booking.com, ...). Fails if the dates overlap an existing booking. This server offers no cancel — cancel it in Smoobu if needed. Which guest fields are mandatory depends on your booking-tool 'Form Content' settings. Smoobu: POST /api/reservations.
Annotations the server declares
- title: Create a reservation
- destructiveHint: true
smoobu_send_message_to_guestSend a message to the guest of a reservation through Smoobu (it goes out on the booking's channel, e.g.No findings
Why it is in this group
- The name "smoobu_send_message_to_guest" says "send": a word for sending, and what is sent cannot be taken back.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Send a message to the guest of a reservation through Smoobu (it goes out on the booking's channel, e.g. the Airbnb or Booking.com inbox, or email). Delivered IMMEDIATELY and cannot be unsent — confirm the text with the user first. Smoobu: POST /api/reservations/{reservationId}/messages/send-message-to-guest.
Annotations the server declares
- title: Send a message to a guest
- destructiveHint: true
smoobu_send_message_to_hostPost a message on a reservation's thread addressed to the Smoobu user (the host).No findings
Why it is in this group
- The name "smoobu_send_message_to_host" says "send": a word for sending, and what is sent cannot be taken back.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Post a message on a reservation's thread addressed to the Smoobu user (the host). With internal=true it is an internal note hidden from the guest — handy for logging. Cannot be unsent. Smoobu: POST /api/reservations/{reservationId}/messages/send-message-to-host.
Annotations the server declares
- title: Post a message to the host
- destructiveHint: true
smoobu_set_ratesSet the nightly price and/or minimum length of stay for dates on one or more properties.No findings
Why it is in this group
- The name "smoobu_set_rates" says "set": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Set the nightly price and/or minimum length of stay for dates on one or more properties. Smoobu PUSHES these to every channel with price sync enabled, so this changes live prices guests see. Reversible by setting the old values again — read them first with smoobu_get_rates. Each operation needs daily_price, min_length_of_stay, or both (a minimum stay alone needs an existing price). Smoobu: POST /api/rates.
Annotations the server declares
- title: Set rates and minimum stays
- destructiveHint: true
smoobu_update_reservationUpdate an existing reservation's times, guest contact, notes, guest counts, language, or price / prepayment / deposit amounts and paid status.No findings
Why it is in this group
- The name "smoobu_update_reservation" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Update an existing reservation's times, guest contact, notes, guest counts, language, or price / prepayment / deposit amounts and paid status. Only the fields you pass are sent. Dates and property cannot be changed here. Smoobu: PUT /api/reservations/{reservationId}.
Annotations the server declares
- title: Update a reservation
- destructiveHint: true
Changes things 1Claude Code: ask
smoobu_check_availabilityCheck which properties can be booked for an arrival/departure pair and get the total price for each; unavailable ones come back with the reason (minimum stay, too many guests, arri…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Check which properties can be booked for an arrival/departure pair and get the total price for each; unavailable ones come back with the reason (minimum stay, too many guests, arrival day, lead time...). Read-only, books nothing. Smoobu: POST /booking/checkApartmentAvailability.
Annotations the server declares
- title: Check availability and quote a stay
- readOnlyHint: true
Only reads 14Claude Code: allow
smoobu_get_apartmentFetch one property's details: location, time zone, rooms and beds, max occupancy, amenities, currency, min/max nightly price and type.No findings
Why it is in this group
- The name "smoobu_get_apartment" says "get": a word for reading.
Description, as the server wrote it Fetch one property's details: location, time zone, rooms and beds, max occupancy, amenities, currency, min/max nightly price and type. Smoobu: GET /api/apartments/{apartmentId}.
Annotations the server declares
- title: Get one property
- readOnlyHint: true
smoobu_get_guestFetch one guest by id (the guestId on a reservation) with contact details, notes and every booking they have made.No findings
Why it is in this group
- The name "smoobu_get_guest" says "get": a word for reading.
Description, as the server wrote it Fetch one guest by id (the guestId on a reservation) with contact details, notes and every booking they have made. Smoobu: GET /api/guests/{guestId}.
Annotations the server declares
- title: Get one guest
- readOnlyHint: true
smoobu_get_ratesGet the nightly price, minimum length of stay and availability (0 = not available) for each date in a range, for one or more properties.No findings
Why it is in this group
- The name "smoobu_get_rates" says "get": a word for reading.
Description, as the server wrote it Get the nightly price, minimum length of stay and availability (0 = not available) for each date in a range, for one or more properties. Smoobu: GET /api/rates.
Annotations the server declares
- title: Get rates and availability
- readOnlyHint: true
smoobu_get_reservationFetch one reservation by id: guest, dates, check-in/out times, channel and its reference id, price, prepayment and deposit status, and the guest-app URL.No findings
Why it is in this group
- The name "smoobu_get_reservation" says "get": a word for reading.
Description, as the server wrote it Fetch one reservation by id: guest, dates, check-in/out times, channel and its reference id, price, prepayment and deposit status, and the guest-app URL. Smoobu: GET /api/reservations/{reservationId}.
Annotations the server declares
- title: Get one reservation
- readOnlyHint: true
smoobu_get_reservation_placeholdersGet every placeholder value Smoobu would substitute into a message for this reservation: guest name, dates and times, nights, price and balance, online check-in link, guest-app lin…No findings
Why it is in this group
- The name "smoobu_get_reservation_placeholders" says "get": a word for reading.
Description, as the server wrote it Get every placeholder value Smoobu would substitute into a message for this reservation: guest name, dates and times, nights, price and balance, online check-in link, guest-app link, door PIN codes and more. Useful for drafting a guest message. Smoobu: GET /api/reservations/{reservationId}/placeholders.
Annotations the server declares
- title: Get a reservation's message placeholders
- readOnlyHint: true
smoobu_get_userFetch the Smoobu user these credentials belong to (id, name, email).1 finding
Why it is in this group
- The name "smoobu_get_user" says "get": a word for reading.
Findings
- Info
The description mentions "credentials".
What this check looks forMatched text
description: "Fetch the Smoobu user these credentials belong to (id, name, email). A cheap wa..."
Description, as the server wrote it Fetch the Smoobu user these credentials belong to (id, name, email). A cheap way to confirm the setup works; the id is the customerId used by availability checks. Smoobu: GET /api/me.
Annotations the server declares
- title: Get the current user
- readOnlyHint: true
smoobu_list_addonsList the bookable add-ons (towels, breakfast, late check-out...) with amount, tax, calculation type (0 per booking, 1 per person, 2 per night, 3 per person and night) and the prope…No findings
Why it is in this group
- The name "smoobu_list_addons" says "list": a word for reading.
Description, as the server wrote it List the bookable add-ons (towels, breakfast, late check-out...) with amount, tax, calculation type (0 per booking, 1 per person, 2 per night, 3 per person and night) and the properties they apply to; optionally for one property. Smoobu: GET /api/addons[/{apartmentId}].
Annotations the server declares
- title: List add-ons
- readOnlyHint: true
smoobu_list_apartmentsList every property (Smoobu calls them apartments) in the account, with id and name.No findings
Why it is in this group
- The name "smoobu_list_apartments" says "list": a word for reading.
Description, as the server wrote it List every property (Smoobu calls them apartments) in the account, with id and name. Start here to get apartment ids. Smoobu: GET /api/apartments.
Annotations the server declares
- title: List properties
- readOnlyHint: true
smoobu_list_custom_placeholdersList the account's custom message placeholders (key, default value, and whether they are global, per booking or per property).No findings
Why it is in this group
- The name "smoobu_list_custom_placeholders" says "list": a word for reading.
Description, as the server wrote it List the account's custom message placeholders (key, default value, and whether they are global, per booking or per property). Smoobu: GET /api/custom-placeholders.
Annotations the server declares
- title: List custom placeholders
- readOnlyHint: true
smoobu_list_guestsList guests from the Smoobu CRM with their emails, phone numbers, address, notes and bookings; optionally search.No findings
Why it is in this group
- The name "smoobu_list_guests" says "list": a word for reading.
Description, as the server wrote it List guests from the Smoobu CRM with their emails, phone numbers, address, notes and bookings; optionally search. Smoobu: GET /api/guests.
Annotations the server declares
- title: List guests
- readOnlyHint: true
smoobu_list_message_threadsList the unified guest inbox: one thread per booking with guest name, property and the latest message, plus the unread count.No findings
Why it is in this group
- The name "smoobu_list_message_threads" says "list": a word for reading.
Description, as the server wrote it List the unified guest inbox: one thread per booking with guest name, property and the latest message, plus the unread count. Smoobu: GET /api/threads.
Annotations the server declares
- title: List inbox threads
- readOnlyHint: true
smoobu_list_price_elementsList the financial breakdown of one reservation: base price, cleaning fee, add-ons, long-stay discounts and coupons, with amounts, tax and currency.No findings
Why it is in this group
- The name "smoobu_list_price_elements" says "list": a word for reading.
Description, as the server wrote it List the financial breakdown of one reservation: base price, cleaning fee, add-ons, long-stay discounts and coupons, with amounts, tax and currency. Smoobu: GET /api/reservations/{reservationId}/price-elements.
Annotations the server declares
- title: List a reservation's price elements
- readOnlyHint: true
smoobu_list_reservation_messagesGet the full conversation for one reservation, paginated.No findings
Why it is in this group
- The name "smoobu_list_reservation_messages" says "list": a word for reading.
Description, as the server wrote it Get the full conversation for one reservation, paginated. Each message has a subject, plain-text and HTML body, and type (1 = inbox / from guest, 2 = outbox / sent). Smoobu: GET /api/reservations/{reservationId}/messages.
Annotations the server declares
- title: List a reservation's messages
- readOnlyHint: true
smoobu_list_reservationsList reservations across all channels (Airbnb, Booking.com, direct, ...), paginated, with guest, dates, channel, price and payment status.No findings
Why it is in this group
- The name "smoobu_list_reservations" says "list": a word for reading.
Description, as the server wrote it List reservations across all channels (Airbnb, Booking.com, direct, ...), paginated, with guest, dates, channel, price and payment status. Filter by stay range, arrival, departure, creation or modification date, and property. Smoobu: GET /api/reservations.
Annotations the server declares
- title: List reservations
- readOnlyHint: true
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.16.3. Values in angle brackets are yours to fill in.
claude mcp add --transport http smoobu https://smoobu.usefulapi.io/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__smoobu__smoobu_get_user",
"mcp__smoobu__smoobu_list_apartments",
"mcp__smoobu__smoobu_get_apartment",
"mcp__smoobu__smoobu_list_reservations",
"mcp__smoobu__smoobu_get_reservation",
"mcp__smoobu__smoobu_list_price_elements",
"mcp__smoobu__smoobu_get_reservation_placeholders",
"mcp__smoobu__smoobu_get_rates",
"mcp__smoobu__smoobu_list_message_threads",
"mcp__smoobu__smoobu_list_reservation_messages",
"mcp__smoobu__smoobu_list_guests",
"mcp__smoobu__smoobu_get_guest",
"mcp__smoobu__smoobu_list_addons",
"mcp__smoobu__smoobu_list_custom_placeholders"
],
"ask": [
"mcp__smoobu__smoobu_check_availability"
],
"deny": [
"mcp__smoobu__smoobu_create_reservation",
"mcp__smoobu__smoobu_update_reservation",
"mcp__smoobu__smoobu_set_rates",
"mcp__smoobu__smoobu_send_message_to_guest",
"mcp__smoobu__smoobu_send_message_to_host"
]
}
}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 smoobu. Review it before you use it.