# SimplyBook.me MCP

> SimplyBook.me MCP Server connects your AI agent to an entire online booking system, allowing you to manage services, providers, and appointments programmatically. Use your agent to check real-time availability, list clients, track bookings, or book new slots without leaving the chat interface. It's a complete operational layer for service businesses.

## Overview
- **Category:** industry-titans
- **Price:** Free
- **Tags:** online-booking, appointment-scheduling, resource-management, service-automation, availability-tracking, client-management

## Description

**SimplyBook.me MCP Server** connects your AI agent straight into the SimpleBook.me backend, letting you handle an entire service business's scheduling and client management right from your chat interface. Forget switching apps; this server gives your agent full operational control over appointments, staff, and services. You can manage everything programmatically using natural conversation.

When you use your agent with this server, it exposes tools that cover the complete booking lifecycle. It's an operational layer built for service businesses—you just talk to it, and it handles the complex backend calls.

**Managing Clients and Providers**

*   To find out who your customers are, call `list_clients`. This tool gives you a full list of every client ID registered in SimpleBook.me so you can pull up their details later. You use `get_client` when you have a specific client ID; it pulls the profile information for that person. *   If you need to know which staff members are available, run `list_providers`. This gives you a complete roster of every service provider or employee who takes appointments. The agent lets you check these credentials and see their names.

**Viewing Services, Categories, and Deals**

*   The server shows you the full catalog using `list_services`, listing every individual, bookable service—like 'Haircut' or 'Massage'—and its details, including how long it takes. You can also use `list_categories` to see all the high-level groupings your business uses for services. *   It keeps you in the loop on sales using `list_promotions`. This tool displays every active discount, package deal, or special offer available right now. You'll never miss a sale because your agent pulls up these current deals.

**Checking and Making Appointments**

*   The system lets you check real-time availability first. Call `check_availability` when you need to know if a specific service or provider has open time slots on certain dates. This prevents you from promising something that isn't available. *   Ready to book? Use `create_booking`. When you run this tool, it finalizes the appointment for the client, handles any necessary client data creation, and confirms all the details in one single call. It books the new slot and locks it down.

**Reviewing Booking History**

*   Need to look at what's coming up? Run `list_all_bookings` to get an overview of recent appointments, giving you a snapshot of scheduled services and dates across your whole calendar. *   If you need deep details on just one specific time slot—maybe checking the service or provider assigned—use `get_booking_details`. It pulls all the information about that single booking record. *   To clean up an appointment that fell through, use `cancel_booking` by providing the specific booking ID to cancel it.

This server is a complete operational suite. Your agent uses these tools together: you can check who's available (`list_providers`), see what services they offer (`list_services`), confirm if there's an open spot on Tuesday (`check_availability`), and then lock it down immediately by calling `create_booking`. You manage the entire scheduling process without ever leaving your chat window.

## Tools

### cancel_booking
Cancels an existing appointment using the specific booking ID.

### get_client
Retrieves the profile details for a known client ID.

### list_promotions
Displays all current active discounts, packages, and sales promotions available for booking.

### create_booking
Finalizes and books a new appointment for the client.

### check_availability
Determines if a service or provider has open time slots on specified dates.

### get_booking_details
Pulls all information about one specific booking, including service and provider assigned.

### list_all_bookings
Lists recent appointments, providing an overview of scheduled services and dates.

### list_categories
Shows all high-level groupings that hold your various service offerings.

### list_clients
Retrieves a list of every client registered in the SimplyBook.me system.

### list_providers
Provides a list of every staff member or service provider who can take appointments.

### list_services
Lists all individual, bookable services and their associated details (e.g., 'Haircut', 60 min).

## Prompt Examples

**Prompt:** 
```
List all available services in my SimplyBook.me account.
```

**Response:** 
```
I've retrieved your services. You have 5 active offerings including 'Consultation', 'Training Session', and 'Support Call'. Which one would you like to check availability for?
```

**Prompt:** 
```
Show me all bookings for this week with available time slots and staff schedules.
```

**Response:** 
```
78 bookings this week across 5 services. Monday: 18 bookings (92% capacity). Tuesday: 16 (85% capacity). Wednesday: 14 (74%). Thursday: 15 (79%). Friday: 12 (63%). Saturday: 3 (25%). "Consultation" leads with 28 bookings (avg duration: 45 min). "Haircut" has 22. "Massage" has 15. "Facial" has 8. "Manicure" has 5. Available slots today: 6 (2 PM, 2:30, 3 PM, 3:30, 4 PM, 4:30). Staff: Sarah booked 89%, James 76%, Lisa 92% (highest utilization). No-show rate: 4.2%.
```

**Prompt:** 
```
Book a 60-minute consultation appointment for a new client next Thursday at 2 PM.
```

