acuity_cancel_ appointmentCancel an appointment.
Book, reschedule and cancel appointments, check what's actually bookable before writing, block off calendar time, look up client records, and edit an appointment's intake answers.
PopMCPAcuity Scheduling
Every appointment, availability, client, block, certificate, order and webhook call your agent can make, plus the events it can watch for.
acuity_cancel_ appointmentCancel an appointment.
acuity_create_ appointmentBook a new appointment.
acuity_get_ appointmentGet a single appointment by its numeric id.
acuity_list_ appointment_ paymentsList the payment transactions recorded against an appointment.
acuity_list_ appointmentsList appointments scheduled for the account.
acuity_reschedule_ appointmentMove an appointment to a new time.
acuity_update_ appointmentUpdate an appointment's client details and intake-form answers (a white-list of fields).
acuity_check_ timesValidate whether specific time slots are still bookable, before creating an appointment.
acuity_create_ blockBlock off a range of time on a calendar so it can't be booked.
acuity_create_ certificateIssue a certificate code.
acuity_create_ clientCreate a client record.
acuity_delete_ blockDelete a blocked-off time range (frees the time for booking again).
acuity_delete_ clientDelete a client.
acuity_list_ availability_ classesList scheduled group class instances (offerings) and their available spots.
acuity_list_ availability_ datesList the bookable dates in a month for an appointment type.
acuity_list_ availability_ timesList the bookable time slots on a date for an appointment type.
acuity_list_ blocksList blocked-off time ranges (times marked unavailable for booking).
acuity_list_ certificatesList issued certificate codes (redeemable package/coupon/gift-certificate codes).
acuity_list_ clientsList (or search) the account's clients.
acuity_update_ clientUpdate a client.
acuity_create_ webhookSubscribe to an Acuity event.
acuity_delete_ webhookDelete (unsubscribe) a webhook subscription by id.
acuity_list_ webhooksList the account's active webhook subscriptions.
acuity_get_ accountGet the authenticated Acuity account profile: business name, email, timezone, currency, and plan.
acuity_list_ appointment_ typesList the account's appointment types (services and classes).
acuity_list_ formsList the account's intake forms.
acuity_list_ labelsList the appointment labels defined for the account.
acuity_list_ ordersList orders (product/package/gift-certificate purchases).
acuity_list_ calendarsList the account's calendars (staff members / resources / locations).
acuity_check_ certificateValidate a certificate code for an appointment type (e.g.
acuity_delete_ certificateDelete an issued certificate by its numeric id.
acuity_get_ blockGet a single blocked-off time range by id.
acuity_get_ metaGet account-level metadata for Acuity services.
acuity_get_ orderGet a single order by its id.
acuity_list_ appointment_ addonsList appointment add-on products that can be attached to a booking via addonIDs.
acuity_list_ productsList the account's products: packages, subscriptions, and gift certificates available for sale.
Credentials off one Acuity Scheduling screen, then an endpoint your client signs into. Nothing to deploy, and nothing to install.
Paste the User ID and API Key from Acuity's Bizz Settings > Integrations > API screen; both sit on one page, with no OAuth popup or redirect URL. The key is scoped to one account, so the server is locked to it.
e.g. 11145481••••••••••••3f7aChoose read-only for reporting, or full access with approval held on writes so a cancelled appointment, deleted client or removed block waits for your yes. Turn on the full catalog to reach the rarer calls.
Drop the PopMCP URL into Claude, ChatGPT, Codex or any other supported client. It signs in through PopMCP with OAuth, so your Acuity Scheduling credential never leaves the server.
app.popmcp.com/mcp/…Ask for something harmless before you turn writes on. Once it comes back clean, widen the tool set or switch the connection to full access.
Show me next week's appointments by staff calendar and flag any with unpaid balances
acuity_list_calendarsok
Then just ask for the work
“Show me next week's appointments by staff calendar and flag any with unpaid balances”
“Move all of Friday's 9am consults to the same slot next Tuesday”
“Add Priya as a client and book her into the 60-minute massage on Tuesday”
“Which clients bought a package last month but haven't booked a single session yet”
One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.
Add the PopMCP URL under Settings → Connectors and the tools appear in every chat.
The same endpoint, registered in the browser. Nothing to install on the machine you are working from.
Register PopMCP as a custom connector, then let ChatGPT read and update the account.
Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.
Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.
Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.
FAQ
What teams ask before putting Acuity Scheduling behind an AI client.
No. You copy a User ID and an API Key from Acuity's Bizz Settings > Integrations > API screen and paste both into the connect form. There is no OAuth popup, no redirect URL to register and no token refresh to maintain; authentication happens server-side over HTTPS using HTTP Basic. The key is scoped to a single Acuity account, so the connection is locked to that account.
Yes, but Acuity splits the job across three calls, and that is the thing people trip on. acuity_update_appointment handles client details and intake-form answers only, against a white-list of fields; moving a booking to a new day or time is acuity_reschedule_appointment; calling it off is acuity_cancel_appointment. Asking one generic update to do all three will not work.
Availability is exposed as separate reads: acuity_list_availability_dates for the bookable dates in a month, acuity_list_availability_times for the slots on a given date, and acuity_list_availability_classes for group class instances and their remaining spots. Before writing, acuity_check_times re-validates specific slots. Have the agent check times immediately before acuity_create_appointment, since availability moves between the read and the write.
All of them. acuity_list_appointment_types returns both services and classes, acuity_list_products covers packages, subscriptions and gift certificates offered for sale, and acuity_list_orders with acuity_get_order covers what clients actually bought. Redeemable codes have their own calls for issuing, validating, listing and deleting.
The write side includes cancelling appointments, deleting clients, deleting blocked-off time, deleting issued certificates and removing webhook subscriptions. Read-only mode keeps all of those out of reach entirely. Full access with approval-required-for-writes leaves them available but holds each call for your confirmation, while reads such as listing appointments or clients run untouched.
Fourteen. Six come through Acuity's own webhooks: appointment booked, rescheduled, cancelled and details changed, plus order completed and gift certificate issued. The other eight are change detection over the account - new client added, order placed, time blocked off, appointment type added, product added, calendar added, intake form changed and certificate code added. The agent can also manage subscriptions directly with acuity_create_webhook, acuity_list_webhooks and acuity_delete_webhook.
No. PopMCP hosts it and gives you a Streamable HTTP MCP URL. There is nothing to deploy, no callback URL to register, and no infrastructure to keep running or patch.
Any client that supports a remote Streamable HTTP MCP server — Claude Desktop, Claude Web, ChatGPT custom connectors, Codex and the Codex CLI, OpenCode and Z.ai's ZCode, as well as editors such as Cursor, Windsurf and Zed. Your client signs in to PopMCP with OAuth; the provider credential never leaves the server.
Loading 36 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 29-tool set covering the everyday workflows and keeps the rest searchable, so your AI pulls a specialist tool only when a task needs it. You can switch a connection to the full catalog at any time.
A tool is something your AI calls — there are 36 here. A trigger is something PopMCP watches for you: 14 Acuity Scheduling events that can start work on the PopMCP side. Triggers never enter your AI client's context, and none of them ask you to paste a callback URL into Acuity Scheduling.
Launch a hosted MCP endpoint for Acuity Scheduling, keep tool access under control, and start testing real workflow prompts right away.