About MCP Strava Server
MCP Strava Server is an MCP server that connects Strava to Claude for Desktop for AI-assisted analysis of fitness activities. It is aimed at Strava users who want to query their training data in natural language.
Key features
- 01Streams for heart rate, pace, altitude and power
- 02Per-lap split data for any activity
- 03Personal best efforts ranked from 400m to 10k
- 04Paginated activity search by date range
- 05Round-trip route suggestions with Google Maps links
Use cases
- 01Comparing training volume across months or years
- 02Analyzing heart rate and elevation for a recent run
- 03Finding popular running or cycling routes nearby
MCP support
This project is an MCP server that exposes Strava activity, statistics and route tools to MCP clients such as Claude for Desktop.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEMCP 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
- Personal Best Efforts - fastest 400m, 1k, 1 mile, 5k, 10k, etc. for a run, with pace and PR ranking
- 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) |
get_best_efforts | Personal best efforts (400m, 1k, 1 mile, 5k, 10k, …) for a run, with pace and PR ranking |
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:
# macOS
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
# Windows
code %APPDATA%\Claude\claude_desktop_config.json
Add the MCP server:
{
"mcpServers": {
"strava": {
"command": "java",
"args": [
"-jar",
"/absolute/path/to/mcp-strava/build/libs/strava-mcp-server-2.1.0-all.jar"
]
}
}
}
Restart Claude for Desktop.
Usage Examples
Once configured, you can ask Claude things like:
- "Show me my recent Strava activities"
- "What are my all-time running stats?"
- "Compare my January 2025 with January 2026"
- "Give me a summary of my cycling this week"
- "How did my training this month compare to last month?"
- "Show me the lap splits for activity 123456789"
- "Analyze the heart rate and elevation data for my last run"
- "Find all my activities from March 2025"
- "Suggest a 5km running route starting from Central Park, NYC"
- "Generate a 10km cycling route from 48.8566, 2.3522"
- "Find popular running segments near Central Park, NYC"
- "Show me popular cycling routes within 10km of Paris"
Authentication
On first use, the server will open your browser for Strava authorization. Tokens are persisted to ~/.strava-mcp-token.json and automatically refreshed when expired.
Use the logout tool to clear stored tokens if you need to switch accounts.
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.