Coach Leo — Documentation

Connect Coach Leo to Claude, ChatGPT, or any MCP-compatible AI assistant.

Coach Leo is a full AI running coach app available at coachleo.ai. It syncs your Strava, builds adaptive training plans, tracks body signals, manages your shoes, and prepares you for races — all grounded in sports science. It also exposes an MCP server for advanced users who want to connect Leo to their favorite AI assistant (ChatGPT, Claude, Mistral). Learn more about Leo.

Overview

Coach Leo is a personal AI running coach that operates as a remote MCP (Model Context Protocol) server. It connects to your Strava account and provides science-backed training guidance through 11 specialized coaching tools.

When you connect Coach Leo to an AI assistant, the assistant becomes your running coach — it can analyze your workouts, build training plans, monitor your training signals, manage your shoes, and prepare you for races, all grounded in a scientific knowledge base of sports science literature.

How to connect

Coach Leo uses Streamable HTTP transport with OAuth 2.1 authentication and Dynamic Client Registration (DCR).

Server URL

https://mcp.coachleo.ai/mcp

In Claude:

  1. Open Settings > Connectors
  2. Click "Add custom connector"
  3. Enter the server URL: https://mcp.coachleo.ai/mcp
  4. Click Connect — you will be redirected to sign in or create a Coach Leo account
  5. After authentication, Coach Leo's tools are available in your conversation

Requirements

  • A Coach Leo account with an active subscription (7-day free trial available at coachleo.ai)
  • A connected Strava account (required during onboarding to sync your activities)

Authentication

The server implements the full OAuth 2.1 Authorization Server specification:

  • Discovery: /.well-known/oauth-authorization-server
  • Dynamic Client Registration: POST /register
  • Authorization: GET /authorize (redirects to Coach Leo login)
  • Token exchange: POST /token (PKCE with S256)
  • Token refresh: supported with automatic rotation
  • Revocation: POST /revoke

Clients register dynamically via DCR. No static client ID or secret is required.

Tools (11)

Coach Leo exposes 11 tools organized around the STRAP pattern (most tools accept an action parameter with optional data). All tools include MCP annotations (readOnlyHint, destructiveHint, openWorldHint). No tool is destructive — all writes are additive.

get_coaching_briefingread-only

Returns the runner's complete coaching context: profile, latest activity, today's planned session, training load trends (ACWR), target race, active body signal alerts, readiness data, recent coaching decisions, and running character status. Must be called at the start of every conversation.

athlete

Runner profile and running character — get, update, or recalculate.

  • -get_profile — full biometrics, running form data, shoe collection, coaching preferences, training history
  • -update_profile — update any profile field including coaching preferences (communication style, training philosophy, intensity preference, rest philosophy, cross-training role, signal alert threshold, fatigue perception bias)
  • -get_character — retrieve running character data (requires 7+ days and 5+ activities for eligibility)
  • -recalculate_character — recompute character from real activity patterns (called during weekly reviews)
activity

Runner's training activities synced from Strava — search history, get details, record post-workout feedback.

  • -query — search activity history with filters: date range, sport type (run, trail_run, ride, mountain_bike, nordic_ski), training impact (primary, cross_aerobic, cross_muscular, cross_recovery)
  • -get_detail — full activity details including metrics, heart rate zones, pace splits, and GPX summary
  • -record_feedback — record post-workout subjective feedback: perceived effort (1-10), sensations, notes, shoe worn
training

Training plans and individual sessions — create, modify, add/remove sessions, link completed activities.

  • -get_plan — retrieve the active training plan with the next 14 days of scheduled sessions
  • -create_plan — build a new structured plan with daily sessions (date, type, title, description, target duration). The knowledge base is always consulted first for training methodology.
  • -update_session — mark a session as completed, skipped, or modified, with optional adaptation reason and link to the completed Strava activity
body_signals

Body signals (tightness, soreness, setbacks) and daily readiness check-ins.

  • -record_observation — log training-related feedback: tightness, soreness, asymmetry with body area, severity (info/watch/warning/alert), terrain context, AI interpretation, scientific references, and recommended actions
  • -record_physical_setback — record a confirmed physical setback with start date, severity (minor/moderate/severe), type, probable cause, and recovery action
  • -record_readiness — daily readiness check-in: sleep hours, sleep quality, energy level, mood, stress level, muscle soreness, resting heart rate
shoes

