Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

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
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
tp_auth_statusA

Check auth status. Use only when other tools return auth errors.

tp_get_profileA

Get athlete profile. Rarely needed - other tools work without it.

tp_refresh_authA

Refresh auth by extracting cookie from user's browser. Use when other tools return auth errors.

tp_get_workoutsA

List workouts in date range. Query only days needed. Max 90 days. Does NOT include strength-builder gym workouts — use tp_get_strength_workouts for those.

tp_get_workoutA

Get workout details by ID. Use after tp_get_workouts.

tp_create_workoutA

Create a planned workout with optional simplified interval structure or native TrainingPeaks structured_workout payload. Duration is auto-computed only from simplified structure when not provided.

tp_update_workoutA

Update fields of an existing workout. Supports the same simplified interval structure format as tp_create_workout plus an optional native structured_workout payload, then fetches existing, merges, and saves.

tp_delete_workoutA

Permanently delete a workout from the calendar - irreversible, applies to planned and completed workouts alike. Workout ID from tp_get_workouts.

tp_copy_workoutA

Copy a workout to a new date. Copies structure, description, planned fields.

tp_reorder_workoutsA

Reorder the workouts displayed on a single day. Pass every workout ID for that day (from tp_get_workouts) in the desired order. Changes display order only - dates and content untouched.

tp_unpair_workoutA

Unpair a workout. Detaches the completed workout file from the planned workout, creating two separate workouts. No data is lost.

tp_pair_workoutA

Pair a completed workout with a planned workout. Attaches the completed data to the planned workout, merging them into one.

tp_get_workout_commentsA

List the comment thread on a workout (athlete and coach comments with author and timestamp). Workout ID from tp_get_workouts. For the private workout note use tp_get_workout_note.

tp_add_workout_commentA

Append a comment to a workout's thread - visible to both athlete and coach. Repeating the call posts a duplicate. For a private note use tp_set_workout_note instead.

tp_get_workout_noteA

Get the private workout note for a workout.

tp_set_workout_noteA

Set or update the private workout note for a workout.

tp_upload_workout_fileA

Upload a workout file (.fit, .tcx, .gpx) to an existing workout.

tp_download_workout_fileA

Download a workout file by file_id. Get file_id from tp_get_workout device_files/attachment_files.

tp_delete_workout_fileA

Delete a workout file by file_id. Get file_id from tp_get_workout device_files/attachment_files.

tp_validate_structureA

Validate workout interval structure without creating a workout. Returns block count, duration, estimated IF/TSS.

tp_get_workout_prsA

List personal records set during one completed workout. Returns an empty list when none. For an athlete's bests across a period use tp_get_peaks.

tp_get_peaksA

Get an athlete's top performances for one sport and PR type over a period (days, default 90). Bike pr_type: power1min/5min/20min; Run: speed5K/10K/Half. For PRs from a single workout use tp_get_workout_prs.

tp_analyze_workoutA

Get workout analysis: metrics, zones, laps. Saves full time-series to JSON file.

tp_get_fitnessA

Get fitness/fatigue trend (CTL/ATL/TSB). Supports historical date ranges.

tp_get_weekly_summaryA

Combined view of workouts + fitness for a week. Totals TSS, duration, end-of-week CTL/ATL/TSB.

tp_get_atpA

Get Annual Training Plan - weekly TSS targets, training periods, races. Max 90 days.

tp_list_training_plansA

List the coach's authored multi-week training plans (id, title, weeks, workout count, total hours, category, price).

tp_get_training_planA

Summary of one training plan: weeks, per-week duration/distance, sport breakdown, description.

tp_get_training_plan_workoutsA

All workouts of a training plan laid out by week/day (sport, title, description, duration, TSS, has_structure).

tp_apply_training_planA

Apply a training plan to an athlete's calendar from a start date by copying each plan workout (with structure) to start_date + its relative day. Targets the athlete given via the athlete parameter.

tp_get_athlete_settingsA

Get athlete account settings and profile fields (athlete type, linked coach, preferences, units). To change training values use tp_update_ftp / tp_update_hr_zones / tp_update_speed_zones.

tp_update_ftpA

Update FTP (power threshold) and rescale the matching power-zone set, preserving its calculation method.

tp_update_hr_zonesC

Update heart rate zones.

tp_update_speed_zonesC

Update run/swim pace zones.

tp_create_zonesA

Create a NEW per-sport zone set for an athlete that has none for that sport (use tp_update_ftp/hr_zones/speed_zones to change an EXISTING set). Bands are computed by TrainingPeaks' calculator for the chosen method (see tp_get_zone_methods). Returns ZONES_EXIST if the set is already present, or TEST_BASED_METHOD for test-derived methods (Distance/Time) — those are set up via a test in the TP UI.

tp_update_nutritionA

Update daily planned calories.

tp_get_pool_length_settingsB

Get pool length settings.

tp_log_metricsB

Log health metrics (weight, HRV, sleep, steps, etc.) for a date.

tp_get_metricsA

Get health metrics for a date range.

tp_get_nutritionC

Get nutrition data for a date range.

tp_get_equipmentA

List equipment (bikes, shoes).

tp_create_equipmentA

Add a bike or shoes to the athlete's equipment list. type is 'bike' or 'shoe'; bike-only fields are rejected on shoes. The API returns no ID on create - verify with tp_get_equipment afterwards.

