Strava MCP
About
Integrate your Strava activity data with AI models using a local SQLite database.
Details
- Author
- theagilepadawan
- Categories
- Cloud Service, Other
Jump to
For Developers: Publishing Your Setup Tool
create-strava-mcp/ ├── setup_strava_mcp.py # Main setup script ├── pyproject.toml # Modern Python packaging ├── setup.py # Alternative setup file ├── README.md # This file └── requirements.txt # Dependencies (none for setup tool)
# Replace with your actual Strava MCP repository repo_url = "https://github.com/your-username/strava-mcp.git"
# Build the package python -m pip install build python -m build # Upload to PyPI python -m pip install twine python -m twine upload dist/*
# Test with pipx pipx run create-strava-mcp # Or test with pip pip install create-strava-mcp create-strava-mcp
Once set up, you can ask Claude questions about your Strava data:
- "Show me my recent running activities"
- "What's my average pace this month?"
- "Compare my performance to last year"
- "Generate a training summary"
- "Which bike have I used the most this year?"
# Update your Strava data cd /path/to/strava-mcp source venv/bin/activate # On Windows: venv\Scripts\activate python strava-sync.py # Check MCP status # (View Claude Desktop logs)
- Python not found: Install Python 3.8+ frompython.org
- Git not found: Install Git fromgit-scm.com
- Permission errors: Run with appropriate permissions or choose a different install directory
- Virtual environment issues: Ensure you havevenvmodule:python -m pip install virtualenv
- Invalid credentials: Double-check your Client ID and Client Secret from Strava
- Authorization failed: Ensure your Strava app has the correct callback domain (localhost)
- Token expired: The MCP automatically refreshes tokens, but you can manually re-runstrava-sync.py
- Rate limiting: Strava has API limits; wait a few minutes if you hit them
- MCP not appearing: Restart Claude Desktop completely
- Connection errors: Check that file paths in the config are correct
- Python not found: Ensure the Python path in Claude config points to your virtual environment
- Data not loading: Runpython strava-sync.pyin the MCP directory
- Your App Credentials: KeepClient IDandClient Secretsecure but they can be shared with users
- User Tokens: Each user'sAccess TokenandRefresh Tokenare personal and should stay private
- Local Storage: All tokens are stored locally on the user's machine, never sent to you
- Delete the installation directory (shown during setup)
- Remove the "strava-mcp" entry from your Claude Desktop config file
- Restart Claude Desktop
If users don't want to install pipx, they can also use:
# Direct pip install and run pip install create-strava-mcp python -c "import setup_strava_mcp; setup_strava_mcp.main()" # Or install and use entry point pip install create-strava-mcp create-strava-mcp
- Check the troubleshooting section above
- Check Claude Desktop logs for MCP errors
- Re-runpython strava-sync.pyto refresh data
- Create an issue on the GitHub repository
Contributions welcome! Please see the main repository for guidelines.
MIT License - see LICENSE file for details.
Access the Strava API to query athlete activities data.
Local-first Garmin data warehouse: sync once into SQLite you own, then analyze trends, correlations, baselines and anomalies offline, even when Garmin's API breaks.
8 running tools for AI agents — 86 calculators, marathon data, pace/HR/VO2max calculations.
Analyse endurance sports activities, build training plans and sync structured workouts to your sports watch.
Access your Fitbit health and fitness data for personalized insights.
Tables, results, fixtures, model probabilities and daily Monte Carlo season projections for 93 football leagues.
Access Garmin Connect running data and training plan information.
Connects to Garmin Connect to expose your fitness and health data to MCP-compatible clients.
A multi-protocol API for accessing fitness data from providers like Strava and Fitbit, featuring AI-powered analysis and enterprise-grade management.
A fitness data platform that aggregates data from providers like Strava and Fitbit, offering secure B2B API access.
Automated setup tool for integrating Strava data with Claude Desktop via Model Context Protocol (MCP).
The Python equivalent ofnpxispipx. Install and run:
# Install pipx if you don't have it pip install pipx # Run the setup tool (installs temporarily and executes) pipx run create-strava-mcp
# Install globally pipx install create-strava-mcp # Run anytime create-strava-mcp
# Install and run directly pip install create-strava-mcp python -m create-strava-mcp
- Downloads the Strava MCP: Clones the Python repository to your local machine
- Sets up Python Environment: Creates a virtual environment and installs dependencies
- Guides Strava API Setup: Walks you through creating a Strava API application
- Handles Authentication: Manages the OAuth flow to get your tokens
- Data Sync: Downloads your initial Strava activity data to a local SQLite database
- Claude Integration: Automatically updates your Claude Desktop config file
- Optional Restart: Can restart Claude Desktop to activate the MCP immediately
- Ready to Use: After setup, Claude will have access to your Strava data
The "One App for Everybody" Approach
You need to createONEStrava API application that all users will authenticate through:
- Go toStrava API Settings
- Click "Create App"
- Fill in the details:
- Application Name: "Strava MCP" (or your preferred name)
- Category: Choose appropriate category
- Website:http://localhost
- Authorization Callback Domain:localhost
- You'll get aClient IDandClient Secret
- Users will useyourClient IDandClient Secret
- Each user gets their own personalAccess TokenandRefresh Token
- Users run the setup tool with your app credentials
- They authenticate throughyourStrava app
- They get their own personal tokens
- Their data stays private to them
Your Strava App (Client ID + Secret) ↓ User runs setup tool → Browser opens → User logs into Strava ↓ User authorizes YOUR app → Gets personal tokens → Stored locally ↓ MCP uses user's personal tokens → Accesses only their data
# Clone your Strava MCP repository git clone https://github.com/your-username/strava-mcp.git cd strava-mcp # Create virtual environment python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate # Install dependencies pip install -r requirements.txt # Set up environment cp .env.example .env # Edit .env with your Strava app credentials # Run authentication and initial sync python strava-sync.py # Add to Claude config manually (see Configuration section)
The tool automatically updates your Claude Desktop config file:
- macOS:~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:%APPDATA%/Claude/claude_desktop_config.json
- Linux:~/.config/claude/claude_desktop_config.json
{ "mcpServers": { "strava-mcp": { "command": "python", "args": ["/path/to/strava-mcp/strava-mcp.py"], "env": { "STRAVA_CLIENT_ID": "your_client_id", "STRAVA_CLIENT_SECRET": "your_client_secret", "STRAVA_REFRESH_TOKEN": "users_personal_refresh_token", "STRAVA_DB_PATH": "/path/to/strava_data.db" } } } }
For Developers: Publishing Your Setup Tool
create-strava-mcp/ ├── setup_strava_mcp.py # Main setup script ├── pyproject.toml # Modern Python packaging ├── setup.py # Alternative setup file ├── README.md # This file └── requirements.txt # Dependencies (none for setup tool)
# Replace with your actual Strava MCP repository repo_url = "https://github.com/your-username/strava-mcp.git"
# Build the package python -m pip install build python -m build # Upload to PyPI python -m pip install twine python -m twine upload dist/*
# Test with pipx pipx run create-strava-mcp # Or test with pip pip install create-strava-mcp create-strava-mcp
Once set up, you can ask Claude questions about your Strava data:
- "Show me my recent running activities"
- "What's my average pace this month?"
- "Compare my performance to last year"
- "Generate a training summary"
- "Which bike have I used the most this year?"
# Update your Strava data cd /path/to/strava-mcp source venv/bin/activate # On Windows: venv\Scripts\activate python strava-sync.py # Check MCP status # (View Claude Desktop logs)
- Python not found: Install Python 3.8+ frompython.org
- Git not found: Install Git fromgit-scm.com
- Permission errors: Run with appropriate permissions or choose a different install directory
- Virtual environment issues: Ensure you havevenvmodule:python -m pip install virtualenv
- Invalid credentials: Double-check your Client ID and Client Secret from Strava
- Authorization failed: Ensure your Strava app has the correct callback domain (localhost)
- Token expired: The MCP automatically refreshes tokens, but you can manually re-runstrava-sync.py
- Rate limiting: Strava has API limits; wait a few minutes if you hit them
- MCP not appearing: Restart Claude Desktop completely
- Connection errors: Check that file paths in the config are correct
- Python not found: Ensure the Python path in Claude config points to your virtual environment
- Data not loading: Runpython strava-sync.pyin the MCP directory
- Your App Credentials: KeepClient IDandClient Secretsecure but they can be shared with users
- User Tokens: Each user'sAccess TokenandRefresh Tokenare personal and should stay private
- Local Storage: All tokens are stored locally on the user's machine, never sent to you
- Delete the installation directory (shown during setup)
- Remove the "strava-mcp" entry from your Claude Desktop config file
- Restart Claude Desktop
If users don't want to install pipx, they can also use:
# Direct pip install and run pip install create-strava-mcp python -c "import setup_strava_mcp; setup_strava_mcp.main()" # Or install and use entry point pip install create-strava-mcp create-strava-mcp
- Check the troubleshooting section above
- Check Claude Desktop logs for MCP errors
- Re-runpython strava-sync.pyto refresh data
- Create an issue on the GitHub repository
Contributions welcome! Please see the main repository for guidelines.
MIT License - see LICENSE file for details.
Access the Strava API to query athlete activities data.
Local-first Garmin data warehouse: sync once into SQLite you own, then analyze trends, correlations, baselines and anomalies offline, even when Garmin's API breaks.
8 running tools for AI agents — 86 calculators, marathon data, pace/HR/VO2max calculations.
Analyse endurance sports activities, build training plans and sync structured workouts to your sports watch.
Access your Fitbit health and fitness data for personalized insights.
Tables, results, fixtures, model probabilities and daily Monte Carlo season projections for 93 football leagues.
Access Garmin Connect running data and training plan information.
Connects to Garmin Connect to expose your fitness and health data to MCP-compatible clients.
A multi-protocol API for accessing fitness data from providers like Strava and Fitbit, featuring AI-powered analysis and enterprise-grade management.
A fitness data platform that aggregates data from providers like Strava and Fitbit, offering secure B2B API access.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.




