Acuity Scheduling MCP by usefulapi
Server Details
Read appointments, types, calendars and availability; create, cancel or reschedule bookings.
- Status
- Healthy
- Uptime
- 81.0% over 54 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- m190/usefulapi-mcp
- GitHub Stars
- 0
TDQS
Scored across 18 tools
Each tool targets a distinct resource or action: availability lookups (classes/dates/times) are clearly separated by granularity, and appointment operations (create/get/list/cancel/reschedule) are unambiguous. The remaining list_* and create_* tools map to unique entities like clients, calendars, forms, and products, so there is no meaningful overlap.
Tool names mostly follow a consistent acuity_<action>_<resource> pattern with a clear prefix. The availability_* trio is the only notable deviation, using a noun-like resource phrase instead of an explicit verb such as list_.
Eighteen tools is slightly above the ideal 3–15 range, but the count is justified by the breadth of Acuity's domain: availability, appointments, clients, calendars, forms, labels, orders, and products. Each tool maps to a meaningful API operation, so the set feels comprehensive rather than bloated.
The core appointment lifecycle is well covered: check availability, book, list, read, cancel, and reschedule. Minor gaps exist such as no update/delete for clients or appointment types, but these are peripheral to the main scheduling workflow.
Available Tools
18 toolsacuity_availability_classesGet available classesRead-onlyInspect
List group class time slots (for class-type appointment types) in a month. Acuity REST: GET /availability/classes.
| Name | Required | Description | Default |
|---|---|---|---|
| month | Yes | Month to check, formatted YYYY-MM, e.g. '2026-08'. | |
| timezone | No | IANA timezone for the returned times, e.g. 'America/New_York'. | |
| appointmentTypeID | Yes | Class appointment type id (required). | |
| includeUnavailable | No | If true, also include full/unavailable class times. |
acuity_availability_datesGet available datesRead-onlyInspect
List dates in a month that have availability for an appointment type. Acuity REST: GET /availability/dates.
| Name | Required | Description | Default |
|---|---|---|---|
| month | Yes | Month to check, formatted YYYY-MM, e.g. '2026-08'. | |
| timezone | No | IANA timezone for the returned dates, e.g. 'America/New_York'. | |
| calendarID | No | Restrict to a specific calendar id. | |
| appointmentTypeID | Yes | Appointment type id to check availability for (required). |
acuity_availability_timesGet available timesRead-onlyInspect
List available time slots on a given date for an appointment type. Acuity REST: GET /availability/times.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Date to check, formatted YYYY-MM-DD, e.g. '2026-08-15'. | |
| timezone | No | IANA timezone for the returned times, e.g. 'America/New_York'. | |
| calendarID | No | Restrict to a specific calendar id. | |
| appointmentTypeID | Yes | Appointment type id to check availability for (required). |
acuity_cancel_appointmentCancel appointmentDestructiveInspect
CANCELS an existing appointment. This MODIFIES the calendar and, unless suppressed, may send cancellation emails. Acuity REST: PUT /appointments/{id}/cancel.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Appointment id to cancel (required). | |
| admin | No | If true, cancel as admin (bypasses client cancellation restrictions). | |
| noEmail | No | If true, suppress cancellation emails. | |
| cancelNote | No | Optional note explaining the cancellation. |
acuity_create_appointmentCreate appointmentDestructiveInspect
CREATES a new appointment (books a client into a time slot). This MODIFIES the calendar and, unless suppressed, may send confirmation emails. Acuity REST: POST /appointments.
| Name | Required | Description | Default |
|---|---|---|---|
| admin | No | If true, book as admin — bypasses availability checks and required-form enforcement. Default false. | |
| Yes | Client email (required). | ||
| notes | No | Notes to attach to the appointment. | |
| phone | No | Client phone number. | |
| fields | No | Intake form field answers, each { id, value }. | |
| noEmail | No | If true, suppress client/owner confirmation emails. | |
| datetime | Yes | Start time in ISO 8601 with offset, e.g. '2026-08-15T14:00:00-0400' (required). | |
| lastName | Yes | Client last name (required). | |
| timezone | No | IANA timezone for the datetime, e.g. 'America/New_York'. | |
| firstName | Yes | Client first name (required). | |
| calendarID | No | Calendar id to book on (defaults to an available one). | |
| appointmentTypeID | Yes | Appointment type id to book (required). |
acuity_create_clientCreate clientDestructiveInspect
CREATES a new client record in the account's client list. This ADDS data to the account. Acuity REST: POST /clients.
| Name | Required | Description | Default |
|---|---|---|---|
| No | Client email. | ||
| notes | No | Notes about the client. | |
| phone | No | Client phone number. | |
| lastName | Yes | Client last name (required). | |
| firstName | Yes | Client first name (required). |
acuity_get_appointmentGet appointmentRead-onlyInspect
Get a single appointment by its id. Acuity REST: GET /appointments/{id}.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Appointment id. |
acuity_get_meGet account infoRead-onlyInspect
Get the authenticated Acuity account's profile (name, email, timezone, plan, currency). Acuity REST: GET /me.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
acuity_list_appointmentsList appointmentsRead-onlyInspect
List appointments scheduled on the account, with optional filters. Acuity REST: GET /appointments.
| Name | Required | Description | Default |
|---|---|---|---|
| max | No | Max appointments to return. | |
| No | Filter by client email. | ||
| maxDate | No | Only appointments on/before this date (YYYY-MM-DD or ISO datetime). | |
| minDate | No | Only appointments on/after this date (YYYY-MM-DD or ISO datetime). | |
| canceled | No | If true, return canceled appointments (default false). | |
| lastName | No | Filter by client last name. | |
| direction | No | Sort order by datetime. ASC (default) or DESC. | |
| firstName | No | Filter by client first name. | |
| calendarID | No | Filter to a specific calendar id. | |
| appointmentTypeID | No | Filter to a specific appointment type id. |
acuity_list_appointment_typesList appointment typesRead-onlyInspect
List the account's appointment types (services and classes), including price, duration and calendars. Acuity REST: GET /appointment-types.
| Name | Required | Description | Default |
|---|---|---|---|
| includeDeleted | No | If true, also include deleted/inactive appointment types. |
acuity_list_blocksList blocked-off timesRead-onlyInspect
List blocked-off (unavailable) time ranges on the account's calendars. Acuity REST: GET /blocks.
| Name | Required | Description | Default |
|---|---|---|---|
| max | No | Max blocks to return. | |
| maxDate | No | Only blocks on/before this date (YYYY-MM-DD or ISO datetime). | |
| minDate | No | Only blocks on/after this date (YYYY-MM-DD or ISO datetime). | |
| calendarID | No | Filter to a specific calendar id. |
acuity_list_calendarsList calendarsRead-onlyInspect
List the account's calendars (staff/resources appointments can be booked on). Acuity REST: GET /calendars.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
acuity_list_clientsList clientsRead-onlyInspect
List clients on the account, optionally filtered by a search string (name/email/phone). Acuity REST: GET /clients.
| Name | Required | Description | Default |
|---|---|---|---|
| search | No | Optional search string to match client name, email, or phone. |
acuity_list_formsList intake formsRead-onlyInspect
List the account's custom intake forms and their fields. Acuity REST: GET /forms.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
acuity_list_labelsList labelsRead-onlyInspect
List the appointment labels (colored tags) defined on the account. Acuity REST: GET /labels.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
acuity_list_ordersList ordersRead-onlyInspect
List store orders (product / package / gift-certificate purchases). Acuity REST: GET /orders.
| Name | Required | Description | Default |
|---|---|---|---|
| max | No | Max orders to return. | |
| No | Filter orders by buyer email. |
acuity_list_productsList productsRead-onlyInspect
List the account's products / packages / gift certificates for sale. Acuity REST: GET /products.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
acuity_reschedule_appointmentReschedule appointmentDestructiveInspect
RESCHEDULES an existing appointment to a new time (and optionally a new calendar). This MODIFIES the calendar and, unless suppressed, may send update emails. Acuity REST: PUT /appointments/{id}/reschedule.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Appointment id to reschedule (required). | |
| admin | No | If true, reschedule as admin (bypasses availability checks). | |
| noEmail | No | If true, suppress reschedule emails. | |
| datetime | Yes | New start time in ISO 8601 with offset, e.g. '2026-08-16T10:00:00-0400' (required). | |
| calendarID | No | Move the appointment to this calendar id. |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
18 tool updates
- Changed
acuity_availability_classes1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
acuity_availability_dates1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
acuity_availability_times1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
acuity_cancel_appointment1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
acuity_create_appointment1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
acuity_create_client1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
acuity_get_appointment1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
acuity_get_me1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
acuity_list_appointment_types1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
acuity_list_appointments1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
acuity_list_blocks1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
acuity_list_calendars1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
acuity_list_clients1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
acuity_list_forms1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
acuity_list_labels1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
acuity_list_orders1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
acuity_list_products1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
acuity_reschedule_appointment1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
18 tool updates
- First observed
acuity_availability_classes - First observed
acuity_availability_dates - First observed
acuity_availability_times - First observed
acuity_cancel_appointment - First observed
acuity_create_appointment - First observed
acuity_create_client - First observed
acuity_get_appointment - First observed
acuity_get_me - First observed
acuity_list_appointment_types - First observed
acuity_list_appointments - First observed
acuity_list_blocks - First observed
acuity_list_calendars - First observed
acuity_list_clients - First observed
acuity_list_forms - First observed
acuity_list_labels - First observed
acuity_list_orders - First observed
acuity_list_products - First observed
acuity_reschedule_appointment
Related MCP Connectors
Manage YouCanBook.me bookings, booking pages, appointment types, team members and locations.
Find available slots and manage bookings, users, and forms in the SuperSaaS scheduling service
Search clients, appointments, intakes, notes and invoices in IntakeQ, and book or cancel visits.
Read and write NexHealth appointments, patients, providers and locations.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceProvides MCP tools to list valid appointment slots, schedule, reschedule, and cancel appointments under a clinic's business policy (hours, buffers, minimum notice, practitioner availability).1MIT
- FlicenseBqualityNot gradedmaintenanceEnables interaction with Microsoft Bookings through the Microsoft Graph API to manage businesses, staff members, services, and appointments.4-
- AlicenseAqualityCmaintenanceEnables MCP clients to search availability, read services, resources, bookings and customers, and, when writes are enabled, reserve slots, create or cancel bookings, and add or update customers.10MIT
- AlicenseAqualityCmaintenanceEnables AI agents to look up businesses, find free appointment slots, book, list and cancel appointments at salons, barbershops, nail and brow studios and clinics. Works read-only without a customer login by returning a pre-filled booking link, and can also run against a built-in demo with sample businesses.5MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.