TrainingPeaks-MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| tp_auth_status | Check auth status. Use only when other tools return auth errors. |
| tp_get_profile | Get athlete profile. Rarely needed - other tools work without it. |
| tp_refresh_auth | Refresh auth by extracting cookie from user's browser. Use when other tools return auth errors. |
| tp_get_workouts | List workouts in date range. Query only days needed. Max 90 days. |
| tp_get_workout | 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_workout | 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_workoutC | Delete a workout. |
| tp_copy_workoutB | Copy a workout to a new date. Copies structure, description, planned fields. |
| tp_reorder_workoutsC | Reorder workouts on a given day. |
| tp_unpair_workout | Unpair a workout. Detaches the completed workout file from the planned workout, creating two separate workouts. No data is lost. |
| tp_pair_workout | Pair a completed workout with a planned workout. Attaches the completed data to the planned workout, merging them into one. |
| tp_get_workout_commentsC | Get comments on a workout. |
| tp_add_workout_commentC | Add a comment to a workout. |
| tp_get_workout_noteC | Get the private workout note for a workout. |
| tp_set_workout_note | Set or update the private workout note for a workout. |
| tp_upload_workout_fileB | 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_file | Delete a workout file by file_id. Get file_id from tp_get_workout device_files/attachment_files. |
| tp_validate_structure | Validate workout interval structure without creating a workout. Returns block count, duration, estimated IF/TSS. |
| tp_get_workout_prsC | Get PRs set during a specific workout. |
| tp_get_peaksC | Get top performances by type. For comparing PRs over time. |
| tp_analyze_workoutB | Get workout analysis: metrics, zones, laps. Saves full time-series to JSON file. |
| tp_get_fitnessB | Get fitness/fatigue trend (CTL/ATL/TSB). Supports historical date ranges. |
| tp_get_weekly_summary | Combined view of workouts + fitness for a week. Totals TSS, duration, end-of-week CTL/ATL/TSB. |
| tp_get_atp | Get Annual Training Plan - weekly TSS targets, training periods, races. Max 90 days. |
| tp_get_athlete_settingsC | Get athlete settings: FTP, thresholds, zones, profile. |
| tp_update_ftpA | Update FTP (power threshold) and rescale the matching power-zone set, preserving its calculation method. |
| tp_update_hr_zones | Update heart rate zones. |
| tp_update_speed_zones | Update run/swim pace zones. |
| tp_create_zones | 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_nutrition | Update daily planned calories. |
| tp_get_pool_length_settings | Get pool length settings. |
| tp_log_metrics | Log health metrics (weight, HRV, sleep, steps, etc.) for a date. |
| tp_get_metrics | Get health metrics for a date range. |
| tp_get_nutritionB | Get nutrition data for a date range. |
| tp_get_equipment | List equipment (bikes, shoes). |
| tp_create_equipmentC | Add new equipment (bike or shoe). |
| tp_update_equipment | Update equipment details. |
| tp_delete_equipment | Delete equipment. |
| tp_get_focus_event | Get the A-priority focus event with goals and results. |
| tp_get_next_event | Get the nearest future planned event. |
| tp_get_eventsC | List events in a date range. |
| tp_create_event | Create a race/event with priority (A/B/C) and CTL target. |
| tp_update_eventC | Update an event. |
| tp_delete_eventD | Delete an event. |
| tp_create_note | Create a calendar note. |
| tp_delete_noteC | Delete a calendar note. |
| tp_get_noteC | Get a calendar note by ID. |
| tp_update_note | Update a calendar note. Provide at least one of: title, description, date, is_hidden. |
| tp_get_note_comments | Get all comments on a calendar note. |
| tp_add_note_commentC | Add a comment to a calendar note. |
| tp_list_notes | List calendar notes for a date range. |
| tp_get_availabilityB | Get availability entries for a date range. |
| tp_create_availabilityC | Mark dates as unavailable or limited. |
| tp_delete_availabilityC | Remove an availability entry. |
| tp_get_workout_types | 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. |
| tp_get_librariesC | List workout library folders. |
| tp_get_library_itemsC | List templates in a workout library. |
| tp_get_library_itemC | Get full template details including structure. |
| tp_create_libraryC | Create a workout library folder. |
| tp_delete_libraryC | Delete a library folder and all templates. |
| tp_create_library_item | Save a workout template to a library. |
| tp_update_library_item | Edit a workout template. |
| tp_schedule_library_workout | Schedule a library template to a calendar date, for yourself or (coach accounts) for one or many athletes. |
| tp_list_athletes | List athletes available to this account (coach accounts). |
| tp_search_exercises | 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_summary | Get a strength workout's compliance summary (blocks/prescriptions/sets completed). |
| tp_delete_strength_workout | 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_group | Create a new athlete group. |
| tp_rename_group | Rename an athlete group. The default group cannot be renamed. |
| tp_delete_group | Delete an athlete group (the grouping only — athletes are not deleted). The default group cannot be deleted. |
| tp_add_athletes_to_group | 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_groupB | Remove one or more athletes from a group. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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