bookings-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BOOKINGS_DB_PATH | No | Path to the SQLite database file. Defaults to data/bookings.db in the project directory. | data/bookings.db |
| BOOKINGS_SEED_DEMO | No | Whether to seed the database with demo data on first run. Set to 'false' to start empty. Defaults to 'true'. | true |
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
} |
| prompts | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_customersA | Find customers by part of their name, email or phone. Returns id, contact details, last visit and number of upcoming bookings. Use this before creating a customer to avoid duplicates. |
| get_customerA | Full profile for one customer: contact details, notes, visit and spend totals, no-shows, and the 20 most recent bookings. |
| create_customerA | Add a new customer. Requires a name and at least an email or phone. Fails if the email already exists. |
| list_servicesA | All bookable services with id, duration in minutes, price in USD, and which staff perform them. |
| check_availabilityA | Open start times for a service on a date, per qualified staff member, in 15-minute steps within opening hours. Past times are excluded. Returns closed=true on days the business is shut. |
| create_bookingA | Book a customer for a service. If staff_id is omitted, the first qualified free staff member is assigned. Rejects past times, closed days, times outside opening hours and double-bookings. Confirm the details with the user before calling. |
| cancel_bookingA | Cancel a future confirmed booking. A reason is required and stored. Confirm with the user before calling. |
| list_bookingsA | Bookings between two dates (inclusive), with customer, phone, service, staff and status. Use for day schedules and follow-up lists. Max 500 rows. |
| revenue_reportA | Revenue from completed bookings between two dates, grouped by service, staff or day, with totals, average ticket, no-show rate, cancellations, and the value of confirmed upcoming bookings in the range. Amounts in USD. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| daily_briefing | Summarise a day's schedule, gaps worth filling, and customers to follow up with. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 9 tools
Each tool targets a distinct resource and action: customer search/get/create, service listing, availability checks, booking create/cancel/list, and revenue reporting. The descriptions clearly separate the list and detail views, and list_bookings versus revenue_report are distinguished by granularity versus aggregation.
Most tools follow a clear verb_noun pattern such as search_customers, create_booking, and cancel_booking. The main inconsistency is revenue_report, which lacks an explicit verb, and there is minor singular/plural variation like get_customer versus search_customers.
Nine tools is well-scoped for a bookings domain, covering customers, services, availability, bookings, and reporting. Each tool has a clear purpose and none feel redundant or unnecessary.
The core booking workflow is covered: find/create customers, check availability, create/cancel bookings, and view schedules and revenue. Missing capabilities like rescheduling a booking or updating customer details are minor gaps that agents can work around, but they would require external handling.