MCP Strava Server
About
A Model Context Protocol (MCP) server that integrates Strava with Claude for Desktop, enabling AI-powered analysis of your fitness activities.
Details
- Author
- MariyaFilippova
- GitHub stars
- 21
- Downloads
- 330
- Categories
- Other
Jump to
- Route generation with Google Maps links (no API key needed)
- Discover popular Strava segments nearby and build routes
- OAuth authentication with automatic token refresh
- Activity analysis by ID or recent activities list
- Data streams: heart rate, pace, altitude, cadence, power, GPS
- Lap splits with distance, time, speed, elevation, and HR
- Paginated search of activities by date range
- Historical comparisons between months and year-over-year
Clone the repository, configure Strava API credentials in src/main/resources/.env, build with ./gradlew shadowJar, then add the server to Claude for Desktop's claude_desktop_config.json with the Java command pointing to the built JAR. On first use, run the auth_strava tool to authorize via browser; tokens are persisted and auto-refreshed. Use the logout tool to switch accounts.
MCP Strava Server
A Model Context Protocol (MCP) server that integrates Strava with Claude for Desktop, enabling AI-powered analysis of your fitness activities.
Features
- ⭐ Route Generation - suggest round-trip routes with a Google Maps link (no API key needed) - ⭐ Popular Routes - discover popular Strava segments nearby and get a Google Maps loop through them - OAuth Authentication with automatic token refresh and persistence - Activity Analysis - get details on any activity by ID, or browse recent ones - Data Streams - heart rate, pace, altitude, cadence, power, GPS for any activity - Lap Splits - per-lap distance, time, speed, elevation, and heart rate - Paginated Search - find activities by date range with full pagination - Historical Comparisons - compare months year-over-year - Statistics - all-time stats, weekly/monthly summaries - Filtering - by activity type (Run, Ride, Swim, etc.)Available Tools
| Tool | Description |
|------|-------------|
| auth_strava | Authorize with Strava (opens browser) |
| logout | Clear stored tokens to switch accounts |
| last_activity | Get details of your most recent activity |
| get_activity | Fetch any activity by its ID |
| recent_activities | List last 10 activities |
| search_activities | Paginated search with optional date range (before/after epoch, page, per_page) |
| athlete_stats | All-time statistics (rides, runs, swims) |
| activities_by_type | Filter activities by sport type |
| weekly_summary | Summary of the past 7 days |
| monthly_summary | Summary of the past 30 days |
| month_summary | Summary for a specific month/year |
| compare_months | Compare two months (e.g., Jan 2025 vs Jan 2026) |
| get_streams | Heart rate data for last activity |
| get_activity_streams | Full data streams (HR, pace, altitude, cadence, power, GPS, etc.) for any activity |
| get_laps | Lap splits for any activity (distance, time, speed, elevation, HR) |
| suggest_route | Generate a round-trip route and get a Google Maps link for navigation |
| popular_routes | Find popular Strava segments nearby and build a Google Maps route through them |
Setup
1. Clone the Repository
git clone https://github.com/MariyaFilippova/mcp-strava.git
cd mcp-strava
2. Configure Strava API Credentials
Get your credentials from Strava API settings.
Create/edit src/main/resources/.env:
CLIENT_ID="your-client-id"
CLIENT_SECRET="your-client-secret"
3. Build the Project
./gradlew shadowJar
The JAR will be at: build/libs/strava-mcp-server-2.1.0-all.jar
4. Configure Claude for Desktop
Edit Claude's configuration file:
```bash
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



