Acuity Scheduling MCP by usefulapi
by usefulapi.io · remote · no sign-in to list tools · v1.16.3 · published by io.usefulapi
Read appointments, types, calendars and availability; create, cancel or reschedule bookings.
18 tools: 4 can delete or cancel things and 14 only read.
Scanned Oct 21, 2026
- Deletes or cancels4Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things0Claude Code: ask
- Only reads14Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http acuity-scheduling https://acuity-scheduling.usefulapi.io/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
18 tools
Deletes or cancels 4Claude Code: deny
acuity_cancel_appointmentCANCELS an existing appointment.No findings
Why it is in this group
- The name "acuity_cancel_appointment" says "cancel": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it CANCELS an existing appointment. This MODIFIES the calendar and, unless suppressed, may send cancellation emails. Acuity REST: PUT /appointments/{id}/cancel.
Annotations the server declares
- title: Cancel appointment
- destructiveHint: true
acuity_create_appointmentCREATES a new appointment (books a client into a time slot).No findings
Why it is in this group
- The name "acuity_create_appointment" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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.
Annotations the server declares
- title: Create appointment
- destructiveHint: true
acuity_create_clientCREATES a new client record in the account's client list.No findings
Why it is in this group
- The name "acuity_create_client" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it CREATES a new client record in the account's client list. This ADDS data to the account. Acuity REST: POST /clients.
Annotations the server declares
- title: Create client
- destructiveHint: true
acuity_reschedule_appointmentRESCHEDULES an existing appointment to a new time (and optionally a new calendar).No findings
Why it is in this group
- The name "acuity_reschedule_appointment" says "reschedule": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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.
Annotations the server declares
- title: Reschedule appointment
- destructiveHint: true
Only reads 14Claude Code: allow
acuity_availability_classesList group class time slots (for class-type appointment types) in a month.No findings
Why it is in this group
- The description's first verb is "list": a word for reading.
Description, as the server wrote it List group class time slots (for class-type appointment types) in a month. Acuity REST: GET /availability/classes.
Annotations the server declares
- title: Get available classes
- readOnlyHint: true
acuity_availability_datesList dates in a month that have availability for an appointment type.No findings
Why it is in this group
- The description's first verb is "list": a word for reading.
Description, as the server wrote it List dates in a month that have availability for an appointment type. Acuity REST: GET /availability/dates.
Annotations the server declares
- title: Get available dates
- readOnlyHint: true
acuity_availability_timesList available time slots on a given date for an appointment type.No findings
Why it is in this group
- The description's first verb is "list": a word for reading.
Description, as the server wrote it List available time slots on a given date for an appointment type. Acuity REST: GET /availability/times.
Annotations the server declares
- title: Get available times
- readOnlyHint: true
acuity_get_appointmentGet a single appointment by its id.No findings
Why it is in this group
- The name "acuity_get_appointment" says "get": a word for reading.
Description, as the server wrote it Get a single appointment by its id. Acuity REST: GET /appointments/{id}.
Annotations the server declares
- title: Get appointment
- readOnlyHint: true
acuity_get_meGet the authenticated Acuity account's profile (name, email, timezone, plan, currency).No findings
Why it is in this group
- The name "acuity_get_me" says "get": a word for reading.
Description, as the server wrote it Get the authenticated Acuity account's profile (name, email, timezone, plan, currency). Acuity REST: GET /me.
Annotations the server declares
- title: Get account info
- readOnlyHint: true
acuity_list_appointment_typesList the account's appointment types (services and classes), including price, duration and calendars.No findings
Why it is in this group
- The name "acuity_list_appointment_types" says "list": a word for reading.
Description, as the server wrote it List the account's appointment types (services and classes), including price, duration and calendars. Acuity REST: GET /appointment-types.
Annotations the server declares
- title: List appointment types
- readOnlyHint: true
acuity_list_appointmentsList appointments scheduled on the account, with optional filters.No findings
Why it is in this group
- The name "acuity_list_appointments" says "list": a word for reading.
Description, as the server wrote it List appointments scheduled on the account, with optional filters. Acuity REST: GET /appointments.
Annotations the server declares
- title: List appointments
- readOnlyHint: true
acuity_list_blocksList blocked-off (unavailable) time ranges on the account's calendars.No findings
Why it is in this group
- The name "acuity_list_blocks" says "list": a word for reading.
Description, as the server wrote it List blocked-off (unavailable) time ranges on the account's calendars. Acuity REST: GET /blocks.
Annotations the server declares
- title: List blocked-off times
- readOnlyHint: true
acuity_list_calendarsList the account's calendars (staff/resources appointments can be booked on).No findings
Why it is in this group
- The name "acuity_list_calendars" says "list": a word for reading.
Description, as the server wrote it List the account's calendars (staff/resources appointments can be booked on). Acuity REST: GET /calendars.
Annotations the server declares
- title: List calendars
- readOnlyHint: true
acuity_list_clientsList clients on the account, optionally filtered by a search string (name/email/phone).No findings
Why it is in this group
- The name "acuity_list_clients" says "list": a word for reading.
Description, as the server wrote it List clients on the account, optionally filtered by a search string (name/email/phone). Acuity REST: GET /clients.
Annotations the server declares
- title: List clients
- readOnlyHint: true
acuity_list_formsList the account's custom intake forms and their fields.No findings
Why it is in this group
- The name "acuity_list_forms" says "list": a word for reading.
Description, as the server wrote it List the account's custom intake forms and their fields. Acuity REST: GET /forms.
Annotations the server declares
- title: List intake forms
- readOnlyHint: true
acuity_list_labelsList the appointment labels (colored tags) defined on the account.No findings
Why it is in this group
- The name "acuity_list_labels" says "list": a word for reading.
Description, as the server wrote it List the appointment labels (colored tags) defined on the account. Acuity REST: GET /labels.
Annotations the server declares
- title: List labels
- readOnlyHint: true
acuity_list_ordersList store orders (product / package / gift-certificate purchases).No findings
Why it is in this group
- The name "acuity_list_orders" says "list": a word for reading.
Description, as the server wrote it List store orders (product / package / gift-certificate purchases). Acuity REST: GET /orders.
Annotations the server declares
- title: List orders
- readOnlyHint: true
acuity_list_productsList the account's products / packages / gift certificates for sale.No findings
Why it is in this group
- The name "acuity_list_products" says "list": a word for reading.
Description, as the server wrote it List the account's products / packages / gift certificates for sale. Acuity REST: GET /products.
Annotations the server declares
- title: List products
- readOnlyHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.16.3. Values in angle brackets are yours to fill in.
claude mcp add --transport http acuity-scheduling https://acuity-scheduling.usefulapi.io/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__acuity-scheduling__acuity_list_appointments",
"mcp__acuity-scheduling__acuity_get_appointment",
"mcp__acuity-scheduling__acuity_list_appointment_types",
"mcp__acuity-scheduling__acuity_list_calendars",
"mcp__acuity-scheduling__acuity_availability_dates",
"mcp__acuity-scheduling__acuity_availability_times",
"mcp__acuity-scheduling__acuity_availability_classes",
"mcp__acuity-scheduling__acuity_list_clients",
"mcp__acuity-scheduling__acuity_list_forms",
"mcp__acuity-scheduling__acuity_list_products",
"mcp__acuity-scheduling__acuity_list_orders",
"mcp__acuity-scheduling__acuity_list_blocks",
"mcp__acuity-scheduling__acuity_list_labels",
"mcp__acuity-scheduling__acuity_get_me"
],
"ask": [],
"deny": [
"mcp__acuity-scheduling__acuity_create_appointment",
"mcp__acuity-scheduling__acuity_cancel_appointment",
"mcp__acuity-scheduling__acuity_reschedule_appointment",
"mcp__acuity-scheduling__acuity_create_client"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as acuity-scheduling. Review it before you use it.