af-gym
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AF_CLUB_TZ | No | IANA timezone to override automatic timezone detection, e.g. Australia/Sydney. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| occupancyB | Live headcount right now, a go-now verdict, and typical counts for the rest of today. The verdict compares the live count to the typical count for this hour: go-now, good-time, normal, wait or skip (see verdictMessage). restOfDay lists the typical count for each remaining hour of today. |
| forecastA | Typical hourly busy pattern for a day (100-day rolling averages, club-local time). |
| nearby_clubsA | Clubs near the home gym, nearest first, each with distance and a live headcount. |
| visitsA | Gym check-ins in a date range, newest first, with totals and habits. Defaults to the last 90 days. Prefer a range over pulling all history: "visits in August" is start "2026-08-01", end "2026-08-31" (count 1 when only the total matters). When the range reaches today it also reports days since the last visit and, when the window is wide enough, 7/30-day counts; it always reports the most common day and hour in the range. Dates are club-local and inclusive. |
| auth_statusA | Report whether a saved Anytime Fitness session exists and still refreshes. Returns only metadata; token values are never returned. When this or any
other call reports no usable session, ask the user to run
|
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 5 tools
Occupancy and forecast both deal with busyness and could be confused, but their live-vs-typical distinction is clear from the descriptions. The remaining tools are each tied to a distinct concern: nearby alternatives, visit history, and auth status.
All tool names are lowercase noun-style names, forming a consistent and predictable query-oriented pattern. Single-word names like occupancy and multi-word names like nearby_clubs both follow snake_case, so there is no convention mixing.
Five tools is well-scoped for a gym assistant: live busyness, typical trends, nearby options, visit history, and session status. Each tool earns its place and none feels redundant or missing enough to enlarge the set.
The core member workflows are covered: deciding when to go, checking nearby alternatives, and reviewing past visits. Minor gaps exist around club details like hours or address and membership info, but the surface seems intentionally focused and auth is explicitly handled via CLI.