Get waitlist
get_waitlistList the waitlist for a class session in order, plus current booked count and capacity. [requires scope: read]
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| class_session_id | Yes |
get_waitlistList the waitlist for a class session in order, plus current booked count and capacity. [requires scope: read]
| Name | Required | Description | Default |
|---|---|---|---|
| class_session_id | Yes |
Changes observed during successful MCP inspections. Dates show when Glama detected each change.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, and the description adds useful context: it requires 'scope: read' and specifies the output content (ordered waitlist, booked count, capacity). This provides transparency beyond the structured annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that immediately states the action and resource, then adds ordering and count details, followed by the scope requirement. Every element earns its place and there is no redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, read-only, one-parameter tool, the description covers the essential behavioral and output expectations: ordered waitlist, booked count, and capacity. The lack of an output schema is compensated by describing what the tool returns, and the annotations cover safety. No critical information is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one required parameter, class_session_id, with 0% schema description coverage. The description mentions 'a class session' and thereby links the parameter to the tool's purpose, but it does not explain the ID format or how to obtain it. The parameter is self-describing enough for a basic call, but the description adds only minimal semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('List'), a clear resource ('the waitlist for a class session'), and adds detail about ordering and included counts. It is easily distinguishable from siblings like get_class_roster or promote_from_waitlist because it specifically targets the waitlist with capacity and booked count.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies when to use this tool: when you need the ordered waitlist plus booked count and capacity for a class session. It does not explicitly contrast it with alternatives such as get_class_roster, but the context is clear enough that an agent can select it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Most tools have clearly distinct purposes, and the descriptions carefully separate operations like attendance_report, list_classes, and get_class_roster. A few reads overlap conceptually (get_client, get_reservation_history, get_credit_history, get_client_notes all return client-related data), but each has a specific output that an agent can distinguish with reasonable effort.
Tool names overwhelmingly follow a consistent action_object pattern: add_client_note, cancel_class, freeze_membership, refund_order, set_client_tag, unfreeze_membership. The get_/list_ prefix distinction is used predictably, and auth tools (login, logout, whoami) are standard exceptions rather than inconsistent naming.
41 tools is well beyond the 25+ threshold for a heavy tool set. Although each tool appears to serve a real studio-operations need, the sheer number creates a large surface for an agent to navigate and places significant burden on selection accuracy.
The tool set covers the core lifecycle well across clients, classes, memberships, orders, payments, and communications, with no obvious dead ends. Minor gaps exist, such as no update_client profile tool and no class-scheduling creation, but staff workflows can generally be completed.