tp_update_equipmentC

Update equipment details.

tp_delete_equipmentC

Delete equipment.

tp_get_focus_eventB

Get the A-priority focus event with goals and results.

tp_get_next_eventA

Get the nearest future planned event.

tp_get_eventsA

List events in a date range.

tp_create_eventB

Create a race/event with priority (A/B/C) and CTL target.

tp_update_eventA

Update fields on an existing race/event (name, date, priority, distance, description, attached workout legs). Only the provided fields change. Event ID from tp_get_events; events more than ~2 years from today cannot be resolved for update.

tp_delete_eventA

Permanently delete a race/event from the calendar - irreversible. Event ID from tp_get_events. Calendar workouts are separate: delete those with tp_delete_workout.

tp_create_noteC

Create a calendar note.

tp_delete_noteA

Permanently delete a calendar note and its comment thread - irreversible. Note ID from tp_list_notes.

tp_get_noteA

Get a calendar note by ID.

tp_update_noteA

Update a calendar note. Provide at least one of: title, description, date, is_hidden.

tp_get_note_commentsA

Get all comments on a calendar note.

tp_add_note_commentA

Append a comment to a calendar note's thread. Repeating the call posts a duplicate. Note ID from tp_list_notes or tp_create_note.

tp_list_notesA

List calendar notes for a date range.

tp_get_availabilityA

Get availability entries for a date range.

tp_create_availabilityA

Mark a date range as unavailable for training (or limited to certain sports). limited=false means fully unavailable; with limited=true, sport_types lists the sports that REMAIN available. Returns availability_id, needed for tp_delete_availability.

tp_delete_availabilityA

Remove an availability entry so those dates become plannable again. availability_id from tp_get_availability or the create response.

tp_get_workout_typesA

List all sport types and subtypes with IDs. Use to find subtype_id for create/update.

tp_get_zone_methodsA

List available zone-calculation methods per metric (power / heartrate / speed), each with its zone count and zone labels. TP has no method-names endpoint and settings store only an opaque method int; this probes the zone calculator (read-only) to fingerprint each method by its zone labels. derives_threshold marks methods that derive the threshold from a (field-)test, so a direct threshold can't be set. Coach-scoped (uses your own user), not athlete-specific.

tp_get_librariesA

List workout library folders.

tp_get_library_itemsA

List the workout templates in one library (slim listing). library_id from tp_get_libraries. For a template's full interval structure use tp_get_library_item.

tp_get_library_itemA

Get one workout template in full, including its interval structure - use before tp_schedule_library_workout or when reusing structure. IDs from tp_get_library_items.

tp_create_libraryA

Create an empty workout library (a folder for reusable templates). Returns library_id; add templates with tp_create_library_item.

tp_delete_libraryA

Permanently delete a library AND every template inside it - irreversible, and there is no per- template delete. Schedule anything you want to keep first.

tp_create_library_itemC

Save a workout template to a library.

tp_update_library_itemC

Edit a workout template.

tp_schedule_library_workoutA

Schedule a library template to a calendar date, for yourself or (coach accounts) for one or many athletes.

tp_list_athletesA

List athletes available to this account (coach accounts).

tp_search_exercisesA

Search the built-in strength exercise library by name (offline). Returns library exercise IDs to use in tp_create_strength_workout, plus each exercise's native parameters and a demo video URL.

tp_create_strength_workoutA

Create a structured strength/gym workout on the athlete's calendar. Blocks of exercises (from tp_search_exercises) with sets and parameters (Reps, WeightKg, Duration, …).

tp_get_strength_summaryA

Get a strength workout's compliance summary (blocks/prescriptions/sets completed).

tp_get_strength_workoutsA

List structured strength/gym workouts in a date range. Strength workouts live on a separate API and do NOT appear in tp_get_workouts; use this to find them and their IDs, then tp_get_strength_workout for full detail. Returns date, title, duration, compliance, set totals, and an exercise preview.

tp_get_strength_workoutA

Get a strength workout's full detail by ID: blocks, exercises, and sets with prescribed vs executed values (Reps, WeightKg, …), plus RPE, feel and compliance. Get IDs from tp_get_strength_workouts.

tp_update_strength_workoutA

Update an existing strength workout in place: replace or append blocks, retitle, or mark it complete. Preserves everything else, including Garmin-derived TSS and the attached FIT file — so this is the correct way to fill in a device-synced workout that arrived with no structure. Never delete-and-recreate for that: exercise detail is rebuildable, HR-derived training load is not.

tp_delete_strength_workoutA

Delete a strength workout by ID.

tp_list_groupsA

List the coach's athlete groups (TP exposes these as tags). Returns id, name, athlete_count, is_default.

tp_list_athletes_in_groupA

List the athletes in one athlete group, with names resolved from the coach's roster. Use tp_list_groups to get group_id.

tp_create_groupB

Create a new athlete group.

tp_rename_groupA

Rename an athlete group. The default group cannot be renamed.

tp_delete_groupA

Delete an athlete group (the grouping only — athletes are not deleted). The default group cannot be deleted.

tp_add_athletes_to_groupA

Add one or more athletes to a group. Moving an athlete = add to the new group + remove from the old one.

tp_remove_athletes_from_groupA

Remove one or more athletes from a group.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
get_fitness
get_weekly_summary
get_workout

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/JamsusMaximus/TrainingPeaks-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server