Skip to main content
The Acuity Scheduling MCP Server connects AI tools like ChatGPT and Claude, enabling automated appointment scheduling, reminders, and calendar management for businesses.

Server Details

PropertyValue
TransportStreamable HTTP
HostingRemote (externally hosted)
CategoriesCalendar & Scheduling, Scheduling & Booking

Authentication

This server supports the following authentication method:

Header Authentication

This server authenticates via HTTP headers. During the server onboarding flow, you will be prompted to confirm the required headers. Note that you do not provide the values for the headers during the server on-boarding. Header values are provided by the users during the Auth Link flow.

Getting Started

1

Add the server

Navigate to the Server Library and click on the New Server button. Find Acuity Scheduling in the Caylex Catalog.
2

Server Onboarding flow

Go through the server onboarding flow.In the Authorization configuration step (Step 3 of the server onboarding), you should see x-user-id and x-api-key header. You do not need to provide values for these header here. The values will be provided by the users during the Auth Link flow.
3

Use in a project

Add the server to a project by configuring project connections. Its tools are now available to any agents connected to that project.

Available Tools

This server provides 12 tools:
Write: Cancel an appointment by id.When to use: User clearly requests cancellation.Body: JSON object per Acuity cancel API (may be empty or include reason—follow API docs).Safety: Irreversible for the client; confirm id and intent.
Write: Move an appointment to a new time by id.When to use: User wants a different slot for an existing booking.Body: New datetime / scheduling fields per Acuity.Safety: Re-check availability if the user suggested a narrow window; wrong slots frustrate users.
List payment records for one appointment id.When to use: Refunds, receipt questions, or “was this paid?”.Efficiency: Single-appointment scope—cheaper than listing all appointments.
List all service / appointment types (names, duration, price, calendars).When to use: Before acuity_appointment_create, when explaining offerings, or mapping human labels to appointmentTypeID.
List optional add-ons that can attach to bookings.When to use: Upsell flows or building a correct create payload with add-on IDs.
Which dates have open capacity (for scheduling UIs).When to use: First step in booking: narrow to dates before loading times.Workflow: Then call acuity_availability_list_times for a chosen date.
Time slots available on a given date.When to use: After acuity_availability_list_dates, offer concrete start times to the user.Efficiency: Pass the specific date only—avoid calling for every date without need.
Read-only POST: Ask Acuity whether proposed slot(s) are free without creating a row.When to use: Validate a user-suggested time before acuity_appointment_create.Body: JSON with the times/fields Acuity expects for this endpoint.Safety: Does not book; still uses API quota like other calls.
List appointments for the Acuity account tied to the Authorization: Basic credentials on this MCP request.When to use: The user wants their bookings, staff wants a schedule slice, or you need IDs before get/update/cancel/reschedule.Context: Scope with email, phone, firstName, lastName, calendarID, appointmentTypeID, minDate, maxDate, canceled. Set excludeForms=true unless you need intake forms. direction is ASC or DESC (default DESC). max caps rows (default 100).Privacy: Without client filters you may see many clients’ appointments—prefer email/phone/name filters when acting for one person.Efficiency: Always bound with max and dates when possible.
Write: Create one appointment in Acuity.When to use: The user explicitly wants to book after you have a valid slot and type.Prerequisites: Call acuity_appointment_type_list for appointmentTypeID; use acuity_availability_list_dates + acuity_availability_list_times (or acuity_availability_check) so the slot is valid.Body: JSON matching Acuity Appointment (client fields, datetime, type, calendar, etc.).Safety: Confirm details with the user before POST.
Fetch one appointment by numeric id.When to use: Confirm booking details, notes, forms, or labels; verify state before reschedule/cancel/update.Prerequisites: id from acuity_appointment_list or a prior create.
Write: Update an existing appointment by id (HTTP PUT to Acuity).When to use: User asks to change time, client info, notes, or other fields on an existing booking.Body: JSON with Appointment fields to apply.Safety: Read with acuity_appointment_get first when unsure; follow Acuity semantics for partial vs full updates.
https://d338mlbnszozgc.cloudfront.net/logos/google-calendar.svg

Google Calendar

https://d338mlbnszozgc.cloudfront.net/logos/calendly.svg

Calendly