ClaudeCodeMod

All shelves / MCP servers

Strava Mcp

r-huijts/strava-mcp · 436 stars · TypeScript · MIT

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

Install

In your shell
claude mcp add --transport stdio strava -- npx @r-huijts/strava-mcp-server

These repos do not share one command. When an entry shows a command, it was copied as published. Check the repo's README before you run it.

Open the repo

Files

README.md

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

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:

{
  "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:

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

You can confirm successful instalation as follows:

% 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
  1. 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:

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

Then update your Claude config to use:

{
  "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:

   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:

{
  "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

Activities

Stats & Progress

Segments

Routes

Clubs

Workouts

Server

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"

Facts

Kind
MCP server
Repo
r-huijts/strava-mcp
Group
Uncategorized
Stars
436
License
MIT
Language
TypeScript
Last push
2026-06-13
Forks
92

More on this shelf

  1. 1Everythingmodelcontextprotocol/serversThis MCP server attempts to exercise all the features of the MCP protocol. It is not intended to be a useful server, but rather a test server for builders of MCP clients. It implements prompts, tools, resources, sampling, and more to showcase MCP capabilities.85.8k
  2. 2Fetchmodelcontextprotocol/serversA Model Context Protocol server that provides web content fetching capabilities. This server enables LLMs to retrieve and process content from web pages, converting HTML to markdown for easier consumption.85.8k
  3. 3Gitmodelcontextprotocol/serversA Model Context Protocol server for Git repository interaction and automation. This server provides tools to read, search, and manipulate Git repositories via Large Language Models.85.8k
  4. 4Memorymodelcontextprotocol/serversA basic implementation of persistent memory using a local knowledge graph. This lets Claude remember information about the user across chats.85.8k
  5. 5Sequential Thinkingmodelcontextprotocol/serversAn MCP server implementation that provides a tool for dynamic and reflective problem-solving through a structured thinking process.85.8k
  6. 6Timemodelcontextprotocol/serversA Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.85.8k