Bookingmood MCP by usefulapi

io.usefulapiPublished by usefulapi.ioOfficial publisherv1.15.4Updated Nov 7, 2026

Read Bookingmood bookings, availability, guests, payments and invoices; update bookings, contacts.

The publisher's own server: Ably MCP by usefulapi

VerifiedStreamable HTTPWeb executableProductivity & WorkflowBusiness & Commerce

Overview

AI-generated overview

Reads and lightly edits Bookingmood rental data — bookings, availability, guests, payments and invoices — from an AI assistant.

What you can do
  • Inspect the organization, products and capacities, and search products for dates, guests and price ranges
  • List and fetch bookings, calendar events, availability and open housekeeping tasks
  • Look up guests and customers, payments, invoices, line items, coupons, services and sent guest messages
  • Write changes: overwrite internal notes on one calendar event, set an event to confirmed, tentative or cancelled, and create or update contacts
  • Check monthly usage, request a missing feature, and manage a paid subscription
When to use it
Useful for short-term rental or hospitality operators who want to ask questions like who arrives this weekend, which payments are overdue, or whether a property is free on given dates, and to make small calendar or contact updates without opening the dashboard.
Requirements
Remote MCP endpoint added by URL only; no local package. Sign-in is via OAuth, and on first connect you paste a Bookingmood API key from your organization's admin dashboard (Settings, API keys). The key is stored per user. A free plan allows 50 tool calls per month; paid plans are billed per organization.
Before you install
Four tools write data: event notes are fully overwritten, event status changes can trigger Bookingmood automations such as guest e-mails, tasks and payment reminders, and contact creation is not idempotent. Confirm before any write. The server handles your organization's Bookingmood API key and offers upgrade and cancellation tools that return payment links and start or end paid subscriptions; usage is metered against a monthly call limit.

Installation

In SourceWeft

  1. Open Bookingmood MCP by usefulapi in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.usefulapi%2Fbookingmood/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "bookingmood-by-usefulapi": {
      "type": "http",
      "url": "https://bookingmood.usefulapi.io/mcp"
    }
  }
}

README

Bookingmood MCP by usefulapi

Read Bookingmood bookings, availability, guests, payments and invoices; update bookings, contacts.

Live endpoint: https://bookingmood.usefulapi.io/mcp · Homepage: https://usefulapi.io/bookingmood

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://bookingmood.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http bookingmood https://bookingmood.usefulapi.io/mcp, then run /mcp to log in.
  • VS Code: Add to VS Code.
  • Cursor and other clients: add the URL as a remote MCP server:
json
{  "mcpServers": {    "bookingmood": {      "url": "https://bookingmood.usefulapi.io/mcp"    }  }}

Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your Bookingmood credentials.

Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/bookingmood/

On first connect you'll paste a Bookingmood API key (admin dashboard → Settings of your organization → API keys at the bottom of the page). The key belongs to your organization. Your credentials are validated, stored per-user, and scoped to you — no keys in config files.

Tools

ToolTypeWhat it does
bookingmood_get_organizationreadGet organization
bookingmood_list_productsreadList products (rentals)
bookingmood_get_productreadGet product
bookingmood_list_bookingsreadList bookings
bookingmood_get_bookingreadGet booking with details
bookingmood_list_calendar_eventsreadList calendar events
bookingmood_check_availabilityreadCheck availability
bookingmood_search_productsreadSearch available products
bookingmood_list_contactsreadList contacts (guests)
bookingmood_get_contactreadGet contact
bookingmood_list_paymentsreadList payments
bookingmood_list_invoicesreadList invoices
bookingmood_list_line_itemsreadList line items
bookingmood_list_couponsreadList coupons
bookingmood_list_servicesreadList services (extras and fees)
bookingmood_list_tasksreadList tasks
bookingmood_list_messagesreadList guest messages
bookingmood_update_event_noteswriteSet calendar event notes
bookingmood_set_event_statuswriteSet calendar event status (confirm / cancel)
bookingmood_create_contactwriteCreate contact
bookingmood_update_contactwriteUpdate contact
bookingmood_usage_statusmetaUsage status (free-tier meter)
bookingmood_request_featuremetaRequest a missing feature
bookingmood_upgrademetaUpgrade to Pro or Pro+
bookingmood_cancel_subscriptionmetaCancel the Pro subscription

