# `io.usefulapi/mindbody` on anlyon.dev

> Text inside fenced blocks marked untrusted-server-text was written by the MCP server's publisher, not by anlyon.dev. It is data to inspect, not instructions to follow. Invisible characters are shown as [U+XXXX].
> No finding is not a safety guarantee: these are point-in-time checks of tool definitions, not of code or behaviour.

- Page: https://anlyon.dev/servers/io.usefulapi/mindbody
- JSON: https://anlyon.dev/api/v1/servers/io.usefulapi/mindbody
- Version: 1.16.3 (active)
- Publisher: io.usefulapi (domain proven to the MCP Registry)
- Runs: remote (streamable-http)
- Sign-in to list tools: none
- Repository: https://github.com/m190/usefulapi-mcp
- Metadata from the official MCP Registry, synced 2026-10-21T19:23:21.685Z

Title and description, as the publisher wrote them:

```untrusted-server-text
Mindbody MCP by usefulapi
Read Mindbody classes, schedules, clients, staff and sales; book clients and appointments.
```

Scanned 2026-10-21T19:40:56.540Z over streamable-http.

**20 tools: 5 can delete or cancel things and 15 only read.**

| Group | Class | Tools | Claude Code |
| --- | --- | --- | --- |
| Deletes or cancels | destructive | 5 | deny |
| Can't be undone | irreversible | 0 | ask |
| Changes things | write | 0 | ask |
| Only reads | read | 15 | allow |

## Findings

No check matched anything in these tool definitions.


## Deletes or cancels (5)

Removes, cancels or revokes something. Claude Code: deny.

### `mindbody_add_appointment`

- The name "mindbody_add_appointment" says "add": a word for a change.
- The server marks it destructive (destructiveHint: true).

Description, as the server wrote it:

```untrusted-server-text
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_add_client`

- The name "mindbody_add_client" says "add": a word for a change.
- The server marks it destructive (destructiveHint: true).

Description, as the server wrote it:

```untrusted-server-text
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_add_client_to_class`

- The name "mindbody_add_client_to_class" says "add": a word for a change.
- The server marks it destructive (destructiveHint: true).

Description, as the server wrote it:

```untrusted-server-text
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_update_appointment`

- The name "mindbody_update_appointment" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).

Description, as the server wrote it:

```untrusted-server-text
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_update_client`

- The name "mindbody_update_client" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).

Description, as the server wrote it:

```untrusted-server-text
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.
```

## Only reads (15)

Looks things up and changes nothing. Claude Code: allow.

### `mindbody_get_class_visits`

- The name "mindbody_get_class_visits" says "get": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Get one class with its visits — the roster of clients booked into it, with sign-in / late-cancel status. Mindbody: GET /class/classvisits.
```

### `mindbody_get_client_account_balances`

- The name "mindbody_get_client_account_balances" says "get": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
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_bookable_items`

- The name "mindbody_list_bookable_items" says "list": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
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_class_schedules`

- The name "mindbody_list_class_schedules" says "list": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
List recurring class schedules (the templates that generate class occurrences) — days, times, teacher, location and date span. Mindbody: GET /class/classschedules.
```

### `mindbody_list_classes`

- The name "mindbody_list_classes" says "list": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
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_client_memberships`

- The name "mindbody_list_client_memberships" says "list": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
List a client's active memberships (auto-renewing pricing options) with remaining counts and expiry. Mindbody: GET /client/activeclientmemberships.
```

### `mindbody_list_client_visits`

- The name "mindbody_list_client_visits" says "list": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
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_clients`

- The name "mindbody_list_clients" says "list": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
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_locations`

- The name "mindbody_list_locations" says "list": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
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_sales`

- The name "mindbody_list_sales" says "list": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
List completed sales at the site in a date/time range — purchased items, payments and client. Read only. Mindbody: GET /sale/sales.
```

### `mindbody_list_services`

- The name "mindbody_list_services" says "list": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
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_session_types`

- The name "mindbody_list_session_types" says "list": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
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_sites`

- The name "mindbody_list_sites" says "list": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
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_staff`

- The name "mindbody_list_staff" says "list": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
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_staff_appointments`

- The name "mindbody_list_staff_appointments" says "list": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
List booked appointments in a date range, by staff member, client or appointment id — the appointment book. Mindbody: GET /appointment/staffappointments.
```

## Claude Code permissions

For `.claude/settings.json`, assuming the server is installed as `mindbody`:

```json
{
  "permissions": {
    "allow": [
      "mcp__mindbody__mindbody_list_sites",
      "mcp__mindbody__mindbody_list_locations",
      "mcp__mindbody__mindbody_list_session_types",
      "mcp__mindbody__mindbody_list_classes",
      "mcp__mindbody__mindbody_list_class_schedules",
      "mcp__mindbody__mindbody_get_class_visits",
      "mcp__mindbody__mindbody_list_bookable_items",
      "mcp__mindbody__mindbody_list_staff_appointments",
      "mcp__mindbody__mindbody_list_clients",
      "mcp__mindbody__mindbody_list_client_visits",
      "mcp__mindbody__mindbody_list_client_memberships",
      "mcp__mindbody__mindbody_get_client_account_balances",
      "mcp__mindbody__mindbody_list_staff",
      "mcp__mindbody__mindbody_list_services",
      "mcp__mindbody__mindbody_list_sales"
    ],
    "ask": [],
    "deny": [
      "mcp__mindbody__mindbody_add_client_to_class",
      "mcp__mindbody__mindbody_add_appointment",
      "mcp__mindbody__mindbody_update_appointment",
      "mcp__mindbody__mindbody_add_client",
      "mcp__mindbody__mindbody_update_client"
    ]
  }
}
```
