Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
BTWB_EMAILNoYour BTWB login email (optional, for automatic cookie refresh).
BTWB_SESSION_COOKIEYesYour BTWB session cookie copied from the browser's Cookie request header.

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

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
search_movementA

Search BTWB's movement library by name (e.g. 'Deadlift', 'Squat Clean'). Returns matching movements with their numeric IDs, which log_workout and get_movement_history both require.

log_workoutA

Log a single-movement result (e.g. a 1-rep max) to BTWB. Every entry logged through this tool is always posted with Privacy: Only Me - this is hardcoded and cannot be overridden.

log_rounds_workoutA

Log a multi-movement 'rounds' result (e.g. a For Time WOD with several movements per round) to BTWB - as opposed to log_workout, which only handles a single movement. Only 'For Time' workouts scored by total time are supported (other scoring types like AMRAP/total-reps are untested). workoutId/workoutSlug come from the workout's URL (beyondthewhiteboard.com/workouts/{workoutId}-{workoutSlug}/...). Every entry logged through this tool is always posted with Privacy: Only Me - this is hardcoded and cannot be overridden.

get_movement_historyA

Get the full logged history for a movement over a date range - every individual set (date, reps, weight), not just PRs - plus a computed 'Potential Max' trend line. Requires the BTWB member ID and the movement's numeric ID plus its URL slug (e.g. movementId 35, movementSlug 'deadlift' for beyondthewhiteboard.com/.../35-deadlift).

get_workout_sessionA

Get the full details of one already-logged BTWB result by its session ID (the number in a beyondthewhiteboard.com/workout_sessions/{id} URL): workout name, performed date/time, the movements/sets, the result/score, and level/WOD-rank stats. There's no search-by-date endpoint yet - you need the session ID already (e.g. from a URL, or from log_workout's redirectedTo field).

delete_workout_sessionA

Permanently delete an already-logged BTWB result by its session ID. This cannot be undone - BTWB has no trash/undo for deleted sessions.

refresh_session_cookieA

Manually re-authenticate to BTWB and replace the stored session cookie with a fresh one. Every other tool already does this automatically when it detects an expired session, so you normally don't need to call this directly - it's mainly useful to proactively refresh, or to test that BTWB_EMAIL and the Keychain-stored password are set up correctly. Requires BTWB_EMAIL and a password stored in Keychain (service: btwb-password) - see README "Automatic cookie refresh".

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.2/5.0

Scored across 7 tools

Disambiguation5/5

Each tool targets a distinct resource and action: search_movement (library lookup) vs get_movement_history (per-set history), log_workout (single movement) vs log_rounds_workout (multi-movement rounds), get_workout_session (read) vs delete_workout_session (remove), plus a standalone auth utility. Descriptions proactively clarify overlaps, e.g. log_rounds_workout explicitly contrasts itself with log_workout.

Naming Consistency5/5

All seven tools use consistent snake_case verb_noun phrasing (search_movement, log_workout, get_workout_session, delete_workout_session, refresh_session_cookie). No style mixing or vague verb-only names.

Tool Count5/5

Seven tools is well-scoped for a workout-logging and movement-data integration; each tool earns its place with a clear role and no redundant entries.

Completeness3/5

The surface covers search, log (two variants), read, and delete, but has no update/edit for an already-logged result, and get_workout_session requires a known session ID with no search-by-date or list-sessions tool. Discovery of existing sessions/workouts is thus a notable gap.

Maintenance

ActivityMaintained
ResponsivenessNo issues