read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Pro (per organization)$9/mo or $90/yr (2 months free)Unlimited*

*Pro has a fair use limit of 10,000 tool calls a month on this server. For more, write to [email protected].

Pro covers this server only. Subscribe with bookingmood_upgrade (it returns a Stripe Checkout link). Cancel any time with bookingmood_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running bookingmood_upgrade before then undoes the cancel. Or write to [email protected].

License

Source: servers/bookingmood/README.md at commit 4046075

Tools

21

bookingmood_get_organization

Get organization

The Bookingmood organization this API key belongs to: name, company, plan (tier, subscription type, expiry), languages, country, VAT number, custom domain and contact details. Payment-provider ids and secrets are not returned. GET /organizations.

Takes no parameters.

bookingmood_list_products

List products (rentals)

List the rentable products (apartments, rooms, boats, bikes...) with name, currency, timezone, rent period (daily/nightly), booking interaction, fee and deposit. Names and descriptions are objects keyed by language ('default', 'nl-NL', ...). Images are not returned. GET /products.

Parameterslimitoffset

bookingmood_get_product

Get product

One product by id with its capacities (guest-group min/max limits) embedded. GET /products?id=eq.{id}&select=*,capacities(*).

Parametersproduct_idrequired

bookingmood_list_bookings

List bookings

List bookings, newest first: reference, method (request or book), currency, confirmed_at (null = not confirmed yet), created_at. A booking's dates and guests are on its calendar events (bookingmood_list_calendar_events) and contacts. Filter by creation date, confirmation state or reference text. The guest access secret is never returned. GET /bookings.

Parameterslimitmethodoffsetconfirmedreferencecreated_tocreated_from

bookingmood_get_booking

Get booking with details

One booking with everything attached: its calendar events (dates, product, status, occupancy, notes), line items, payments, invoices and the guest contacts linked to it. Five or six read requests. The guest contacts come from the booking-contact link table; if that lookup fails the reply says so instead of failing. GET /bookings, /calendar_events, /line_items, /payments, /invoices, /contact_bookings, /contacts.

Parametersbooking_idrequired

bookingmood_list_calendar_events

List calendar events

