Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
BOOKSY_PROXYNoProxy for every request to Booksy, e.g. http://user:pass@host:port.
BOOKSY_MCP_HOMENoFolder of session.json.~/.config/booksy-api-mcp
BOOKSY_MCP_HOSTNoAddress that serve binds to.127.0.0.1
BOOKSY_MCP_PORTNoPort that serve listens on.8787
BOOKSY_MCP_TOKENNoBearer token required by serve; needed to listen beyond 127.0.0.1. Every request then needs Authorization: Bearer <token>.
BOOKSY_MCP_READ_ONLYNoSet to 1 to hide and refuse every tool that changes Booksy (same as --read-only). Exposes the 17 read tools only.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
add_clientA

Add a client card to your client list. Needs a phone or an email.

Adds one client card with a name, a phone or an email (Booksy needs one of them), and optionally a private note and a birthday. The client is not invited to the Booksy app and gets no message, so add_client runs without asking first. delete_client removes the card again. A card deleted earlier with the same email or phone comes back with its old visits, note and birthday unless new ones are given.

add_client_noteA

Add a dated line to a client's private note, keeping what is there.

Booksy keeps one private note per client card, seen only by the business. This adds a new line starting with today's date under the existing text. The client is not told.

add_time_offA

Block a staff member's calendar so no one can book it: whole days off or a few hours.

Two dates (YYYY-MM-DD) add whole days of time off, like Staff > Shifts. Two date-times on the same day block those hours in the calendar, like a time reservation. Booksy refuses a block over existing appointments. It reaches no client; remove_time_off takes it back.

cancel_appointmentA

Cancel an appointment and free its time in the calendar.

Cancels one appointment as the business. The client is told only with notify_client. A deposit, if any, follows the business's deposit settings. Booksy refuses appointments it no longer lets you cancel (can in get_appointment). There is no undo; book again with create_appointment.

create_appointmentA

Book a client for one or more services at a start time; Booksy checks the slots first.

Books one client card for service_id, or for several services in one appointment, each with its own staff member, back to back from start. Each end follows the service's duration. Booksy's dry run checks every staff member is free first; a busy slot is refused, never double-booked. The client gets Booksy's confirmation only with notify_client. dry_run returns the same answer with saved false and keeps nothing.

delete_clientA

Remove a client card from your client list.

Deletes the card the way the panel's Delete button does. The client is not told. Past appointments stay in the calendar.

estimate_message_blastA

Count who a Message Blast would reach and its SMS cost, without sending it.

Asks Booksy what send_message_blast would do with the same clients, channel and text: how many clients it reaches, how many emails, texts or push notifications go out and what the texts cost beyond the plan's free allowance. Where the law asks for marketing consent (EU), consented counts only the clients who agreed; send_message_blast sends to those. Nothing is sent.

find_clientA

Client cards matching a name, email or phone.

Searches the client list the way the Clients page's search box does and returns the matching cards with contact details, note and visit counts. A card added a moment ago can take a few seconds to show up in search; get_client reads it by ID at once.

find_open_slotsA

Free start times for a service on one day, from working hours, bookings, blocks and time off.

Returns free start times for one service on one day, earliest first, for each staff member who offers it (or only staff_id). Starts follow the service's time slot interval and leave room for its duration; past times are left out. Booksy's own booking check confirms every slot returned. Pass start and staff_id to create_appointment.

get_appointmentA

One appointment: services, staff, times, price, client and notes.

Returns one appointment with each service's staff member, times and price, the client, the total and the notes. note is the internal note only staff see; client_note is the note shown to the client. can lists what Booksy allows now (cancel, change, confirm, decline, no_show).

get_business_hoursA

Weekly opening hours, time zone and booking lead times of the business.

Reads the opening hours set in Business details: open ranges for each day (an empty list is closed), the note shown with them, the business's time zone and address, and how early and how late clients may book or change a visit.

get_business_profileA

Your business's name, address, contact, opening hours, booking policy, rating and plan status.

Reads the business record behind your Booksy profile: name, address and time zone, phone, public email, website, description, weekly opening hours, how far ahead clients can book and change, review rating, whether the profile is visible in the Booksy marketplace, and the plan status with the trial end date.

get_clientA

One client card: contact details, private note, counts and visit history.

Reads one client card of the business by ID: name, email, phone, birthday, private note, tags, whether the client is blocked or uses the Booksy app, visit, no-show and cancellation counts, revenue, and the visits (past and upcoming appointments) with times, services, staff, status and total. A visit's appointment_uid is the appointment_id of get_appointment.

get_reportA

Numbers from Stats & Reports for a day, week, month or year, as JSON.

Returns one Stats & Reports category for a period: dashboard gives the totals for appointments, revenue and clients with the change against the previous period; any other category gives its highlight tables and the list of its reports. Pass report with a key from that list for the full report. Booksy counts one day, one Monday-to-Sunday week, one calendar month or one calendar year, so from and to must be such a period. Amounts come formatted in the business's currency. Booksy Biz Lite has the dashboard, revenue, appointments and clients; cash_flow, inventory, staff_members and marketing need Booksy Biz Pro.

get_settingsA

Text message allowance and usage, client message channels and your notification settings.

Reads the settings an agent needs before messaging clients: whether SMS and email to clients are on, the free and paid text allowance with this period's usage and price per text part, and which booking events notify you by email or push. Changes stay in the Booksy app.

