booksy-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BOOKSY_MCP_PORT | No | Local port for the server. Must also be set in the extension. | 47821 |
| BOOKSY_MCP_SAFE_MODE | No | Safe mode is on by default. Only 0, false, off, or no turn it off. | on |
| BOOKSY_MCP_EXPORT_DIR | No | Where exported files are saved. | ~/BooksyExports |
| BOOKSY_MCP_REDACT_PII | No | Mask client e-mails and phone numbers in tool results. Off by default. | off |
| BOOKSY_MCP_WRITE_TOOLS | No | Write tools to enable. All write tools are off by default; use a comma-separated list such as appointment_move,appointment_confirm, or all to enable every write tool that stays inside the panel. | |
| BOOKSY_MCP_EXTENSION_ID | No | Accepted Chrome extension id. | built-in id |
| BOOKSY_MCP_MASK_CONTACTS | No | Former name for BOOKSY_MCP_REDACT_PII; still works. | |
| BOOKSY_MCP_DISABLED_TOOLS | No | Tools to turn off, reads included. Use a comma-separated list of tool names. | |
| BOOKSY_MCP_MIN_INTERVAL_MS | No | Longer gap between requests. Cannot go below safe mode. | |
| BOOKSY_MCP_MAX_RESULT_CHARS | No | Larger results are written to a file. | 150000 |
| BOOKSY_MCP_MAX_REQUESTS_PER_HOUR | No | Lower hourly request limit. Cannot go above safe mode. |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| session_statusA | Shows whether the extension is connected, the pairing code when pairing is needed, the salon open in the panel, enabled write tools, the traffic mode, budget use and any cooldown. Start here. |
| calendar_agendaA | Appointments, reserved time and time off between two dates. Long ranges are split into windows and read one after another with a pause. In safe mode a range can have at most 92 days. Filter by staff or by status (A accepted, W waiting for confirmation, C canceled, D declined, F finished, N no-show, M modified, O prepayment awaiting, P proposed, R rejected, V unverified). |
| appointment_requestsB | Appointments that wait for the salon to confirm or decline, from today on. |
| calendar_open_slotsA | Free time per staff member on one date, worked out locally from shifts, time off and bookings. Use it before proposing a time to a client. |
| appointment_changes_feedB | New, moved, cancelled and otherwise changed appointments since the last call. The first call stores a baseline. Compares the calendar with a small local snapshot of ids, times and status. |
| team_resourcesB | Staff members and stations. Booksy keeps both as resources. Use kind to narrow the list. |
| staff_scheduleA | Working hours and time off per staff member and day, to the minute, for a date range. Reads one week at a time, with a pause between weeks. |
| time_off_entriesB | Time off of each staff member between two dates, with reason codes. |
| opening_hoursB | Opening hours of the business, day by day, for the week of the given date. |
| campaign_estimateA | Number of recipients and SMS cost for a campaign. Sends nothing. |
| chat_conversationsA | Client chat conversations, newest first. Works only where the panel has client chat enabled. |
| chat_messagesC | Latest messages of one client conversation. |
| business_accountsB | Lists the businesses the logged-in user can open in the panel. |
| business_profileC | Public profile and core data of the business open in the panel tab. |
| business_visibilityC | Whether the business is visible and bookable on the marketplace. |
| business_amenitiesC | Amenities shown on the business profile. |
| business_featuresB | Which panel features are on, off or available for this business. |
| business_booking_rulesC | Booking rules set in the panel, grouped by category. |
| business_integrationsC | Online booking integrations and their state. |
| business_notification_settingsC | Staff and owner notification settings. |
| business_pos_settingsC | Checkout and payment settings of the business. |
| business_no_show_protectionC | Deposit and cancellation fee settings per service. |
| calendar_monthC | Counters and bookings for a month view of the calendar. |
| calendar_changed_datesC | Dates with calendar changes since a Unix timestamp, as the panel polls them. |
| appointment_detailsC | One appointment with its services, staff, client and price. |
| appointment_payment_detailsC | Deposit, payment, tip and refund state of one appointment. |
| resource_detailsB | Details of one staff member or station. Both are resources in Booksy. |
| resource_upcoming_bookingsC | Next bookings of one staff member or station. |
| time_block_detailsC | One calendar time block, such as a break or a reserved slot. |
| service_menuB | All service categories with services, variants, prices and durations. |
| service_detailsC | One service with its variants and assigned staff. |
| service_addonsC | Add-ons that can be sold with services. |
| customer_cardsA | Lists client cards, or searches them by name, phone or e-mail with query. |
| customer_cardC | Full client card: contact data, notes, tags, visit and spending counters. |
| customer_visit_historyC | Past and future appointments of one client. |
| customer_product_historyC | Products one client bought. |
| customer_groupsC | Client groups with their sizes. |
| customer_tagsC | Tags used on client cards. |
| campaign_groupsB | All message campaign templates, including automated campaigns and their automated_status. |
| campaign_detailsC | One campaign template: text, channel, audience and automation settings. |
| campaign_scheduleC | Campaigns scheduled to go out. |
| campaign_sms_balanceC | SMS limits, used and free messages, and the price per part. |
| chat_quick_actionsC | Suggested quick actions for a client conversation. |
| reviews_feedC | Reviews of the business with ratings and replies. |
| payment_rowsC | Payment list with method, status and amounts, like the panel payments screen. |
| payment_summaryC | Summary tiles of payments for a period. |
| checkout_transactionsC | Checkout transactions for a period. |
| checkout_transactionC | One transaction with items, payments, tips and discounts. |
| checkout_last_receiptC | The latest receipt of a transaction. |
| booking_chargesC | Appointments waiting for checkout or with booking charges. |
| payment_basketC | One payment basket with its deposit, payment and refund records. |
| refund_fee_previewA | Fees that would apply to refunding a payment. Reads only, refunds nothing. |
| wallet_overviewC | Balance and overview from the payments financial center. |
| wallet_payoutsC | Payout history. |
| cash_registersC | Cash registers and their open or closed state. |
| cash_registerC | One cash register with totals. |
| cash_register_operationsC | Cash in and out operations of one register. |
| invoicesC | Invoices issued in the panel. |
| invoiceC | One invoice. |
| product_catalogC | Products with stock and prices. |
| product_stock_historyC | Stock movements of one product in one warehouse. |
| warehousesC | Warehouses of the business. |
| warehouse_detailsC | One warehouse. |
| warehouse_documentsC | Stock documents such as deliveries and internal use. |
| warehouse_documentC | One stock document. |
| product_brandsC | Product brands. |
| product_categoriesC | Product category tree. |
| product_suppliersD | Product suppliers. |
| panel_notificationsC | The notification list from the panel bell. |
| vouchersC | Vouchers, gift cards and packages sold. |
| voucher_ordersD | Voucher orders. |
| voucher_templatesD | Voucher templates. |
| consent_formsC | Consent form templates. |
| consents_signedC | Consents assigned to clients. |
| waitlistC | Clients on the waitlist. |
| loyalty_programC | The current stamp card program. |
| loyalty_cardsC | Client loyalty cards. |
| stats_overviewC | The main statistics dashboard for a period. The first read can take a minute. |
| stats_dashboardC | One statistics section with its figures and the list of reports inside it. |
| stats_report_catalogA | Every report key this salon can open, per statistics section. Booksy decides the keys by plan and country, so they are read from the panel. Reads one section after another, so it is slow the first time. Pass dashboard for just one section. A stop ends the reading, and the keys found until then are returned. |
| stats_report_metadataC | What a report needs: its period limits and available filters. |
| stats_reportA | One report as JSON, as the panel shows it. Long reports are paged: use page, or report_export for the whole report as a file. |
| stats_report_sectionC | One section of a report, for example one staff member or a later page of a table. |
| stats_billing_cyclesC | Billing cycles usable as report periods. |
| report_exportA | Downloads any report the panel offers as a file and saves it on this computer. Can also convert it to CSV or return the rows as JSON. Report keys come from stats_report_catalog. Booksy can take over a minute to build a report. |
| report_export_batchA | Saves several reports for one period, strictly one after another, with a pause. A report that fails does not stop the others. A block by Booksy or a used-up budget ends the batch, and what was saved until then is listed. In safe mode a batch can have at most 5 reports. |
| document_downloadA | Saves a cash register report, cash document, invoice or consent as a local file. |
| customer_file_downloadB | Saves a file attached to a client card as a local file. |
| stats_frame_requestsA | A check for live verification. Open the statistics screen in the panel first. Shows which addresses the report frame asked for by itself: address shapes and parameter names, without ids, values or headers. Sends nothing to Booksy. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 89 tools
Most tools map to a distinct resource+action, but the statistics cluster (stats_overview, stats_dashboard, stats_report, stats_report_section, report_export, report_export_batch, stats_report_catalog, stats_report_metadata, stats_billing_cycles, stats_frame_requests) and the payments cluster (payment_rows, payment_summary, checkout_transactions, payment_basket, booking_charges, wallet_overview) have subtle boundaries that an agent could easily misselect among. Descriptions help considerably, but the sheer density of near-siblings makes selection error-prone.
Consistently snake_case with a resource-first noun pattern, and singular/plural used meaningfully (customer_card vs customer_cards, warehouse_document vs warehouse_documents, invoice vs invoices). Minor deviations where the verb trails the noun (document_download, customer_file_download, report_export, refund_fee_preview) and the odd stats_frame_requests break the pattern slightly.
89 tools is far past the point where an agent can hold the surface in mind, even accounting for the broad salon-management domain (calendar, clients, payments, inventory, marketing, stats, vouchers, loyalty). Many tools are narrowly scoped slices that could be consolidated into parameterized operations.
The read surface is remarkably thorough: calendar, staff/schedules, services, clients, payments/checkout, cash registers, invoices, inventory, vouchers, loyalty, consents, chat, reviews and full statistics with export all have coverage. The apparent gap is mutation — no create/update/delete tools are exposed, so the set is read-and-export only, with some statistical redundancy rather than missing reads.