Coaching Guide
Learn how to use the Strava MCP Server like a performance coach to maximize value from your training data.
Table of contents
- Overview
- Activity Enrichment
- Conversation Patterns
- Best Practices
- Technical Tips
- Advanced Usage
- Common Questions
- Privacy Considerations
- Getting Started
- Need More Help?
Overview
The Strava MCP Server transforms Claude into your personal performance coach, helping you derive maximum value from your Strava data through:
- Activity Enrichment - Transform generic workout titles into detailed training logs
- Performance Analysis - Analyze telemetry data for insights on pacing, heart rate, and power
- Progress Tracking - Monitor training volume, intensity, and consistency
- Personalized Guidance - Evidence-based training recommendations
Activity Enrichment
Many athletes sync workouts from devices like Apple Watch with generic names (“Morning Run”, “Afternoon Ride”) and no descriptions. The MCP server helps transform these into rich training logs.
Standard Enrichment Process
- Discover → “Show me today’s activities”
- Analyze → Claude reviews distance, pace, heart rate, elevation
- Gather Context → Claude asks how it felt, what the goal was
- Enrich → Claude updates activity with meaningful title and rich description
- Coach → Claude provides performance insights and training guidance
Example Transformation
Before:
Name: Morning Run
Description: (empty)
After:
Name: Progressive Long Run - 10K Base Building
Description: Perfect conditions at 55°F, overcast. Goal was easy
Zone 2 aerobic work and nailed it - HR stayed 135-145 for 93% of
the run. Started at 5:15/km pace, built naturally to 4:50/km in
final 2K without forcing. Legs felt surprisingly fresh after
yesterday's tempo session. This is exactly what recovery runs should
feel like - conversational effort throughout, building aerobic base
while allowing active recovery. Form felt relaxed and efficient.
Conversation Patterns
Pattern 1: Morning Check-In
You: “How did I do today?”
Claude:
- Calculates today’s timestamp
- Finds today’s activities with
get_activities - Reviews each activity
- Asks about workouts with generic names
- Updates activities with rich context
- Provides summary and encouragement
Pattern 2: Activity Enrichment
You: “Update my morning run”
Claude:
- Finds the run with
get_activities(recent) - Reviews distance, pace, heart rate
- Asks: “How did it feel? What was the goal?”
- Listens to your response
- Updates with
update_activity:- Meaningful title
- Rich description with your feedback
- Coaching observations
- Confirms update and offers insights
Pattern 3: Race Analysis
You: “Analyze my half marathon from yesterday”
Claude:
- Finds the race with
get_activities - Gets full details with
get_activity_by_id - Gets telemetry with
get_activity_streams - Analyzes:
- Pacing strategy (splits)
- Heart rate response
- Elevation impact
- Comparison to goal pace
- Provides detailed feedback with data
- Updates activity with analysis in description
- Offers recommendations for next race
Pattern 4: Progress Review
You: “How’s my training going this month?”
Claude:
- Gets stats with
get_athlete_stats - Gets activities with date range
- Analyzes:
- Consistency (activities/week)
- Volume (distance, time)
- Intensity (pace trends)
- Variety (sport types)
- Compares to previous periods
- Celebrates progress
- Identifies improvement areas
- Sets next goals
Pattern 5: Weekly Summary
You: “Summarize my week”
Claude:
- Calculates week timestamps
- Gets activities for the week
- Compiles statistics
- Identifies best efforts
- Notes patterns (recovery, hard days)
- Provides markdown summary
- Offers next week’s focus
Best Practices
Title Writing
Poor titles:
- ❌ “Morning Run”
- ❌ “Afternoon Ride”
- ❌ “Workout”
Good titles:
- ✅ “Tempo Run - 5K @ Marathon Pace”
- ✅ “Recovery Run - Easy Zone 2”
- ✅ “Hill Repeats - 8x400m”
- ✅ “Progressive Long Run - 10K Build”
Description Template
[Weather/Conditions] [Goal/Purpose] [Execution/Performance]
[How it Felt] [Notable Observations] [Training Context]
Example Descriptions
Example 1:
Perfect fall weather, 62°F with light breeze. Goal was controlled
tempo effort at marathon pace. Executed well - hit 4:30/km for the
middle 5K with HR steady at 168-172. Felt strong and sustainable.
Slight fatigue in final 2K but maintained form. Confidence builder
for upcoming race. Recovery tomorrow.
Example 2:
Brutal hill workout! 10 repeats of the neighborhood hill (~300m,
8% grade). 2-3 min up hard, jog down recovery. HR spiked to 180+
on each rep but recovered well. Legs were burning by rep 7 but
pushed through. These are getting easier - last month I could
barely finish 6 reps. Clear progress! Ice bath after.
Technical Tips
Working with Timestamps
Claude can calculate timestamps for you, but if you need to:
// Get current timestamp
const now = Math.floor(Date.now() / 1000);
// Today at midnight (local time)
const today = new Date();
today.setHours(0, 0, 0, 0);
const todayEpoch = Math.floor(today.getTime() / 1000);
// Specific date
const specificDate = new Date('2026-01-17T00:00:00');
const specificEpoch = Math.floor(specificDate.getTime() / 1000);
Rate Limits
Strava enforces API limits:
- 100 requests per 15 minutes
- 1,000 requests per day
Best Practices:
- Don’t repeatedly fetch the same data
- Use date filtering to reduce results
- Space out bulk operations
Advanced Usage
Telemetry Analysis
Ask Claude to analyze your race with streams:
You: “Analyze my race pacing using the telemetry data”
Claude will:
- Get activity streams (time, distance, velocity, heartrate)
- Calculate splits and pacing
- Analyze heart rate zones
- Check for cardiac drift
- Provide detailed insights
Training Volume Trends
You: “Compare my training this month vs last month”
Claude will:
- Get athlete stats for recent period
- Get activities for both months
- Compare volume, consistency, intensity
- Identify trends and patterns
- Provide recommendations
Common Questions
“How do I give context for better descriptions?”
Be specific when Claude asks:
- Mention weather conditions
- Explain the workout goal
- Describe how you felt
- Note any challenges
- Reference recent training context
“Can Claude update multiple activities at once?”
Yes! Say: “Enrich all my runs from this week. I’ll tell you about each one.”
“What if my activity doesn’t have heart rate data?”
Claude can still enrich with:
- Pace analysis
- Elevation impact
- Training context
- How you felt
- Route details
“How detailed should descriptions be?”
Aim for 3-5 sentences covering:
- Conditions and goal
- Execution and performance
- How it felt
- Notable observations
- Training context
Privacy Considerations
When creating descriptions:
- Focus on performance, not personal details
- Avoid sharing specific locations in public activities
- Keep descriptions about training, not personal life
- Remember descriptions may be visible to followers
Getting Started
Simple workflow to start:
- Morning after workout: “Show me today’s activities”
- Pick one to enrich: “Update my morning run”
- Answer Claude’s questions about how it felt
- Review the enriched activity in Strava
- Repeat daily to build detailed training history
Over time, these enriched descriptions become invaluable for:
- Understanding what training works for you
- Identifying patterns in performance
- Planning future training cycles
- Learning from past successes and mistakes
Need More Help?
- See Examples for specific use cases
- Check API Reference for tool details
- Visit GitHub for support
Happy training! 🏃♂️🚴♀️💪