Skip to main content
Glama

Start a drop-in reservation

start_reservation
Read-only

Check that a class at a gym can be reserved online right now and get the link where the visitor signs the gym's waiver and pays (or reserves free). Returns the class's next date and start time, price, cancellation policy, and reserveUrl. It does not book anything: the visitor must open reserveUrl and sign and pay themselves. When status is unavailable, reason says why and reservableClasses lists classes that can be reserved instead.

Input Schema

NameRequiredDescriptionDefault
idYesGym id or slug from find_gyms or get_gym
dayYesWeekday of the class, as listed in sessions
dateNoYYYY-MM-DD within the next 7 days, on the class's weekday. Default: the next time the class runs
nameNoClass name from sessions. Needed only when the gym lists two classes at the same day and time
timeYesClass start time as listed in sessions, e.g. "6:30 PM"

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only supply readOnlyHint=true; the description independently confirms the non-mutating nature ('does not book anything') and adds substantive context about output fields and the unavailable-status branch. This goes well beyond what the annotation declares.

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

Conciseness5/5

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

Three sentences, front-loaded with the core purpose, then return values, then the non-booking caveat and fallback. Every sentence carries distinct information with no repetition of the title.

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?

With no output schema, the description compensates by enumerating the returned fields (next date, start time, price, cancellation policy, reserveUrl) and the unavailable-status response shape (reason, reservableClasses). An agent has everything needed to interpret results.

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 five parameters are documented in the schema itself (id source, weekday enum, date pattern/default, name disambiguation, time format). The description adds no parameter-level detail, so the baseline 3 applies.

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 action (check reservability) on a specific resource (a class at a gym) and immediately disambiguates from what the name implies by clarifying it does not book anything. The agent knows exactly what this returns and that the actual booking happens elsewhere.

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?

Clearly frames the use case — verifying that a class can be reserved online right now and retrieving the visitor-facing link — and explains the fallback path when status is unavailable (reason plus reservableClasses). It doesn't need to name an alternative tool because no sibling overlaps, but it also doesn't state prerequisites such as whether the gym/class ids must first come from find_gyms.

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.

Resources