Track MCP LogoTrack MCP
Track MCP LogoTrack MCP

The world's largest repository of Model Context Protocol servers. Discover, explore, and submit MCP tools.

Product

  • Categories
  • Top MCP
  • New & Updated
  • Submit MCP

Company

  • About

Legal

  • Privacy Policy
  • Terms of Service
  • Cookie Policy

© 2026 TrackMCP. All rights reserved.

Built with ❤️ by Krishna Goyal

    Strava Mcp Server

    MCP server for Strava API integration

    16 stars
    Python
    Updated Oct 7, 2025
    mcp
    mcp-server
    sports-tracker
    strava

    Table of Contents

    • Available Tools
    • Activities Queries
    • Activity Data Format
    • Authentication
    • Usage
    • Claude for Desktop
    • Claude Web
    • Example Queries
    • Error Handling
    • License

    Table of Contents

    • Available Tools
    • Activities Queries
    • Activity Data Format
    • Authentication
    • Usage
    • Claude for Desktop
    • Claude Web
    • Example Queries
    • Error Handling
    • License

    Documentation

    Strava MCP Server

    Python Package

    License: MIT

    Python 3.10

    Install MCP Server

    A Model Context Protocol (MCP) server that provides access to the Strava API. It allows language models to query athlete activities data from the Strava API.

    Available Tools

    The server exposes the following tools:

    Activities Queries

    • get_activities(limit: int = 10): Get the authenticated athlete's recent activities
    • get_activities_by_date_range(start_date: str, end_date: str, limit: int = 30): Get activities within a specific date range
    • get_activity_by_id(activity_id: int): Get detailed information about a specific activity
    • get_recent_activities(days: int = 7, limit: int = 10): Get activities from the past X days

    Dates should be provided in ISO format (YYYY-MM-DD).

    Activity Data Format

    The server returns activity data with consistent field names and units:

    FieldDescriptionUnit
    nameActivity name-
    sport_typeType of sport-
    start_dateStart date and timeISO 8601
    distance_metresDistancemeters
    elapsed_time_secondsTotal elapsed timeseconds
    moving_time_secondsMoving timeseconds
    average_speed_mpsAverage speedmeters per second
    max_speed_mpsMaximum speedmeters per second
    total_elevation_gain_metresTotal elevation gainmeters
    elev_high_metresHighest elevationmeters
    elev_low_metresLowest elevationmeters
    caloriesCalories burnedkcal
    start_latlngStart coordinates[lat, lng]
    end_latlngEnd coordinates[lat, lng]

    Authentication

    To use this server, you'll need to authenticate with the Strava API. Follow these steps:

    1. Create a Strava API application:

    • Go to Strava API Settings
    • Create an application to get your Client ID and Client Secret
    • Set the Authorization Callback Domain to localhost

    2. Get your refresh token:

    • Use the included get_strava_token.py script:
    bash
    python get_strava_token.py
    • Follow the prompts to authorize your application
    • The script will save your tokens to a .env file

    3. Set environment variables:

    The server requires the following environment variables:

    • STRAVA_CLIENT_ID: Your Strava API Client ID
    • STRAVA_CLIENT_SECRET: Your Strava API Client Secret
    • STRAVA_REFRESH_TOKEN: Your Strava API Refresh Token

    Usage

    Claude for Desktop

    Update your claude_desktop_config.json (located in ~/Library/Application\ Support/Claude/claude_desktop_config.json on macOS and %APPDATA%/Claude/claude_desktop_config.json on Windows) to include the following:

    json
    {
        "mcpServers": {
            "strava": {
                "command": "uvx",
                "args": [
                    "strava-mcp-server"
                ],
                "env": {
                    "STRAVA_CLIENT_ID": "YOUR_CLIENT_ID",
                    "STRAVA_CLIENT_SECRET": "YOUR_CLIENT_SECRET",
                    "STRAVA_REFRESH_TOKEN": "YOUR_REFRESH_TOKEN"
                }
            }
        }
    }

    Claude Web

    For Claude Web, you can run the server locally and connect it using the MCP extension.

    Example Queries

    Once connected, you can ask Claude questions like:

    • "What are my recent activities?"
    • "Show me my activities from last week"
    • "What was my longest run in the past month?"
    • "Get details about my latest cycling activity"

    Error Handling

    The server provides human-readable error messages for common issues:

    • Invalid date formats
    • API authentication errors
    • Network connectivity problems

    License

    This project is licensed under the MIT License - see the LICENSE file for details.

    Similar MCP

    Based on tags & features

    • MC

      Mcp Aoai Web Browsing

      Python·
      30
    • KI

      Kill Process Mcp

      Python·
      9
    • DA

      Davinci Resolve Mcp

      Python·
      327
    • FH

      Fhir Mcp Server

      Python·
      55

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k
    View All MCP Servers

    Similar MCP

    Based on tags & features

    • MC

      Mcp Aoai Web Browsing

      Python·
      30
    • KI

      Kill Process Mcp

      Python·
      9
    • DA

      Davinci Resolve Mcp

      Python·
      327
    • FH

      Fhir Mcp Server

      Python·
      55

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k