**Response:** 
```
Booking confirmed. Service: Consultation (60 min). Date: Thursday, May 22, 2025 at 2:00 PM. Provider: Lisa (specialist, highest rated). Client: New client profile created. Confirmation email sent to client with booking details, location map, and cancellation policy. Reminder SMS scheduled: 24 hours before and 2 hours before. Google Calendar sync: event created. Buffer time: 15 min after appointment. Payment: deposit of $25 charged, remaining $75 due at appointment.
```

## Capabilities

### Check real-time slot availability
The agent finds open time slots for a specific service or provider at any given date.

### Create and confirm appointments
The system books a new appointment, handles client data creation, and confirms all details in one call.

### Retrieve booking history
You can list or fetch the specific details for any past or upcoming booking record.

### Manage provider lists
The agent gives you a full breakdown of all available service providers (staff) and their credentials.

### List services and promotions
It pulls up the entire catalog of bookable services, categories, and active discounts or special offers.

## Use Cases

### A client asks for a last-minute appointment.
The user types: 'I need a 30-min consultation slot sometime next week.' The agent automatically runs `check_availability` against the service and then, finding an open slot, executes `create_booking`. Success. No manual steps required.

### Running end-of-month utilization reports.
The Ops Manager prompts: 'List all bookings for last month.' The agent uses `list_all_bookings` to pull the raw data, which can then be fed into a spreadsheet or report without copy/pasting dozens of entries.

### Checking if we have enough staff capacity.
The manager needs to know if they can handle 5 more appointments today. They ask the agent to list all providers (`list_providers`) and then check their current booking loads against maximum capacity using `get_booking_details` on a few key slots.

### Handling a client data update.
A customer calls with outdated info. Instead of manually updating fields, the agent uses `get_client` to verify existing details first, and then if prompted, handles any necessary profile updates through the API.

## Benefits

- Automate scheduling flow: Instead of checking availability, then creating the booking in separate steps, your agent handles the whole sequence. Use `check_availability` followed immediately by `create_booking` to confirm appointments instantly.
- Full visibility on revenue drivers: Quickly pull a list of current offers using `list_promotions`. This lets you advise clients on discounts without having to navigate through multiple pricing pages.
- Instant client context: Need to know what a person was last treated for? Call `get_client` with an ID. You get the full metadata in one step, which is way faster than manual database lookups.
- Operational oversight: Use `list_providers` and `list_services` together. Get a complete picture of who can do what, letting you assign tasks or check capacity across your entire staff roster.
- Simplified communication: When coordinating with CS teams, the agent lets you retrieve details (`get_booking_details`) and update statuses without needing to log into the main dashboard.

## How It Works

The bottom line is you manage your entire appointment book through natural language prompts, without manually calling APIs.

1. You prompt your AI client to perform a task (e.g., 'Book me a consultation for next week').
2. Your agent identifies the necessary tools (`check_availability`, `create_booking`) and calls them in sequence, passing required parameters like dates and service IDs.
3. The system returns the final status: either success with the booking confirmation or failure with an error message.

## Frequently Asked Questions

**How do I check availability using the `check_availability` tool?**
You must specify the service ID, provider ID (if applicable), and a date range. The agent returns all open slots for that criteria.

**What is the difference between `list_services` and `list_categories`?**
`list_categories` shows high-level groups of services (e.g., 'Wellness', 'Hair'). `list_services` gives you every single bookable offering within those categories, like 'Deep Tissue Massage'.

**Can I use the `create_booking` tool without a client ID?**
Yes. If the booking is for a new person, the agent creates the required client profile first and then uses that new ID when calling `create_booking`. This ensures data integrity.

**If I cancel an appointment with `cancel_booking`, does it free up the slot?**
Yes. The tool updates the system immediately, ensuring that time slot is visible and available for new bookings right away.

**What credentials are required when using the `get_client` tool?**
You need a valid Client ID and your Company API Token. The system verifies these against SimplyBook.me's records to confirm you have access to that client’s specific data.

**If I try to use the `create_booking` tool with an unavailable time slot, what happens?**
The tool will return a clear validation error. This usually means the provider is already booked or the requested service duration conflicts with the schedule.

**Does `list_clients` retrieve all client data, even if they haven't booked recently?**
Yes, it pulls a comprehensive list of every registered client in your account. You can then use their specific Client ID to pull full details with `get_client`.

**How do I check for current discounts using the `list_promotions` tool?**
Just call `list_promotions`. The output will display all currently active promotion codes, including their specific start and end dates so you know when they expire.

**How do I find my SimplyBook.me User API Token?**
Log in to your SimplyBook.me admin panel, enable the **API Custom Feature**, and navigate to **Settings** under that feature to find your User API Key.