Shoe collection with wear tracking and inspections — add, retire, inspect, link to Strava gear.

  • -add — register a new shoe (brand, model, category: trail/road/mixed, estimated lifetime, Strava gear ID)
  • -update — modify shoe details
  • -retire — mark a shoe as end-of-life
  • -inspect — record a zone-by-zone wear inspection (outsole, midsole lateral, midsole medial, upper, heel, insole) with visual score (1-10), observations, AI analysis, and estimated remaining life
  • -stats — shoe statistics: total km, inspections history, estimated remaining life
  • -link — auto-link shoes to activities via Strava gear IDs
race

Races from discovery to post-race report — list, register, update, record results.

  • -list — get all races by status (planned, completed, DNS, DNF)
  • -add — register a race with distance, elevation, terrain type, goal, role (objectif/préparatoire/découverte), and optional parent race for preparation hierarchy
  • -update — modify race details
  • -report — record race results: finish time, notes, full race report
knowledge

Scientific knowledge base (training, overtraining, running form, nutrition, trail, psychology). Consulted before every training recommendation, body signal analysis, or running form advice.

  • -search — hybrid semantic + full-text search across categories: training methodology, overtraining prevention, trail specific, running form, nutrition & recovery, psychology, cross-training
  • -list_sources — browse documents by category and tier (T1 peer-reviewed, T2 expert, personalized)
  • -ingest — add a new scientific document with automatic chunking and embedding
  • -record_gap — log a missing topic when search returns no relevant results
  • -list_gaps — view knowledge gaps by status (open, researching, resolved)
  • -resolve_gap — mark a gap as resolved with linked documents
memory

Persistent coaching memory across sessions — log decisions, search past history. Ensures continuity and prevents contradictory advice.

  • -log_conversation — save a coaching exchange with topic (onboarding, plan adaptation, body signal analysis, overtraining prevention, weekly review, race prep), summary, decisions, and actions
  • -search_history — search past coaching decisions, activities, and training observations by date range and scope
race_performanceread-only

Return current race time projections (5K, 10K, Half-Marathon, Marathon), a trail-adjusted estimate for a target race, and current training zones (Daniels pace zones Z1-Z5 + Karvonen HR zones). Single source of truth shared with the dashboard — same VDOT, same ensemble (VDOT, Tanda, Cameron, Riegel) with dynamic profile-based weighting. Eliminates the risk of the coach improvising race times.

get_skill_workflowread-only

Load a detailed coaching workflow with step-by-step instructions, tool call sequences, and knowledge base queries. Available workflows: onboarding, post-activity analysis, body signal analysis, overtraining monitor, weekly review, adaptive training plan, race planning, deep research, shoe wear analysis, character reveal, arena.

Coaching Workflows

Beyond individual tools, Coach Leo orchestrates complex coaching scenarios through 11 predefined workflows. Each workflow defines the exact sequence of tool calls, knowledge base queries, and decision logic for a specific coaching situation:

  • Onboarding guide new runners through initial profile setup, Strava connection, and first coaching conversation
  • Post-activity analysis structured debrief after a workout: activity metrics, subjective feedback collection, knowledge base consultation, training signal recording
  • Body signal analysis analyze reported discomfort, tightness, or unusual feelings with scientific context and severity assessment
  • Overtraining monitor detect overtraining risk from training load spikes, recurring discomfort patterns, and running form signals
  • Weekly review comprehensive training week summary: volume analysis, plan adherence, readiness trends, character recalculation, memory logging
  • Adaptive training plan create or modify a periodized plan based on race goals, available time, current fitness, training philosophy, and cross-training integration
  • Race planning full race lifecycle from discovery to post-race report, including preparation race hierarchy and course analysis
  • Deep research enrich the knowledge base with new scientific literature on a specific topic
  • Shoe wear analysis zone-by-zone inspection workflow with replacement timing recommendations
  • Character reveal ceremonial running character reveal when the runner reaches eligibility (7+ days, 5+ activities)
  • Arena expedition progress, season status, quests, streak, and XP (the gamification layer)

Multi-sport support

Coach Leo tracks five sport types from Strava, each classified by training impact:

  • Run & Trail run primary training (full metrics: pace, cadence, HR zones, elevation)
  • Ride cross-training aerobic
  • Mountain bike cross-training muscular
  • Nordic ski cross-training aerobic

Cross-training sessions are integrated into training plans as strategic or complementary blocks depending on the runner's coaching preferences.

Data and privacy

  • All data is stored in a PostgreSQL database hosted in Germany (Hetzner, EU)
  • All connections use HTTPS/TLS encryption
  • Strava data is read-only — Coach Leo never modifies your Strava account
  • Each user's data is strictly isolated — no cross-user data sharing
  • GDPR compliant with full data export and deletion support
  • No data is used for AI model training

Full privacy policy: coachleo.ai/privacy

Support

For questions, issues, or feedback: [email protected]