Skip to main content
Glama

Mindbody MCP by usefulapi

Book an appointment

mindbody_add_appointment
Destructive

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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
testNoWhen true, Mindbody validates the request but commits nothing. Use it to dry-run a write.
notesNoGeneral notes for the appointment.
durationNoOverride the default duration, in minutes.
staff_idYesThe staff member delivering the appointment.
client_idYesThe client's ID (RSSID — a string, as configured by the business; see mindbody_list_clients).
send_emailNoSend the site's automatic email.
is_waitlistNoAdd to the appointment waiting list instead.
location_idYesThe location id.
resource_idsNoResource (room/equipment) ids to attach.
apply_paymentNoApply a pricing option already on the client's account (Mindbody default: true).
end_date_timeNoEnd, ISO 8601. Default: start + the default duration.
session_type_idYesThe session type id.
staff_requestedNoThe client asked for this staff member specifically.
start_date_timeYesStart, ISO 8601 (e.g. 2026-10-01T14:00:00).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the destructiveHint annotation: states that no card is charged, that apply_payment only consumes a pricing option already on the client's account, that test: true rolls the write back, and that a staff user token is required. Auth requirements and the dry-run escape hatch are exactly the kind of behavioral context annotations cannot convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action, then prerequisite, then the payment/dry-run caveats and auth note. Dense but every sentence carries information except the trailing 'Mindbody: POST /appointment/addappointment' endpoint reference, which is implementation detail an agent does not act on.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 14-parameter mutation with no output schema, the description supplies what is missing elsewhere: the required staff token, the prerequisite slot lookup, the payment behavior, and the validation-only mode. An agent has everything needed to call it correctly or safely decline to.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents all 14 parameters and the baseline would be 3. The description nonetheless adds semantics the schema lacks for the highest-risk flag, clarifying that 'No card is charged' under apply_payment and that test:true commits nothing, which materially changes how an agent sets those fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (book) and resource (appointment) and names the three participating entities: client, staff member, location. It also points to the sibling mindbody_list_bookable_items as the slot-finding precursor, so an agent can separate this write tool from the list/lookup siblings without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly prescribes the expected workflow: 'Find a slot first with mindbody_list_bookable_items,' and offers the dry-run path via test: true. It gives clear positive context but no explicit 'when not to use' (e.g. rescheduling an existing appointment, which would belong to mindbody_update_appointment).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.