TrainingPeaks MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@TrainingPeaks MCP ServerShow me my CTL/ATL/TSB and suggest a workout for today."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
TrainingPeaks MCP Server
MCP server for TrainingPeaks. Reads workouts, fitness metrics (CTL/ATL/TSB), and health data. Creates, updates, and deletes planned workouts. Built with Python/FastMCP with browser-based auth and auto-refresh. Designed for AI-powered training plan management and automated adjustment based on performance, fatigue, and injury.
Setup
python3 -m venv .venv
source .venv/bin/activate
pip install -e .Related MCP server: claude-garmin
Usage
python -m training_peaks_mcpOn first run, a browser window opens with the TrainingPeaks login page. Enter your credentials — they're sent to localhost only, saved locally to ~/.config/training-peaks-mcp/credentials.json, and auto-refresh when expired.
CLI Options
python -m training_peaks_mcp # Start the MCP server
python -m training_peaks_mcp --auth # Re-authenticate
python -m training_peaks_mcp --auth-status # Check auth status
python -m training_peaks_mcp --auth-clear # Remove stored credentialsTools
Auth
Tool | Description |
| Login with username/password via MCP |
Read
Tool | Description |
| Athlete profile (ID, name, account type) |
| Workouts by date range (filter: all/planned/completed) |
| Single workout with full details and structure |
| CTL/ATL/TSB from the Performance Management Chart |
| Health metrics (weight, HRV, sleep, SpO2, steps) |
| Power, heart rate, and speed/pace zones |
| Nutrition data by date range |
Write
Tool | Description |
| Create a planned workout |
| Update an existing workout |
| Delete a workout |
| Log health metrics (weight, HRV, sleep, injury, etc.) |
| Add a comment to a workout |
Authentication
Three methods, checked in order:
Stored credentials — saved automatically after first login, auto-refreshes on expiry
Browser login — opens on first run if no credentials exist
Environment variable — set
TP_AUTH_COOKIEto override (for CI/containers)
Credentials are stored at ~/.config/training-peaks-mcp/credentials.json with 0600 permissions.
Architecture
src/training_peaks_mcp/
├── __init__.py
├── __main__.py # CLI entry point
├── auth.py # Login flow, credential storage, browser auth page
├── client.py # Async HTTP client for tpapi.trainingpeaks.com
└── server.py # FastMCP tool definitionsThe server uses the TrainingPeaks internal API (tpapi.trainingpeaks.com). Auth cookies are exchanged for short-lived bearer tokens via /users/v3/token.
Supported Sports
Swim, Bike, Run, Brick, Crosstrain, Race, DayOff, MtnBike, Strength, Custom, XCSki, Rowing, Walk, Other
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityAmaintenanceTrainingPeaks MCP server for Claude Desktop and AI assistants. Query workouts, analyze fitness, power peaks and more.Last updated85124MIT
- Alicense-qualityBmaintenanceMCP server that connects Garmin Connect data to Claude, enabling training analysis, recovery checks, and personalized plans based on real metrics like HRV, training load, and activities.Last updated11MIT
- AlicenseAqualityAmaintenanceMCP server for Intervals.icu that enables AI assistants to manage athletic training data, including activities, calendar events, wellness metrics, and workout libraries.Last updated19Apache 2.0
- AlicenseAqualityBmaintenanceLocal MCP server that connects Claude Desktop with Garmin and Apple Health data to read training and recovery, estimate heart rate and pace zones, analyze performance, and create structured workouts.Last updated22MIT
Related MCP Connectors
MCP server for Withings health data — sleep, activity, heart, and body metrics.
MCP server for Argo RPG Platform — connects AI assistants to campaign data via OAuth2
Garmin data in Claude & ChatGPT via the Garmin Health API. OAuth sign-in, no password sharing.
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/jonathaneemmett/training-peaks-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server