list_appointmentsA

Appointments in a date range with client, service, staff, time and status.

Lists the Booksy calendar between two days (31 at most), in start order, including unconfirmed requests. Times carry the business's time zone. A walk-in has an empty client. An appointment with several services is one row listing them all; get_appointment returns prices and notes.

list_clientsA

Clients with contact details, visit counts and last visit, plus Booksy's client groups.

Reads the Clients list of the business, A to Z: name, email, phone, private note, tags, visits, no-shows, cancellations, revenue and the last visit. Search by name, email or phone, or keep only clients who have not visited for a number of days (filtered on each page). groups gives Booksy's smart groups (new, most loyal, slipping away, prospects, upcoming birthdays ..) with their counts.

list_message_blastsA

Message Blast templates (automated and one-time) and the blasts scheduled to go out.

Reads Promotion > Message Blasts: every automated template with its trigger and whether it is on, every one-time template, and the blasts scheduled for later. send_message_blast sends a one-time message; estimate_message_blast counts recipients and SMS cost first.

list_notificationsA

Notifications from the panel's bell: new bookings, changes, cancellations, reviews.

Reads the notifications Booksy shows under the bell in the panel, newest first. Client chat is not included. Reading does not mark them seen.

list_reviewsA

Client reviews of your business with rating, text, services, staff and your reply.

Reads the reviews on your Booksy profile, newest first by default: star rating, text, the client's name as Booksy shows it, services, staff, visit date and your reply if you wrote one. Also returns the average rating and the count per star. Reply with reply_to_review.

list_servicesA

Your service menu with category, variants, duration, price and the staff who offer each.

Reads the services of the business: name, category, description, whether clients can book it online, and its variants with duration in minutes, price (number and as shown, with currency), price type and the staff IDs who perform it. create_appointment and find_open_slots take service_id (its first variant) or a variant_id for another variant.

list_staffA

Staff members with their working hours for a week and the services they offer.

Reads the staff of the business: name, position, email, phone, access level, whether clients see them, the services each one performs, and working hours for each day of one week (Monday to Sunday, from Shifts, time off included). Use staff_id in other tools.

list_time_offA

Staff time off and blocked hours in a date range.

Lists time off from Shifts (kind time_off: dates, hours only when it is part of a day) and blocked hours in the calendar (kind block: date-times) between two days, 31 at most. time_off_id goes to remove_time_off.

remove_time_offA

Remove time off or a blocked period so the time can be booked again.

Deletes one time off (off-…) or one calendar block (block-…). It reaches no client.

reply_to_reviewA

Post or change your public reply to a client's review.

Writes your reply under one review on your Booksy profile, the way the Reviews page does. A second call replaces the reply. Everyone who sees your profile sees it and the reviewer is told.

reschedule_appointmentA

Change an appointment: a new start time, another staff member, or other services.

Without services, moves every service of the appointment by the same amount, so the first one starts at start. With services, the list replaces the appointment's services, each with its own staff member, back to back from start (default: the current start). Booksy's dry run checks the new slots first and a busy one is refused. The client hears about it only with notify_client. Booksy refuses appointments it no longer lets you change (can in get_appointment).

send_message_blastA

Send one message to chosen clients by email, SMS or push notification.

Sends one Message Blast now to the clients you list, by email, SMS or a push notification to the Booksy Client App, as Promotion > Message Blasts > Create your own message does. Where the law asks for marketing consent (EU), only the listed clients who agreed get it; the call fails when none can. SMS comes from an automated number, so clients cannot reply, and uses the plan's text allowance. Run estimate_message_blast first to see the count and cost. Needs a paid Booksy plan: on the free trial Booksy refuses one-time messages.

update_clientA

Change a client card's name, phone, email, birthday or private note.

Changes only the fields given and leaves the rest of the card as it is. The note replaces the card's private note; add_client_note adds a line instead. The client is not told.

Prompts

Interactive templates invoked by user choice

NameDescription
getting_startedCheck the Booksy session and show what the tools can do, without changing anything.
plan_taskTurn a goal into Booksy tool calls: reads first, every write shown before it runs.

Resources

Contextual data attached and managed by the client

NameDescription
guideWhere to start, read and write rules, paging.
toolsEvery tool with its access (read or write) and full description.

TDQS

A3.9/5.0

Scored across 28 tools

Disambiguation4/5

Most tools are clearly distinct by resource and action, with little risk of misselection. Minor overlap exists between get_business_hours and get_business_profile (both expose hours/time zone), and between add_client_note and update_client for notes, but the descriptions clarify the intended usage.

Naming Consistency5/5

All 28 tool names use snake_case with a predictable verb_noun pattern such as get_client, list_appointments, create_appointment, update_client, and delete_client. There are no mixed naming conventions or vague bare verbs.

Tool Count3/5

At 28 tools, the surface is heavy and exceeds the typical 3–15 range, though the broad Booksy business-management domain covers clients, appointments, staff, services, messaging, reviews, reporting, and time off. It is borderline heavy rather than clearly bloated, since most tools map to distinct operations.

Completeness3/5

Core client CRUD and the main appointment lifecycle (list/get/create/reschedule/cancel) are covered, along with time off, messaging, reviews, and read-only business data. However, get_appointment advertises confirm, decline, and no_show actions that have no corresponding tools, leaving a notable dead end in appointment status management.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues