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

    A Model Context Protocol (MCP) server that connects to Strava API, providing tools to access Strava data through LLMs TypeScript-based implementation.

    177 stars
    TypeScript
    Updated Nov 4, 2025

    Table of Contents

    • What Can You Do With This?
    • 🏃 Track Your Progress
    • 📊 Analyze Your Workouts
    • 🗺️ Explore Routes & Segments
    • 🏆 Get Coaching Insights
    • Quick Start (3 Steps)
    • Step 1: Add to Claude Desktop
    • Step 1 (alternative): Add to Claude Code
    • Step 2: Restart Claude Desktop
    • Step 3: Connect Your Strava
    • Connecting Your Strava Account
    • First Time Setup
    • Getting Your Strava API Credentials
    • Managing Your Connection
    • Installation Options
    • Option A: Just Use It (Recommended)
    • Option B: Install Globally
    • Option C: Build from Source
    • Example Conversations
    • Morning Check-in
    • Workout Analysis
    • Finding New Routes
    • Available Tools
    • Account & Profile
    • Activities
    • Stats & Progress
    • Segments
    • Routes
    • Clubs
    • Troubleshooting
    • "Connect my Strava account" doesn't open a browser
    • "Authentication failed" or "Invalid token"
    • "Missing credentials" error
    • Claude doesn't see the Strava tools
    • JSONRPC.ProtocolTransportError after package name change
    • For Developers
    • Environment Variables
    • Token Refresh
    • Config Priority
    • Building & Testing
    • Activity Streams Optimization
    • API Reference
    • Contributing
    • License

    Table of Contents

    • What Can You Do With This?
    • 🏃 Track Your Progress
    • 📊 Analyze Your Workouts
    • 🗺️ Explore Routes & Segments
    • 🏆 Get Coaching Insights
    • Quick Start (3 Steps)
    • Step 1: Add to Claude Desktop
    • Step 1 (alternative): Add to Claude Code
    • Step 2: Restart Claude Desktop
    • Step 3: Connect Your Strava
    • Connecting Your Strava Account
    • First Time Setup
    • Getting Your Strava API Credentials
    • Managing Your Connection
    • Installation Options
    • Option A: Just Use It (Recommended)
    • Option B: Install Globally
    • Option C: Build from Source
    • Example Conversations
    • Morning Check-in
    • Workout Analysis
    • Finding New Routes
    • Available Tools
    • Account & Profile
    • Activities
    • Stats & Progress
    • Segments
    • Routes
    • Clubs
    • Troubleshooting
    • "Connect my Strava account" doesn't open a browser
    • "Authentication failed" or "Invalid token"
    • "Missing credentials" error
    • Claude doesn't see the Strava tools
    • JSONRPC.ProtocolTransportError after package name change
    • For Developers
    • Environment Variables
    • Token Refresh
    • Config Priority
    • Building & Testing
    • Activity Streams Optimization
    • API Reference
    • Contributing
    • License

    Documentation

    Strava MCP Server

    Talk to your Strava data using AI.

    Connect Claude to your Strava account and ask questions in plain English: "How far did I run this month?", "Analyze my last ride", or "Show me my fastest segments."

    MseeP.ai Security Assessment Badge

    ---

    What Can You Do With This?

    Once connected, just talk to Claude like you're talking to a friend who has access to all your Strava data:

    🏃 Track Your Progress

    "How many kilometers did I run this month?"

    "Compare my running stats from January to December"

    "What's my longest ride ever?"

    📊 Analyze Your Workouts

    "Break down my last cycling workout - show me power, heart rate, and cadence"

    "How did my heart rate zones look during yesterday's run?"

    "What was my average pace for each lap in my interval training?"

    🗺️ Explore Routes & Segments

    "What are the most popular cycling segments near Central Park?"

    "Show me my starred segments"

    "Export my Sunday morning route as a GPX file"

    🏆 Get Coaching Insights

    "Analyze my training load this week"

    "How does my current fitness compare to last month?"

    "Give me a summary of my cycling performance this year"

    ---

    Quick Start (3 Steps)

    Step 1: Add to Claude Desktop

    Open your Claude Desktop configuration file:

    • Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json

    Add this to the file:

    json
    {
      "mcpServers": {
        "strava": {
          "command": "npx",
          "args": ["-y", "@r-huijts/strava-mcp-server"]
        }
      }
    }

    Step 1 (alternative): Add to Claude Code

    You can add this MCP server to claude code with the following command:

    code
    claude mcp add --transport stdio strava -- npx @r-huijts/strava-mcp-server

    You can confirm successful instalation as follows:

    code
    % claude mcp list
    Checking MCP server health...
    
    strava: npx @r-huijts/strava-mcp-server - ✓ Connected

    Step 2: Restart Claude Desktop

    Close and reopen Claude Desktop to load the new configuration.

    Step 3: Connect Your Strava

    Just say to Claude:

    "Connect my Strava account"

    A browser window will open. Enter your Strava API credentials, authorize the app, and you're done!

    That's it! Start asking about your activities.

    ---

    Connecting Your Strava Account

    First Time Setup

    When you say "Connect my Strava account", here's what happens:

    1. A browser window opens showing a setup page

    2. Enter your Strava API credentials (Client ID and Client Secret)

    3. Click "Continue to Strava" - you'll be redirected to Strava

    4. Authorize the app on Strava's website

    5. See the success message - you can close the browser

    6. Done! Claude confirms you're connected

    Your credentials are saved locally at ~/.config/strava-mcp/config.json and persist across sessions.

    Getting Your Strava API Credentials

    You need to create a free Strava API application (one-time setup):

    1. Go to strava.com/settings/api

    2. Click "Create an App" (or view your existing app)

    3. Fill in the form:

    • Application Name: Anything you want (e.g., "My Claude Assistant")
    • Category: Choose any
    • Website: Can be anything (e.g., http://localhost)
    • Authorization Callback Domain: Must be localhost

    4. Copy your Client ID and Client Secret

    That's it! You only need to do this once.

    Managing Your Connection

    • Check status: "Am I connected to Strava?"
    • Reconnect: "Connect my Strava account" (use force: true to reconnect)
    • Disconnect: "Disconnect my Strava account"

    ---

    Installation Options

    Option A: Just Use It (Recommended)

    No installation needed! The npx command in the Quick Start automatically downloads and runs the latest version.

    Option B: Install Globally

    If you prefer to install it once:

    bash
    npm install -g @r-huijts/strava-mcp-server

    Then update your Claude config to use:

    json
    {
      "mcpServers": {
        "strava": {
          "command": "strava-mcp-server"
        }
      }
    }

    Note: Even though the package name is @r-huijts/strava-mcp-server, the executable name remains strava-mcp-server for backward compatibility.

    Option C: Build from Source

    For developers who want to modify the code:

    bash
    git clone https://github.com/r-huijts/strava-mcp.git
       cd strava-mcp
       npm install
       npm run build

    Then point Claude to your local build:

    json
    {
      "mcpServers": {
        "strava": {
          "command": "node",
          "args": ["/path/to/strava-mcp/dist/server.js"]
        }
      }
    }

    ---

    Example Conversations

    Morning Check-in

    You: What did I do for exercise this week?

    Claude: Looking at your Strava activities this week, you completed:

    - Monday: 5.2km run (28:15)

    - Wednesday: 45km bike ride (1:32:00)

    - Saturday: 10km run (52:30)

    Total: 60.2km across 3 activities. Nice consistency!

    Workout Analysis

    You: Analyze my last cycling workout in detail

    Claude: Here's a breakdown of your ride "Evening Loop" from yesterday:

    Overview

    - Distance: 42.3 km

    - Time: 1:28:45

    - Avg Speed: 28.6 km/h

    Power Analysis

    - Average Power: 185W

    - Normalized Power: 198W

    - Max Power: 520W

    Heart Rate

    - Average: 142 bpm

    - Max: 175 bpm

    - Time in Zone 4+: 23 minutes

    Your power-to-heart-rate ratio suggests good aerobic efficiency...

    Finding New Routes

    You: Find me some challenging cycling climbs near Boulder, Colorado

    Claude: Here are popular climbing segments near Boulder:

    1. Flagstaff Road - 5.2km, 6.8% avg grade

    2. Sunshine Canyon - 3.8km, 7.2% avg grade

    3. Left Hand Canyon - 8.1km, 4.5% avg grade

    Want me to star any of these so you can find them easily later?

    ---

    Available Tools

    Account & Profile

    What you can askWhat it does
    "Connect my Strava account"Links your Strava to Claude
    "Check my Strava connection"Shows connection status
    "Get my Strava profile"Shows your profile info
    "What shoes do I have?"Lists your shoes and usage distance
    "What are my training zones?"Shows HR and power zones

    Activities

    What you can askWhat it does
    "Show my recent activities"Lists your latest workouts
    "Get all my runs from January"Fetches activities with filters
    "Analyze activity 12345"Detailed info about one activity
    "Show the laps from my last run"Lap-by-lap breakdown
    "Get heart rate data from my ride"Time-series workout data (optimized compact format)
    "Show photos from my hike"Activity photos

    Stats & Progress

    What you can askWhat it does
    "What are my running stats?"YTD and all-time totals
    "How far have I cycled this year?"Activity totals by type
    "What's my longest ride?"Personal records

    Segments

    What you can askWhat it does
    "Show my starred segments"Your favorite segments
    "Find segments near [location]"Discover popular segments
    "Get details on segment 12345"Segment info and leaderboard
    "Star this segment"Save to favorites
    "Show my efforts on [segment]"Your attempts on a segment

    Routes

    What you can askWhat it does
    "List my saved routes"Your created routes
    "Get details for my [route name]"Route info
    "Export [route] as GPX"Download for GPS devices
    "Export [route] as TCX"Download for GPS devices

    Clubs

    What you can askWhat it does
    "What clubs am I in?"Lists your Strava clubs

    ---

    Troubleshooting

    "Connect my Strava account" doesn't open a browser

    • Make sure Claude Desktop is running the MCP server (check for errors in Claude)
    • Try restarting Claude Desktop
    • Check that port 8111 isn't blocked by a firewall

    "Authentication failed" or "Invalid token"

    • Your token may have expired - say "Connect my Strava account" to reconnect
    • Make sure your Strava API application is still active at strava.com/settings/api

    "Missing credentials" error

    • You need to complete the OAuth flow - say "Connect my Strava account"
    • If you're using environment variables, make sure all 4 are set (see Developer section)

    Claude doesn't see the Strava tools

    • Make sure your claude_desktop_config.json is valid JSON (no trailing commas!)
    • Restart Claude Desktop after making config changes
    • Check Claude's developer console for error messages

    JSONRPC.ProtocolTransportError after package name change

    If you're getting a JSONRPC error after updating to @r-huijts/strava-mcp-server:

    1. Clear npx cache: Run rm -rf ~/.npm/_npx in terminal

    2. Verify config uses @r-huijts/strava-mcp-server (not the old strava-mcp-server)

    3. Restart Claude Desktop completely (quit and reopen)

    4. Test manually: Run npx -y @r-huijts/strava-mcp-server - you should see "Starting Strava MCP Server v1.2.1..."

    ---

    For Developers

    Click to expand technical details

    Environment Variables

    Instead of using the browser-based auth, you can set environment variables:

    VariableDescription
    STRAVA_CLIENT_IDYour Strava Application Client ID
    STRAVA_CLIENT_SECRETYour Strava Application Client Secret
    STRAVA_ACCESS_TOKENOAuth access token
    STRAVA_REFRESH_TOKENOAuth refresh token
    ROUTE_EXPORT_PATHDirectory for GPX/TCX exports

    Token Refresh

    The server automatically refreshes expired tokens. New tokens are saved to both process.env and ~/.config/strava-mcp/config.json.

    Config Priority

    1. Environment variables (highest)

    2. ~/.config/strava-mcp/config.json

    3. Local .env file

    Building & Testing

    bash
    npm install
    npm run build
    npm test

    Activity Streams Optimization

    The get-activity-streams tool uses a compact format by default, reducing payload size by ~70-80% while preserving all data:

    • Compact format (default): Raw arrays with metadata, ~70-80% smaller, ideal for LLM processing
    • Verbose format: Human-readable objects with formatted values (backward compatible)
    • Smart chunking: Large activities automatically split into ~50KB chunks
    • Optional downsampling: Can reduce very large datasets while preserving key features

    The compact format includes comprehensive metadata (units, descriptions, statistics) so LLMs can understand the raw numeric data.

    API Reference

    The server implements the Model Context Protocol (MCP) and exposes 25 tools for Strava API v3. See the source code in src/tools/ for implementation details.

    Contributing

    Contributions welcome! Please submit a Pull Request.

    ---

    License

    MIT License - see LICENSE file for details.

    ---

    Questions? Open an issue on GitHub.

    Similar MCP

    Based on tags & features

    • PL

      Pluggedin Mcp Proxy

      TypeScript·
      97
    • BA

      Bazi Mcp

      TypeScript·
      184
    • BI

      Bilibili Mcp Js

      TypeScript·
      121
    • BR

      Browser Control Mcp

      TypeScript·
      183

    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

    • PL

      Pluggedin Mcp Proxy

      TypeScript·
      97
    • BA

      Bazi Mcp

      TypeScript·
      184
    • BI

      Bilibili Mcp Js

      TypeScript·
      121
    • BR

      Browser Control Mcp

      TypeScript·
      183

    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