Skip to content

Tools · Bookings and Scheduling

MCP tools for Bookings (rooms, desks and stations) and Scheduling (people's hours): finding what is free, booking with a cost in credits, rescheduling, canceling, no-shows, calendar invite, rooms, blocks, price bands and agenda approval. Minimum role and recipes.

The Bookings module and Scheduling through the assistant: finding free rooms and times (with the cost in credits and your balance), booking, rescheduling, canceling, marking a no-show, downloading the calendar invite, setting up rooms and desks, blocking times, setting prices and approving member agendas. Both modules use the same booking tools; the Scheduling ones are the last five.

Each tool carries a badge: Read-only changes nothing, Changes creates or changes something right away, and Asks to confirm only acts after your yes to a summary. See Money and confirmation.

In short

ToolWhat it doesMinimum roleType
search_booking_roomsFinds what fits the request, with cost and balanceAnyone who sees the spaceRead-only
check_availabilityThe free and taken times of a dayAnyone who sees the spaceRead-only
list_booking_resourcesThe rooms, desks, stations and agendasAnyone who sees the spaceRead-only
list_booking_amenitiesThe amenities catalogAnyRead-only
get_booking_resourceOne room with the rules already resolvedAnyone who sees the spaceRead-only
create_bookingBooks for you and debits your creditsAnyChanges
create_booking_for_memberBooks for a member, debiting their creditsModerator (or finance)Asks to confirm
list_my_bookingsYour bookings (or the ones booked with you)AnyRead-only
list_bookingsAll the community's bookingsModerator (or finance)Read-only
get_bookingOne bookingBooker, host and teamRead-only
cancel_bookingCancels and refunds according to the ruleBooker, host and teamAsks to confirm
reschedule_bookingChanges the time and settles the creditsBooker, host and teamAsks to confirm
mark_booking_no_showMarks the no-showTeam and hostChanges
get_booking_icsThe calendar invite (.ics)Booker, host and teamRead-only
create_booking_resourceCreates a room, desk or agendaAdmin (rooms)Changes
update_booking_resourceEdits, replaces or removes the photoAdmin (rooms)Changes
delete_booking_resourceDeletes (canceling upcoming bookings)AdminAsks to confirm
list_availability_exceptionsBlocks and extra hoursAnyone who sees the spaceRead-only
create_availability_exceptionBlocks or opens a periodTeam (rooms)Changes
cancel_bookings_for_closureBlocks, canceling the period's bookingsTeam (rooms)Asks to confirm
delete_availability_exceptionRemoves a block or extra hoursTeam (rooms)Asks to confirm
list_price_rulesA room's price bandsAdminRead-only
create_price_ruleCreates a price bandAdminChanges
update_price_ruleEdits a bandAdminChanges
delete_price_ruleRemoves a bandAdminAsks to confirm
get_scheduling_configThe Scheduling rules and your agendasAnyone who sees the spaceRead-only
search_scheduling_hostsPeople with free timeAnyone who sees the spaceRead-only
get_scheduling_hostA person's page, with the gridAnyone who sees the spaceRead-only
list_pending_scheduling_offersAgendas waiting for approvalAdminRead-only
set_booking_resource_listingApproves or takes an agenda off the listAdminChanges

"Team" is the owner, the admin, the moderator and finance. The roles are the routes' roles: the assistant never does more than the connected person could do on screen.

The spaces are created with create_space and module: "bookings" or "scheduling"; update_space changes only what you send. The bookings argument carries every room's defaults (slot_minutes, min_duration_minutes, max_duration_minutes, min_notice_minutes, max_advance_days, show_booker_name and opening_hours, with the keys mon to sun and HH:MM periods); scheduling carries the same plus offerers (ADMINS, TEAM or MEMBERS), allow_paid_slots and require_listing_approval.

Times. The times you send are always on the community's clock ("2026-11-03T14:00", no suffix). Costs. Booking, rescheduling and canceling touch the credits: the assistant states the cost and the balance before booking. Without enough credits, the response carries required, balance and shortfall; with the time taken, it carries the next free times.

Search and look up

search_booking_rooms

Read-only

What fits the request. Give an exact start (starts_at) or a window in the day (date with from and to), plus duration, capacity and amenities. Returns only the resources that fit, with the free start times, the cost in credits, canAfford and your balance, sorted by earliest and then by smallest capacity; when nothing fits, next_slots lists the next times for the same request.

ParameterTypeRequiredDescription
spaceid or linkYesThe Bookings or Scheduling space
starts_atdate and timeNoExact start, local time
date, from, today YYYY-MM-DD, HH:MMNoA search window
duration_minutesnumber, 5 or moreNoDuration
capacitynumberNoHow many people must fit
amenitieslist of keysNoAll are required (from list_booking_amenities)
kindROOM, DESK, STATION, OTHER or PERSONNoThe type
host_profile_ididNoOnly this person's agendas

Ask like this: "I need a room for 6 people tomorrow from 2 to 4 PM, with a projector."

check_availability

Read-only

Free and taken. The times of a day (or of up to 7), calculated from the weekly hours, the blocks and the bookings, each free one with creditCost and canAfford. It never says who booked, unless the space shows the name.

ParameterTypeRequiredDescription
spaceid or linkYes
dateYYYY-MM-DDNoThe day (default: today)
days1 to 7NoHow many days
resource_id, host_profile_ididNoJust one room, or just one person
duration_minutesnumberNoDefault: the shortest booking

list_booking_resources

Read-only

The rooms. Rooms, desks, stations and agendas of the space. A member sees only the listed, active ones open for booking; the team sees them all. Parameters: space (required), kind, host_profile_id, page, limit.

list_booking_amenities

Read-only

The amenities catalog the community accepts (projector, TV, whiteboard, Wi-Fi…). A key outside the catalog is refused. No parameters.

get_booking_resource

Read-only

One room with the effective rules already combined with the space's defaults (hours, slot, duration limits, notice, cancellation window). Parameter: resource_id.

Book

create_booking

Changes

Book for yourself. Books right away (already confirmed) and debits your credits in the same step. Before that, the assistant states the cost and the balance. To book for another member, use create_booking_for_member. The courtesy (waive_credits with waive_reason) is only for the owner and the admin. The confirmation email with the calendar invite goes into the queue. Returns creditCost and balanceAfter.

ParameterTypeRequiredDescription
resource_ididYesFrom list_booking_resources or the search
starts_atdate and timeYesLocal time, e.g. 2026-11-03T14:00
ends_at or duration_minutesdate and time or numberOne of the twoDefault: the shortest booking
attendee_countnumberNoHow many people
title, notestextNoPurpose and notes
waive_credits, waive_reasontrue or false, textNoCourtesy, owner and admin only

Ask like this: "Book Room 2 tomorrow from 2 to 4 PM for 6 people."

create_booking_for_member

Asks to confirm

Book for a member. Debits their credits (or is free as a courtesy, owner and admin only, with waive_reason) and they get the email with the invite. Before acting, it shows a summary with the member and their balance and only repeats the call after your yes. Same parameters and same responses as create_booking, plus profile_id. Minimum role: moderator (or finance).

ParameterTypeRequiredDescription
profile_ididYesThe member (list_members)

Ask like this: "Book Room 1 on Friday at 10 AM for Maria."

list_my_bookings

Read-only

Your bookings, or, with as_host, the ones people made on the agenda you offer. Filters: space, resource_id, status (list, e.g. CONFIRMED,NO_SHOW), from, to, order, page, limit. Each one carries canCancel.

list_bookings

Read-only

All the community's bookings, with the same filters. Minimum role: moderator (or finance).

get_booking

Read-only

One booking: room, person, times, status, cost in credits, whether it was a courtesy or a late cancellation, and what whoever asks can do. Only the booker, the host and the team; anyone else gets 404. Parameter: booking_id.

Change a booking

cancel_booking

Asks to confirm

Cancel. When the booker cancels after the window (24 h by default), the cancellation is marked as late and may lose the credits; within the window, or when the team or the host cancels, the refund is in full. The person gets the email and the event is canceled in their calendar. A booking that has already started can't be canceled (use the no-show). Shows a summary and only acts after your yes.

ParameterTypeRequiredDescription
booking_ididYes
reasontextNoGoes in the email

reschedule_booking

Asks to confirm

Reschedule. Changes the time in the same room (what you don't send stays, and the length is kept). Touches the credits: a pricier time debits the difference (without balance, the response carries shortfall), a cheaper one refunds, a courtesy doesn't touch the ledger. The invite is updated and the person gets an email. Shows the summary and returns charged, refunded and balanceAfter.

ParameterTypeRequiredDescription
booking_ididYes
starts_at, ends_at, duration_minutesdate and time, numberNoThe new time
attendee_countnumberNo

mark_booking_no_show

Changes

Mark the no-show. Only for a confirmed booking that has already started. The community decides whether the credits are lost; the response says how many were refunded. Team and host. Parameter: booking_id.

get_booking_ics

Read-only

The calendar invite, the same file as in the confirmation email, returned as text in ics with the file name (a canceled booking returns the cancellation). Parameter: booking_id.

Rooms, blocks and prices

create_booking_resource

Changes

Create a room, desk or agenda. kind is ROOM, DESK, STATION or OTHER (owner and admin); in Scheduling, PERSON: who can create a person's agenda is decided by the space's offerers (a member creates only their own). The type doesn't change later. With no price band, it's free.

ParameterTypeRequiredDescription
spaceid or linkYes
kindtypeYes
nametextYesHow members see it
description, capacity, units, amenitiesNounits: simultaneous bookings (1 = exclusive)
bookable, active, listedtrue or falseNolisted owner and admin only
meeting_urllinkNoVideo call link
opening_hoursweekly hoursNoKeys mon to sun, HH:MM periods
slot_minutes, min_duration_minutes, max_duration_minutes, buffer_minutes, min_notice_minutes, max_advance_days, cancellation_window_hoursnumberNoEmpty, follows the space
image_url or image_base64NoThe photo
owner_profile_ididNoScheduling, owner and admin: whose agenda it is

update_booking_resource

Changes

Edit. Changes only what you send; replaces the photo with image_url or image_base64 and removes it with remove_image. Existing bookings keep their price. Parameter resource_id plus the fields above. In Scheduling, whoever offers edits their own agenda, except listed.

delete_booking_resource

Asks to confirm

Delete. With active upcoming bookings, the response is 409 listing them; with cancel_bookings: true, it cancels them all (full refund and an email to each person) and deletes. Owner or admin.

list_availability_exceptions

Read-only

Blocks (CLOSED) and extra hours (OPEN) of a room from now on. Parameters: resource_id, from.

create_availability_exception

Changes

Block or open a period. kind is CLOSED (default: maintenance, holiday) or OPEN (extra). A block with active bookings is refused with 409 listing them: to cancel them, use cancel_bookings_for_closure. Rooms: the team; people's agendas: whoever offers and the owner and the admin.

ParameterTypeRequiredDescription
resource_ididYes
starts_at, ends_atdate and timeYesLocal time
kindCLOSED or OPENNoDefault CLOSED
reasontextNoShown to those whose booking is canceled

cancel_bookings_for_closure

Asks to confirm

Block, canceling. Blocks the period and cancels every active booking within it: each one is refunded in full, each person gets the email and the event is canceled in their calendar. Says how many were canceled. Use it after create_availability_exception answered 409 and the person agreed. Parameters: resource_id, starts_at, ends_at, reason.

delete_availability_exception

Asks to confirm

Remove a block or extra hours. Bookings the block already canceled don't come back. Parameters: resource_id, exception_id.

list_price_rules

Read-only

A room's price bands (the only source of price; with no band, it's free). The first that fits wins: a specific date, then a weekday, then the default; the cost is per block, and each block uses the band it starts in. Owner or admin. Parameter: resource_id.

create_price_rule

Changes

Create a band. For example, 3 credits per 30 minutes. Hours offered by a member are always free; in Scheduling, a paid band needs Allow paid hours in the space (409). Charging in money isn't done yet.

ParameterTypeRequiredDescription
resource_ididYes
modeFREE or CREDITSYes
block_minutes5 to 1440With CREDITSThe block size
creditsintegerWith CREDITSCredits per block
weekday0 (Sunday) to 6NoEmpty, every day
specific_dateYYYY-MM-DDNoWins over the weekday
from_time, to_timeHH:MMNoThe part of the day

update_price_rule

Changes

Edit a band (resource_id, rule_id, and only what changes). Bookings already made keep their price.

delete_price_rule

Asks to confirm

Remove a band. With none left, the room is free; bookings already made keep their price. Parameters: resource_id, rule_id.

Scheduling

get_scheduling_config

Read-only

The space's rules: who offers (offerers), allowPaidSlots, requireListingApproval, whether you can offer now, your agendas and, for the owner and the admin, how many offers are waiting for approval. A member's hours are always free. Parameter: space.

search_scheduling_hosts

Read-only

People with free time. Each one comes with their agendas, how many free times they have and the next 3 (free or the cost in credits, with canAfford) and your balance. When nobody has time, it suggests the nearest. To book, use create_booking.

ParameterTypeRequiredDescription
spaceid or linkYes
qtextNoPart of the name
date, from, toNoThe day and the window; with no day, the next 14
duration_minutes, host_profile_id, page, limitNo

get_scheduling_host

Read-only

A person's page, with the grid of free times per day (1 to 7 days). A person with no listed agenda, who lost the role or from another community answers 404. Parameters: space, profile_id, date, days, duration_minutes.

list_pending_scheduling_offers

Read-only

Agendas waiting for approval, each with its owner and whether they still meet the rule of who offers. Owner or admin. Parameter: space.

set_booking_resource_listing

Changes

Approve or take an agenda off the list. listed: true approves (the agenda shows to members); false takes it off (it doesn't cancel any booking already made, it only prevents new ones). Reversible, no confirmation. Owner or admin. Parameters: resource_id, listed.