Skip to main content
Glama

book_class

Preview and book a Wellpass fitness class with a two-step flow: confirm=false returns details and cancellation window; confirm=true finalizes after user agreement.

Instructions

Book the user into a class. TWO-STEP and WRITES to the real account.

Step 1 (confirm=false, default): returns the class details and cancellation window and does NOT book. Relay this to the user. Step 2 (confirm=true): actually books. Only send confirm=true AFTER the user has explicitly agreed to book this specific class.

Args: club_uuid: The class's club_uuid (from a search result). class_id: The class id (from a search result). confirm: Must be true to actually book. Default false (preview only). spot: Optional spot id, for studios with spot selection.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
spotNo
confirmNo
class_idYes
club_uuidYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden, and it does well: it discloses that the call writes to the real account, that the default is a non-mutating preview, and that the preview returns class details plus the cancellation window. It omits what happens on failure (already booked, class full, waitlist) and any auth/permission requirements, which keeps it short of a 5.

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 critical two-step rule before the Args block, and the numbered steps are easy to scan. There is minor redundancy between the step descriptions and the confirm arg line ('Must be true to actually book. Default false (preview only)'), which repeats step 1, but overall it is tight and earns its length.

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?

For a mutation tool with no annotations and no output schema, the description covers the essential unknowns: what the preview returns, what confirm does, and the consent gate. It is only missing failure-mode behavior (errors, waitlists, capacity) and any auth prerequisites an agent might need to call it correctly.

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 description coverage is 0%, so the description must compensate, and it documents all four parameters: the origin of club_uuid and class_id ('from a search result'), confirm's semantics and default, and that spot is optional and only applies to studios with spot selection. It adds real meaning beyond the bare schema types, though it doesn't give format examples for the IDs.

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 and resource ('Book the user into a class') and immediately distinguishes itself from siblings like search_classes and cancel_booking by declaring it WRITES to the real account. An agent can tell what this does and that it is the terminal action of the search-then-book flow.

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

Usage Guidelines5/5

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

Explicitly lays out a two-step protocol: confirm=false returns details without booking, confirm=true books only after the user explicitly agrees. This is exactly the when/when-not/alternative guidance an agent needs, including the gating condition (user consent) for the destructive step.

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