v0.2.0 on PyPI

Your AI running coach that actually remembers

An MCP server with persistent memory that connects your Strava data to Claude. It tracks your zones, pace trends, injuries, and goals across sessions — so coaching advice stays current.

$ pip install strava-mcp-agent Copy
View Source
18
MCP Tools
5
Memory Tools
1 cmd
Auto Setup
Cross-Session Context
18 tools — data + memory
13 Strava data tools + 5 persistent memory tools that give Claude context across every conversation.
get_athlete_context
Loads your full training profile at conversation start — HR zones, current Z2 pace, weekly mileage trends, goals, injuries, coaching notes. Auto-refreshes if stale.
update_athlete_profile
Save your max HR, resting HR, weight, FTP, and custom HR zones. Claude uses this to compute accurate training paces.
update_athlete_goals
Track race targets (e.g. sub-50 10K), training phase, and deadlines so coaching stays goal-oriented.
update_athlete_injuries
Log current injuries, update recovery status, or mark as resolved. Claude adjusts prescriptions accordingly.
add_training_note
Persistent coaching notes that carry across sessions. Keeps last 50 entries.
get_athlete
Your profile — name, weight, FTP, bio, and stats
get_athlete_stats
All-time and recent totals for running, cycling, swimming
list_activities
Browse activities with date range and type filtering
get_activity
Full detail — splits, HR, cadence, weather, device
get_activity_zones
Heart-rate and power zone distribution
get_activity_laps
Per-lap pace, HR, and distance breakdown
get_activity_streams
Raw sensor data — GPS, HR, cadence, watts, altitude
get_starred_segments
All your starred segments at a glance
get_segment_efforts
Every effort on a specific segment
get_routes
Routes you've created on Strava
get_gear
Shoe and bike details with mileage tracking
get_clubs
Clubs you belong to
get_running_summary
AI-ready coaching summary — weekly mileage, pace trends, best efforts, HR stats
Claude remembers your training context
Without memory, Claude forgets everything between conversations. With strava-mcp-agent, your zones, pace trends, injuries, and goals persist across every session.
Without memory
Session 1: "Your Z2 pace is 9:30/km at 150bpm"
Session 2: "Your Z2 pace is 8:10/km at 150bpm"
Session 3: "I'd recommend running at 9:00-9:30/km for easy runs" ← wrong! forgot the improvement
With memory
Session 1: Z2 pace saved: 9:30/km
Session 2: Z2 pace auto-updated: 8:10/km
Session 3: "Your Z2 pace has improved to 8:10/km — run at 8:00-8:30 for easy runs" ✓ accurate
Fitness Metrics
Z2 pace, weekly mileage, pace trends, cadence — auto-computed from your Strava data
HR Zones
Your personal zones so Claude prescribes the right pace, not generic defaults
Goals & Races
Target races, training phase, and deadlines that shape every recommendation
Injuries
Active injuries and recovery status so Claude adjusts volume and intensity
Coaching Notes
Persistent observations that carry context from session to session
Talk to your training data
Just ask Claude naturally. It fetches the data, does the math, and gives you coaching insights.
You
How's my running been this month? Am I improving?
Claude
Looking at your stored context and recent data: you've logged 12 runs totaling 87.3 km this month. Your Z2 pace improved from 9:30/km to 8:10/km — that's significant aerobic development. Your weekly mileage is trending up from 32 to 38 km. Given your sub-50 10K goal in June, you're right on track. I'd suggest bumping your long run to 14 km next week.
You
My left knee has been sore after tempos
Claude
I've logged that as a current injury — left knee, monitoring status. Given this, I'm adjusting your plan: skip tempo runs this week, keep easy runs under 8 km, and focus on flat routes. I'll check in on this next session. If it persists beyond a week, consider seeing a physio.
You
Compare my heart rate zones on my last tempo run vs my long run
Claude
Your tempo run (Tuesday) spent 68% in Zone 4 with avg HR 172. Your long run (Saturday) was 72% Zone 2 with avg HR 142 — right in your configured Z2 range of 130-152. Good polarization. Your easy runs are actually easy.
Running in 2 commands
Install, run the setup wizard, and you're done. It auto-configures Claude Desktop for you.

1. Install from PyPI

One command. No extra dependencies to manage.

2. Create a Strava API app (one time)

Go to strava.com/settings/api and fill in:

Application NameAnything (e.g. My Claude MCP)
CategoryPick any
ClubLeave blank
Websitehttp://localhost
Authorization Callback Domainlocalhost ← important!

Click Create. Copy your Client ID (a number) and Client Secret (a long code) from the next page.

3. Run the setup wizard

Run strava-mcp-token in your terminal. It will ask for your Client ID and Secret, open your browser to authorize with Strava, then automatically configure Claude Desktop — detects your OS, finds the right Python, and writes the config file for you.

4. Restart Claude Desktop

That's it. Your 13 Strava tools are ready to use.

Terminal
# Install
$ pip install strava-mcp-agent

# Setup wizard — handles everything
$ strava-mcp-token

=== Strava MCP Setup ===

Enter your Strava CLIENT_ID: 123456
Enter your Strava CLIENT_SECRET: abc...

Opening browser for authorization...
Authorized as: Koushik Maji

Configuring Claude Desktop...
Config written to: ~/Library/.../claude_desktop_config.json
All done! Restart Claude Desktop.
Built for athletes who use AI

Real-time data

OAuth2 token auto-refresh. Always current, never stale credentials.

🏃

Coaching-ready

The running summary tool computes weekly mileage, pace trends, best efforts, and HR stats in one call.

🔒

Secure by default

Credentials loaded from environment variables only. Never hardcoded, never logged.

🚀

Auto-setup wizard

One command configures everything — detects your OS, finds Python, writes Claude Desktop config. Mac, Linux, and Windows.

📈

Raw sensor streams

GPS, heart rate, cadence, power, altitude — every data point your device recorded.

🛠

Full Strava API

Activities, segments, routes, gear, clubs — if Strava has it, Claude can access it.

Start training with AI

Install in seconds. Ask Claude about your runs in minutes.

$ pip install strava-mcp-agent Copy
View on GitHub