Skip to main content
Glama
banananovej-chuan

TrainingPeaks MCP Server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
TP_AUTH_COOKIEYesYour TrainingPeaks auth cookie obtained from browser developer tools.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
tp_auth_statusA

Check TrainingPeaks authentication status.

Returns whether you have a valid auth cookie and bearer token. If not authenticated, provides instructions for setting up credentials.

tp_refresh_authA

Force refresh the TrainingPeaks bearer token.

Use this if you're getting authentication errors. Clears the cached token and obtains a fresh one from the auth cookie.

tp_get_profileA

Get your TrainingPeaks athlete profile.

Returns your name, athlete ID, email, and other profile information. The athlete ID is needed for other TrainingPeaks queries.

tp_get_workoutsA

Get a list of workouts from TrainingPeaks.

Args: start_date: Start date (YYYY-MM-DD). Defaults to 30 days ago. end_date: End date (YYYY-MM-DD). Defaults to today. workout_type: Filter by type (e.g. "Bike", "Run", "Swim", "Strength"). limit: Maximum number of workouts to return (default 20).

Returns workouts with date, type, duration, distance, TSS, HR, and power data. The TP API limits requests to 90 days at a time.

tp_get_planned_workoutsA

Get upcoming planned workouts from TrainingPeaks.

Args: start_date: Start date (YYYY-MM-DD). Defaults to today. end_date: End date (YYYY-MM-DD). Defaults to 14 days from now. workout_type: Filter by type (e.g. "Bike", "Run", "Swim", "Strength"). limit: Maximum number of workouts to return (default 20).

Returns planned workouts with date, type, planned duration/distance/TSS, workout instructions, and coach comments. Sorted chronologically (nearest first). The TP API limits requests to 90 days at a time.

tp_get_workoutA

Get detailed information about a specific workout.

Args: workout_id: The TrainingPeaks workout ID.

Returns full workout details including power, HR, speed, elevation, description, and coach comments.

tp_get_fitnessA

Get CTL (fitness), ATL (fatigue), and TSB (form) performance data.

Args: days: Number of days to look back (default 90). Ignored if start_date is set. start_date: Start date (YYYY-MM-DD). Overrides days parameter. end_date: End date (YYYY-MM-DD). Defaults to today.

Returns daily training load data with computed CTL/ATL/TSB values and current fitness status. To get accurate CTL/ATL values, the API fetches extra history for the exponential decay calculation.

tp_get_workout_prsB

Get personal records from a specific workout.

Args: workout_id: The TrainingPeaks workout ID.

Returns all PRs achieved in this workout, grouped by class (Power, HR, etc.) and time frame (All-Time, Last 90 Days, etc.).

tp_get_peaksA

Get personal records by scanning recent workouts for a given sport.

Args: sport: Sport type — "Bike", "Run", "Swim", or "Hike" (default "Bike"). days: Number of days to scan (default 90, max 365). pr_class: Filter by PR class — "Power", "HeartRate", or None for all.

Scans workouts that have PRs and aggregates the best values per type. Shows the top record for each duration/distance across the time range.

tp_training_load_summaryB

Analyze training load trends over time.

Args: days: Number of days to analyze (default 90).

Returns weekly and monthly TSS totals, averages, load ramp rate, and comparison between recent and previous periods.

tp_fitness_trendA

Analyze CTL/ATL/TSB trajectory and project future values.

Args: days: Number of days to analyze (default 90).

Returns trend direction, rate of change, and 7-day projected CTL/ATL/TSB.

tp_workout_analysisA

Deep analysis of a specific workout with derived metrics.

Args: workout_id: The TrainingPeaks workout ID.

Returns efficiency factor (NP/avg HR), variability index (NP/avg power), intensity distribution, and comparison context.

tp_performance_summaryA

Aggregated performance summary for a sport over time.

Args: sport: Sport type — "Bike", "Run", "Swim" (default "Bike"). days: Number of days to analyze (default 90).

Returns volume, intensity distribution, consistency metrics, and PR timeline for the specified sport.

tp_training_zones_distributionA

Analyze training time and TSS distribution across intensity zones.

Args: start_date: Start date (YYYY-MM-DD). Defaults to {days} days ago. end_date: End date (YYYY-MM-DD). Defaults to today. days: Days to look back if start_date not set (default 30).

Breaks down workouts by IF-based training zones showing how training time and stress are distributed. Helps identify polarized vs pyramidal vs threshold-heavy training patterns.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/banananovej-chuan/tp-mcp-server'

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