bookings-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TZ | No | Timezone for opening hours and booking rules, e.g. Europe/Tirane. | |
| BOOKINGS_DATA | No | Path to the JSON file where booking state is stored (e.g. /path/to/bookings.json). Defaults to data/state.json. |
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 |
|---|---|
| list_servicesA | Services, prices, staff, opening hours and booking rules. Call this first. |
| find_slotsA | Free start times for a service on a date. Always check before offering a time. |
| create_bookingA | Books an appointment. First call WITHOUT customer_confirmed to get a summary, read it to the customer, and only call again with customer_confirmed: true after they say yes. |
| find_bookingsA | Upcoming bookings for one phone number. There is no way to list other customers' bookings. |
| reschedule_bookingA | Moves a booking. The phone must match the booking. Within 24 hours of the appointment this creates a request for staff instead. |
| cancel_bookingA | Cancels a booking. The phone must match the booking. Within 24 hours of the appointment this creates a request for staff instead. |
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 6 tools
Each tool maps to a distinct step of the booking workflow: catalog (list_services), availability (find_slots), booking creation, and per-phone booking lookup/modification. The descriptions explicitly disambiguate the closest pair (find_slots = free times vs find_bookings = existing bookings) and enforce call ordering, leaving no realistic misselection.
All names are snake_case verb_noun and read predictably. The only minor deviation is mixing 'list_' and 'find_' for read operations (list_services vs find_slots/find_bookings), which is slightly inconsistent but still clear.
Six tools is well-scoped for a customer-facing appointment booking server, and each one earns its place in the flow. Nothing feels redundant or missing at the tool-count level.
The full customer lifecycle is covered: browse services, check availability, book, look up, reschedule, and cancel, including the 24-hour escalation rule. Minor gaps remain — no retrieval of a single booking's details or booking identifier, and find_bookings only returns upcoming appointments, so past or specific-booking lookups are dead ends.