Mindbody MCP server. Read Mindbody classes, schedules, clients, staff and sales; book clients and appointments.
Add to your MCP config, then reload & authorize:
{
"mcpServers": {
"mindbody": {
"url": "https://mindbody.usefulapi.io/mcp"
}
}
}| Tool | Type | What it does |
|---|---|---|
mindbody_list_sites | read | List sites List the Mindbody sites (businesses) your developer account can access, or details for specific site ids. A cheap way to confirm the API key works. Mindbody: GET /site/sites. |
mindbody_list_locations | read | List locations List the business's locations (studios / branches) with address, phone and amenities. Location ids are needed to book appointments. Mindbody: GET /site/locations. |
mindbody_list_session_types | read | List session types List the session types (the bookable kinds of class or appointment, e.g. '60-min massage') used at the site. Session type ids drive appointment availability and booking. Mindbody: GET /site/sessiontypes. |
mindbody_list_classes | read | List scheduled classes List scheduled class occurrences in a date range — time, class description, teacher, location, capacity, booked/waitlist counts and cancellation status. Mindbody: GET /class/classes. |
mindbody_list_class_schedules | read | List class schedules List recurring class schedules (the templates that generate class occurrences) — days, times, teacher, location and date span. Mindbody: GET /class/classschedules. |
mindbody_get_class_visits | read | Get a class's visits (roster) Get one class with its visits — the roster of clients booked into it, with sign-in / late-cancel status. Mindbody: GET /class/classvisits. |
mindbody_list_bookable_items | read | Find bookable appointment slots Find appointment availability — which staff can deliver the given session types, where, and in which time windows. Use before mindbody_add_appointment. Mindbody: GET /appointment/bookableitems. |
mindbody_list_staff_appointments | read | List appointments List booked appointments in a date range, by staff member, client or appointment id — the appointment book. Mindbody: GET /appointment/staffappointments. |
mindbody_list_clients | read | Search clients Search or fetch client records by name/email text or by client ids (max 20 ids) — contact details, status, alerts, home location. Requires a staff user token. Mindbody: GET /client/clients. |
mindbody_list_client_visits | read | List a client's visits List a client's past and scheduled visits (class and appointment attendance) in a date range, optionally only unpaid ones. Mindbody: GET /client/clientvisits. |
mindbody_list_client_memberships | read | List a client's active memberships List a client's active memberships (auto-renewing pricing options) with remaining counts and expiry. Mindbody: GET /client/activeclientmemberships. |
mindbody_get_client_account_balances | read | Get client account balances Get the account balance for one or more clients (what they owe or hold in credit), optionally as of a date. Mindbody: GET /client/clientaccountbalances. |
mindbody_list_staff | read | List staff List staff members (instructors, practitioners). Filter by role, or find who is available for a session type at a location and time (session_type_id + location_id + start_date_time together). Without a staff token only public fields return. Mindbody: GET /staff/staff. |
mindbody_list_services | read | List pricing options List the pricing options (services — class packs, drop-ins, intro offers) for sale at the site, with price, online price, count and expiry. Read only. Mindbody: GET /sale/services. |
mindbody_list_sales | read | List sales List completed sales at the site in a date/time range — purchased items, payments and client. Read only. Mindbody: GET /sale/sales. |
mindbody_add_client_to_class | write | Book a client into a class Book a client into a class (or onto its waiting list). Does not take payment: by default no pricing option is required; set require_payment to insist the client has a usable one on account. Undo from the Mindbody front desk. Pass test: true to validate only. Mindbody: POST /class/addclienttoclass. |
mindbody_add_appointment | write | Book an appointment Book an appointment for a client with a staff member at a location. Find a slot first with mindbody_list_bookable_items. No card is charged; apply_payment (Mindbody's default is true) only applies a pricing option already on the client's account. Pass test: true to validate only. Requires a staff user token. Mindbody: POST /appointment/addappointment. |
mindbody_update_appointment | write | Update an appointment Reschedule or edit an appointment (start/end time, staff, session type, notes — the only fields Mindbody lets you change) and/or move it through its status: confirm, unconfirm, arrive, unarrive, complete. Cancel and late-cancel are deliberately not offered (a late cancel can charge the client). Pass test: true to validate only. Requires a staff user token. Mindbody: POST /appointment/updateappointment. |
mindbody_add_client | write | Add a client Create a new client record (first and last name required; the site may require more — Mindbody reports which). No card or billing data is accepted. Pass test: true to validate only. Mindbody: POST /client/addclient. |
mindbody_update_client | write | Update a client Update fields on an existing client record — only the fields you pass change. No card or billing data is accepted. cross_regional_update (Mindbody default: true) also updates the client's profiles at the region's other sites. Pass test: true to validate only. Mindbody: POST /client/updateclient. |
mindbody_usage_status | Usage status (free-tier meter) Report the caller's current free-tier usage this month: calls used, monthly limit, remaining, and whether the cap is reached. Read-only; does not count against the meter. | |
mindbody_upgrade | Upgrade to Pro (unlimited) Subscribe to the Pro plan for UNLIMITED Mindbody tool calls (the free tier caps monthly usage). Choose monthly ($9/month) or yearly ($90/year — 2 months free) billing. Returns a Stripe Checkout link to open in your browser; after payment your account upgrades automatically. Read-only; does not count against the meter. |
| Plan | Price | Limit |
|---|---|---|
| Free | $0 | 100 tool calls / month |
| Proper user | $9/mo · $90/yr | Unlimited |
This is a Model Context Protocol endpoint — meant to be connected from an AI client, not opened in a browser. An invalid_token response at the URL is the auth gate working as designed; clients authenticate automatically.