mindbody-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MBO_API_KEY | Yes | Your Mindbody API key | |
| MBO_SITE_ID | No | Default SiteId when a tool call does not pass one | |
| MBO_API_BASE | No | API base URL | https://api.mindbodyonline.com/public/v6 |
| MBO_PASSWORD | Yes | Staff password for the site | |
| MBO_USERNAME | Yes | Staff username for the site | |
| MBO_ALLOW_WRITES | No | Registers the write tools | off |
| MBO_MCP_PROGRESS | No | Set to off to stop progress notifications | on |
| MBO_WEBHOOKS_BASE | No | Webhooks API base URL | https://mindbody.io/platform/webhooks/v1 |
| MBO_ALLOW_WEBHOOK_ADMIN | No | Registers the webhook admin tools | off |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| mbo_search_clientsA | Search Mindbody members by name/email/phone text, or fetch specific ClientIds. Returns raw MBO client records (contact info, MembershipIcon, status). For bulk member scans set includeProspects=false and raise maxPages. |
| mbo_get_clientA | GET /client/clientcompleteinfo — one client's full record: profile, membership icon, client services, contracts, and account balances in a single call. |
| mbo_get_client_servicesB | GET /client/clientservices — a client's purchased services (memberships, class packs, intro offers) with Current flags, remaining counts, and expiration dates. |
| mbo_get_client_contractsA | GET /client/clientcontracts — a client's contracts (array is under |
| mbo_classify_client_paymentA | Derived tool: buckets a client into paying | pastDue | onHold | promo | comp | none from their contracts, plus join/churn lifecycle dates. 'paying' requires a recurring NormalAutoPay > 0 — one-time setup fees never count as proof of payment. |
| mbo_get_client_visitsB | GET /client/clientvisits — a client's visit history (class check-ins) in a date range. |
| mbo_get_classesA | GET /class/classes — the session schedule for a date range: staff, description, TotalBooked, TotalSignedIn (actual attendance — use this for show-rate math), waitlist, capacity, cancellation status. |
| mbo_get_class_visitsA | Session roster rows (who was booked/signed in, late cancels, and the service they used) for specific sessions. The v6 endpoint only accepts a SINGULAR ClassId, so this tool issues one request per session with bounded concurrency (5). Service.Name reveals intro-offer/first-timer members. Member ids come back as m_... tokens. |
| mbo_get_staffA | GET /staff/staff — staff at a site. Contact details are removed and names are reduced to initials by the PII mask. |
| mbo_get_salesA | GET /sale/sales — sales transactions in a datetime range (the refund/purchase source of truth). Dates are site-local. |
| mbo_get_servicesA | GET /sale/services — purchasable services/pricing options (memberships, packs, intro offers) with ProductId, Price, and program linkage. Cached per site for 12h; |
| mbo_get_site_infoB | Site-level reference data: sites (name/timezone), locations, programs, sessiontypes, memberships, or resources. |
| mbo_api_getA | Escape hatch: GET any Mindbody Public API v6 path with query params — covers all ~150 read operations (appointment/, enrollment/, payroll/, pricingoption/, site/, staff/, ...). Paths are like /appointment/staffappointments. Query param names are PascalCase (StartDate, ClientId, Limit...); m_... member tokens are accepted as values. Set paginate=true for list endpoints to follow Limit/Offset pages. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 13 tools
Most tools target clearly distinct resources (clients, classes, staff, sales, site info), and the detailed descriptions clarify boundaries well. However, mbo_get_client_services vs mbo_get_services, and mbo_get_classes vs mbo_get_class_visits, are near-collisions that require reading the descriptions to disambiguate.
Nearly all tools follow a consistent mbo_ + verb_noun snake_case pattern (mbo_get_client, mbo_get_sales, mbo_search_clients). mbo_api_get reverses the verb-noun order and mbo_classify_client_payment is a longer derived-tool name, but these are minor deviations rather than real inconsistency.
13 tools is well-scoped for a broad Mindbody API surface, with each tool earning its place across client, class, staff, sales, and reference domains. The escape hatch absorbs the long tail rather than spawning dozens of thin tools.
Read coverage is strong across the core domains, and mbo_api_get backstops all ~150 read operations, so agents rarely hit a dead end. The main gap is the absence of any write operations (booking, creating clients, updating contracts), though the server appears intentionally read/analytics-oriented.