List calendar events: bookings (type 'booking'), blocked periods and notes, with product_id, booking_id, start_date, end_date, status (TENTATIVE, CONFIRMED, CANCELLED), occupancy, title and notes. Use the date filters for arrivals/departures (e.g. start_date_from = start_date_to = today lists today's arrivals) or active_on for who is in the property on a day. Ordered by start date. GET /calendar_events.

Parameterstypelimitoffsetstatusactive_onbooking_idproduct_idend_date_toend_date_fromstart_date_tostart_date_from

bookingmood_check_availability

Check availability

Availability calendar of up to 5 products: per product a list of intervals {start, end, status} with status available, tentative, unavailable, booked or reserved. One request per product. GET /availability?product_id={id}.

Parametersproduct_idsrequiredshow_pending_as

bookingmood_search_products

Search available products

Which products can be booked for a stay: for each product whether it matches the dates, guest numbers and options, its availability and a price range {min, max}. Read-only (a search; nothing is booked). occupancy maps a capacity-group id (from bookingmood_get_product capacities) to a number of guests. POST /search.

Parametersendstartoccupancyoption_ids

bookingmood_list_contacts

List contacts (guests)

List contacts (guests and customers): name, email, phone, company, address, language, notes. Search by name, email or company (case-insensitive, contains). Newest first. GET /contacts.

Parametersnameemaillimitoffsetcompany

bookingmood_get_contact

Get contact

One contact by id. GET /contacts?id=eq.{id}.

Parameterscontact_idrequired

bookingmood_list_payments

List payments

List payments (deposits, balances, offline payments): booking_id, invoice_id, amount and paid (integers; the API reference does not state the unit, normally the smallest currency unit), currency, due_at, completed_at (null = not paid), status, offline. Filter to unpaid payments, a booking or a due date. Ordered by due date, latest first. GET /payments.

Parameterslimitdue_tooffsetofflinedue_fromcompletedbooking_idinvoice_id

bookingmood_list_invoices

List invoices

List invoices: reference, booking_id, attachment (a custom uploaded file URL, if any), created_at. Filter by booking or creation date. Newest first. GET /invoices.

Parameterslimitoffsetreferencebooking_idcreated_tocreated_from

bookingmood_list_line_items

List line items

List invoice/booking line items: name (per language), amount and quantity (integers; the API reference does not state the unit), item_type (rent, fee...), fee_type (fee or deposit), booking_id, event_id, invoice_id. GET /line_items.

Parameterslimitoffsetevent_idbooking_idinvoice_id

bookingmood_list_coupons

List coupons

List discount coupons: code, description, definition, quota, scope (global, product, service, rent), stackable. Deleted coupons are left out. GET /coupons.

Parameterslimitoffset

bookingmood_list_services

List services (extras and fees)

List services: the extras, fees and form fields guests can add to a booking, with label, type, fee, deposit and description. GET /services.

Parameterslimitoffset

bookingmood_list_tasks

List tasks

List housekeeping/operations tasks attached to calendar events: label, due_at, completed_at (null = open), schedule (manual, arrival, departure), calendar_event_id. Filter to open tasks or a due-date window. Earliest due first. GET /tasks.

Parameterslimitdue_tooffsetdue_fromcompletedcalendar_event_id

bookingmood_list_messages

List guest messages

List the e-mails and SMS Bookingmood sent or scheduled to guests: subject, body, type (email or sms), status (sent, manually-scheduled, scheduled-around-arrival, scheduled-around-departure), send_at, booking_id. The rendered HTML is not returned. Latest first. GET /messages.

Parameterstypelimitoffsetstatusbooking_id

bookingmood_update_event_notes

Set calendar event notes

WRITE: replace the internal notes of ONE calendar event (the whole notes text is overwritten, so include the existing text if you want to keep it - read it first with bookingmood_list_calendar_events). Notes are internal; no guest is notified. PATCH /calendar_events?id=eq.{id}.

Parametersnotesrequiredevent_idrequired

bookingmood_set_event_status

Set calendar event status (confirm / cancel)

WRITE: change the status of ONE calendar event to CONFIRMED, TENTATIVE or CANCELLED. This changes what the calendar shows as available and can trigger Bookingmood's own automations for the booking (guest e-mails, tasks, payment reminders), so confirm with the user before cancelling or confirming. PATCH /calendar_events?id=eq.{id}.

Parametersstatusrequiredevent_idrequired

bookingmood_create_contact

Create contact

WRITE: create ONE new contact (guest/customer) in Bookingmood. Not idempotent: calling it twice creates two contacts, so search with bookingmood_list_contacts first. No message is sent to the contact. POST /contacts.

Parameterszipcityemailnotesphonestatestreetstreet2languageprovincelast_namefirst_name+2 more

bookingmood_update_contact

Update contact

WRITE: change fields of ONE existing contact (only the fields you pass are changed; others stay). No message is sent to the contact. PATCH /contacts?id=eq.{id}.

Parameterszipcityemailnotesphonestatestreetstreet2languageprovincelast_namecontact_idrequired+3 more

Version history

14
  1. v1.15.4LatestNov 7, 2026
  2. v1.14.3Nov 5, 2026
  3. v1.14.2Nov 5, 2026
  4. v1.14.1Nov 4, 2026
  5. v1.14.0Nov 3, 2026
  6. v1.13.1Nov 3, 2026
  7. v1.12.0Nov 1, 2026
  8. v1.10.0Oct 31, 2026
  9. v1.9.0Oct 31, 2026
  10. v1.8.2Oct 30, 2026
  11. v1.8.0Oct 30, 2026
  12. v1.3.0Oct 26, 2026
  13. v1.0.3Oct 25, 2026
  14. v1.0.0Oct 25, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Usefulapi integrations