strava-mcp
Integrates with Strava to fetch and analyze running activities, including recent runs, weekly mileage, and pace trends for marathon training.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
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
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Connect Claude to your Intervals.icu watch data for fitness, workout review, and plan writing.
tri-train is a training platform for triathletes that syncs activities from Strava and Garmin and exposes them to Claude through a remote MCP server. Ask Claude how your last block went, why your run pace dropped, or whether you are fresh enough for Sunday's race, and it answers from your real data: activities with laps and grade-adjusted pace, weekly load and the performance management chart (CTL/ATL/TSB), sleep, HRV and resting heart rate, and your race calendar with predictions. Claude can also act: create and adjust planned workouts with structured intervals, push them to your Garmin watch, add races and write notes. Every change is journaled and can be undone. Read and write access are separate OAuth scopes, and the server enforces them on every call. Built and hosted in Switzerland by a triathlete; data stays on our own servers (Swiss revDSG / GDPR).
Connect Intervals.icu to Claude and ChatGPT: read training, plan workouts. Training never stored.
Garmin data in Claude & ChatGPT via the Garmin Health API. OAuth sign-in, no password sharing.
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.8125 npmISC
- AlicenseAqualityDmaintenanceConnects Claude to your Strava account for analyzing training, predicting race times, and generating periodized training plans via natural language.13125 npmISC
- AlicenseAqualityDmaintenanceConnects Strava training data to Claude, enabling personalized coaching through analysis of training load, workout planning, gear maintenance, and power metrics.1033 PyPI1MIT
- AlicenseNot gradedqualityDmaintenanceExposes your Strava data to Claude, enabling training load analysis, activity comparison, and lap splits via conversation.10 npmMIT