io.github.r-huijts/strava-mcp

MCP server for accessing Strava API

β˜… 294MITdevtools

Install

Config snippet generator goes here (5 client tabs)

README

# 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](https://mseep.net/pr/r-huijts-strava-mcp-badge.png)](https://mseep.ai/app/r-huijts-strava-mcp)

<a href="https://glama.ai/mcp/servers/@r-huijts/strava-mcp">
  <img width="380" height="200" src="https://glama.ai/mcp/servers/@r-huijts/strava-mcp/badge" alt="Strava Server MCP server" />
</a>

---

## 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:

```
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](https://www.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**: Wha