Get the FREE Ultimate OpenClaw Setup Guide →

trainingpeaks

TrainingPeaks MCP server for Claude Desktop. No API approval needed - works with any account. Query workouts, CTL/ATL/TSB fitness data, power PRs via natural language.

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio jamsusmaximus-trainingpeaks-mcp /path/to/venv/bin/tp-mcp serve

How to use

This MCP server provides read-only access to your TrainingPeaks data through natural language queries via AI assistants that support the Model Context Protocol (MCP). Tools exposed include tp_get_workouts for listing workouts by date range, tp_get_workout for detailed metrics of a single workout, tp_get_peaks for comparing power or pace PRs, tp_get_fitness for tracking CTL/ATL/TSB, tp_get_workout_prs for PRs within a workout, and tp_refresh_auth to re-authenticate when the session expires. The server authenticates using a cookie stored securely on your device (not sent to Claude) and reads data from TrainingPeaks without making modifications to your account. When you ask questions like “What was my FTP progression this year?” or “Show my form trend for the last 8 weeks,” the MCP tools fetch the latest data and present summarized results suitable for conversational AI responses.

How to install

Prerequisites:

  • Python 3.10+ installed on your system
  • Git available to clone the repository
  • Basic familiarity with Python virtual environments

Step 1: Clone the repository

git clone https://github.com/JamsusMaximus/trainingpeaks-mcp.git
cd trainingpeaks-mcp

Step 2: Create and activate a virtual environment

python3 -m venv .venv
# macOS/Linux
source .venv/bin/activate
# Windows
.venv\Scripts\activate

Step 3: Install the package in editable mode

pip install -e .

Step 4: Authenticate with TrainingPeaks (browser-based or manual entry)

  • Follow the project instructions to extract your cookie securely using tp-mcp auth (browser or manual) as described in the README.
  • Ensure the authentication step completes successfully before starting the server.

Step 5: Run the MCP server

# Ensure you're in the project root and the virtual environment is active
tp-mcp serve

Step 6: Configure your MCP client (Claude or other) to point at the server using the example mcp_config snippet and update the path to your local tp-mcp executable if needed.

Additional notes

Notes and tips:

  • The cookie-based authentication is stored securely on your device and is never exposed to AI assistants.
  • The MCP server operates in a read-only mode; it cannot modify TrainingPeaks data or account settings.
  • If you upgrade Python or the package, re-create the virtual environment to ensure compatibility.
  • The mcp_config example uses a local tp-mcp executable inside a Python virtual environment. Update the path to match your system setup.
  • This server uses stdio transport; there is no HTTP server or open network port.
  • If you encounter authentication issues, run tp-mcp auth-status to verify the current session state and tp-mcp auth-clear to reset.
  • For Claude Desktop users, add the generated JSON snippet to your claude_desktop_config.json under mcpServers and restart Claude Desktop.

Related MCP Servers

Sponsor this space

Reach thousands of developers