Skip to main content
Glama

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.txt

3. Configure Strava API

  1. Create a Strava API application at developers.strava.com

  2. Copy .env-template to .env:

    cp .env-template .env
  3. Fill 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.py

The 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

get_recent_runs

Fetches recent running activities

Last 30 days

get_weekly_mileage

Calculates weekly mileage totals

Last 4 weeks

analyze_pace_trends

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 .env file to version control

  • Keep your Strava API credentials secure

  • The .env-template file shows the required format but contains example values only

Troubleshooting

Server Won't Start

  • Verify all environment variables are set in .env

  • Check Python package installation: pip install -r requirements.txt

  • Validate 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

  1. Fork the repository

  2. Create a feature branch

  3. Make your changes

  4. Test thoroughly

  5. Submit a pull request

License

MIT License - see LICENSE file for details

F
license - not found
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mdecesare13/strava-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server