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."
[](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