strava-mcp
Integrates with Strava to fetch and analyze running activities, including recent runs, weekly mileage, and pace trends for marathon training.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@strava-mcpWhat's my weekly mileage?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Strava MCP Server
A Model Context Protocol (MCP) server that integrates Strava data for marathon coaching and training analysis. This server enables Claude Desktop to access your Strava activities and provide personalized running insights.
Features
Recent Activity Analysis - Fetch and analyze your recent running activities
Weekly Mileage Tracking - Calculate weekly mileage totals and trends
Pace Trend Analysis - Analyze pace improvements and patterns over time
Automatic Token Management - Handles Strava API token refresh automatically
Related MCP server: Strava MCP Server
Quick Setup
1. Prerequisites
Python 3.8 or higher
Strava account with API access
Claude Desktop application
2. Clone and Install
git clone <repository-url>
cd strava-mcp
pip install -r requirements.txt3. Configure Strava API
Create a Strava API application at developers.strava.com
Copy
.env-templateto.env:cp .env-template .envFill in your actual Strava API credentials in
.env:STRAVA_CLIENT_ID=your_actual_client_id STRAVA_CLIENT_SECRET=your_actual_client_secret STRAVA_REFRESH_TOKEN=your_actual_refresh_token
4. Test the Server
python strava_mcp_server.pyThe server should start without errors. Press Ctrl+C to stop it.
5. Configure Claude Desktop
Add this configuration to your Claude Desktop MCP settings:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"strava-marathon-coach": {
"command": "python",
"args": ["/absolute/path/to/strava_mcp_server.py"],
"env": {
"STRAVA_CLIENT_ID": "your_client_id",
"STRAVA_CLIENT_SECRET": "your_client_secret",
"STRAVA_REFRESH_TOKEN": "your_refresh_token"
}
}
}
}Important: Use the absolute path to your strava_mcp_server.py file.
6. Restart Claude Desktop
Restart Claude Desktop completely for the MCP server to be recognized.
Available Tools
Tool | Description | Default Parameters |
| Fetches recent running activities | Last 30 days |
| Calculates weekly mileage totals | Last 4 weeks |
| Analyzes pace trends over time | Last 30 days |
Usage Examples
Once configured, ask Claude:
"What are my recent runs?"
"Show me my weekly mileage for the past 4 weeks"
"Analyze my pace trends"
"How is my marathon training progressing?"
Security Notes
Never commit your
.envfile to version controlKeep your Strava API credentials secure
The
.env-templatefile shows the required format but contains example values only
Troubleshooting
Server Won't Start
Verify all environment variables are set in
.envCheck Python package installation:
pip install -r requirements.txtValidate Strava API credentials
Claude Can't Connect
Ensure absolute path in Claude Desktop config
Verify environment variables in config match your actual credentials
Restart Claude Desktop after config changes
Check Claude Desktop logs for connection errors
API Errors
Refresh token may be expired - re-authorize your Strava app
Verify your Strava API app has "read activities" permissions
Contributing
Fork the repository
Create a feature branch
Make your changes
Test thoroughly
Submit a pull request
License
MIT License - see LICENSE file for details
This server cannot be deployed
Maintenance
Related MCP Connectors
Connect Claude to your Intervals.icu watch data for fitness, workout review, and plan writing.
Garmin data in Claude & ChatGPT via the Garmin Health API. OAuth sign-in, no password sharing.
Garmin data in Claude: 135 tools — activities, sleep, HRV, training, workouts. Free, open source.
Pace is a remote MCP server that exposes wearable and fitness data to Claude via the Model Context Protocol. It connects to Garmin, Oura, Whoop, Polar, Fitbit and 20+ devices and provides 15 tools for querying sleep, activity, recovery, and training data. Hosted on Google Cloud Run, OAuth 2.1 authentication, Streamable HTTP transport. Instructions: First you need to create an account at: https://pacetraining.co and connect your wearables. After that you can connect the remote Server via Custom Connector in Claude and OAuth 2.1 Flow startet.
Related MCP Servers
- AlicenseBqualityDmaintenanceConnects Claude to the Strava API to provide direct access to fitness data, including athlete statistics, detailed activity logs, and time-series performance metrics. It enables users to analyze training progress, compare workouts, and retrieve specific segment details through natural language queries.8137 npmISC
- AlicenseAqualityDmaintenanceConnects Claude to your Strava account for analyzing training, predicting race times, and generating periodized training plans via natural language.13137 npmISC
- AlicenseAqualityDmaintenanceConnects Strava training data to Claude, enabling personalized coaching through analysis of training load, workout planning, gear maintenance, and power metrics.10MIT
- AlicenseNot gradedqualityDmaintenanceExposes your Strava data to Claude, enabling training load analysis, activity comparison, and lap splits via conversation.7 npmMIT