Skip to main content
Glama
alex454-byte

mindbody-mcp-server

by alex454-byte

Get session rosters (attendance per session)

mbo_get_class_visits
Read-only

Fetches session rosters for specified class IDs to show who booked or signed in, late cancels, and the service used.

Instructions

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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
siteIdNoMindbody SiteId (each business is a separate site). Public sandbox is "-99".
classIdsYesSession Ids from mbo_get_classes.
lastModifiedDateNoOnly visits modified after this date.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.9/5.0
Behavior5/5

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

With only readOnlyHint=true in annotations, the description carries the behavioral burden and does so well: it discloses that the v6 endpoint accepts only a singular ClassId, that the tool fans out one request per session with bounded concurrency of 5, that Service.Name flags intro-offer/first-timer members, and that member ids return as m_... tokens. These are non-obvious operational and output-shape facts not derivable from schema or annotations.

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?

Three tight sentences with the core purpose front-loaded, followed by the batching constraint and the output-token note. Each sentence carries information, though the final member-id token sentence is slightly peripheral and could be dropped without loss to core selection.

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

Completeness4/5

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

With no output schema, the description does explain the returned row content and the m_... id token format, which is the key return-value context an agent needs. It leaves pagination/partial-failure behavior across the concurrent requests unstated, a minor gap for a read-only fan-out tool whose safety profile is already covered by annotations.

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

Parameters3/5

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

Schema description coverage is 100%, so all three parameters are already documented in the schema (including that classIds come from mbo_get_classes and the maxItems of 50). The description adds the fan-out/per-request behavior behind classIds, but does not elaborate on lastModifiedDate or siteId beyond what the schema states, so the baseline 3 is appropriate.

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

Purpose4/5

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

States a specific resource (session roster rows) and enumerates what the rows contain (booked/signed in, late cancels, service used), scoped to "specific sessions". It implicitly distinguishes itself from the sibling mbo_get_client_visits by being session-scoped rather than client-scoped, but it never names an alternative to sharpen the contrast.

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

Usage Guidelines3/5

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

The description indicates the tool operates on a set of sessions and the schema points classIds back to mbo_get_classes, so the usage context is implied. However, there is no explicit when-to-use/when-not guidance versus mbo_get_client_visits or mbo_get_classes, leaving the agent to infer the selection.

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