Skip to main content
Glama

GymFlexa Gym Management

List gym sessions

list_appointments
Read-onlyIdempotent

Use this when someone asks when a member is booked, which sessions a trainer has, or what is booked on a day, including to move or cancel one. Returns sessions across all the user's gyms or one, with id, member, gym and trainer ids, times, status and edit time for any date window, latest first, up to 100. Not for counting how busy each day is.

Input Schema

NameRequiredDescriptionDefault
gymIdNoOnly sessions at this gym, by an id from the user's gym list; every gym when absent
limitNoMaximum number of sessions to return (default 20, maximum 100)
endTimeNoOnly sessions ending before this ISO 8601 time
memberIdNoOnly sessions of this member, by an id from list_members
startTimeNoOnly sessions starting at or after this ISO 8601 time

Output Schema

NameRequiredDescriptionDefault
countYes
hasMoreYes
appointmentsYesSessions, latest start first. Notes, services, reminders, contact details, organization data and payment details are excluded.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely new behavior: results span all the user's gyms unless scoped, are ordered latest first, are capped at 100, and carry status and edit time. It does not mention whether a cursor or offset exists for going beyond the limit, which is the main remaining unknown.

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?

Two sentences, front-loaded with the selection criteria an agent needs before deciding to call, then the return shape. Dense but every clause maps to a decision or expectation. The phrase 'including to move or cancel one' is slightly compressed and takes a moment to parse.

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?

Five optional filters, no required parameters, an output schema, and full annotation coverage mean the description only needs to convey scope, ordering, cap and boundaries, all of which it does. The one gap is behavior at the limit (truncation vs. paging), which matters for a list tool that caps at 100.

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%, including id provenance for gymId and memberId and ISO 8601 formats, so the schema already carries parameter meaning. The description only reinforces the date-window and gym-scoping concepts and the 100 cap; it adds no semantics beyond the schema. 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 verb and resource (listing booked gym sessions) and enumerates the concrete question shapes it answers: when a member is booked, which sessions a trainer has, what is booked on a day. It also carves out a boundary against the busier-day counting case, which separates it from get_gym_schedule_summary and get_gym_availability.

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?

The opening clause gives explicit triggering conditions, and the closing sentence gives an explicit when-not ('Not for counting how busy each day is'). It also hints at the follow-on flow ('including to move or cancel one'), i.e. fetch the id before reschedule_appointment or cancel_appointment. It stops short of naming the alternative tool to use for the excluded case, so it is not a full routing statement.

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