mcp-strava
v1.0.24
Published
MCP server for Strava API integration
Maintainers
Readme
Strava MCP Server
Minimalist Strava integration for Claude.
7 focused tools. One-time auth. Zero bloat.
What You Can Ask Claude
- "How was my training this week vs last?"
- "What's my average heart rate on tempo runs?"
- "Break down yesterday's workout by zones"
Tools
| Tool | What it does |
| ---------------------------- | --------------------------------------------------- |
| get_athlete_profile | Your profile info |
| get_athlete_stats | Totals: recent, YTD, all-time |
| get_athlete_zones | HR and power zone configuration |
| list_activities | Browse with date filtering |
| get_activity_detail | Full workout breakdown with laps and segments |
| get_activity_zones | Zone distribution with time and percentage per zone |
| get_segment_effort_streams | Segment analysis with historical comparison |
Quick Start with npx
1. Create Strava App → strava.com/settings/api → get Client ID + Secret
2. Authorize (one-time) → STRAVA_CLIENT_ID=xxx STRAVA_CLIENT_SECRET=xxx \
STRAVA_REDIRECT_URI=http://localhost:3000/auth/callback \
npx mcp-strava-auth
3. Configure Claude → Add to claude_desktop_config.json (see below)
4. Restart Claude → Done! Ask Claude about your workouts1. Create Strava API Application
Visit https://www.strava.com/settings/api and create an application to get your Client ID and Secret.
2. Authorize with Strava (one-time setup)
Run the auth server with your Strava credentials:
STRAVA_CLIENT_ID=your_client_id STRAVA_CLIENT_SECRET=your_client_secret STRAVA_REDIRECT_URI=http://localhost:3000/auth/callback npx mcp-strava-authThen:
- Visit
http://localhost:3000/auth/stravain your browser - Authorize on Strava's page
- You'll see "Authorization Successful!" when complete
- The server shuts down automatically
Tokens and credentials are stored securely in ~/.strava-mcp/tokens.json.
3. Configure Claude Desktop
Add to your Claude Desktop config (claude_desktop_config.json):
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
open ~/Library/Application\ Support/Claude/Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"strava": {
"command": "npx",
"args": ["-y", "mcp-strava"]
}
}
}4. Restart Claude Desktop
Restart Claude Desktop to load the MCP server.
Manual Setup (Alternative)
If you prefer to clone and build locally:
1. Create Strava API Application
Visit https://www.strava.com/settings/api and create an application to get your Client ID and Secret.
2. Build the Project
git clone https://github.com/adrienlupo/mcp-strava.git
cd mcp-strava
npm install
npm run build3. Authorize with Strava
Run the authorization server with your Strava credentials:
STRAVA_CLIENT_ID=your_client_id STRAVA_CLIENT_SECRET=your_client_secret STRAVA_REDIRECT_URI=http://localhost:3000/auth/callback npm run authThen:
- Visit
http://localhost:3000/auth/stravain your browser - Authorize on Strava's page
- You'll see "Authorization Successful!" when complete
- The server shuts down automatically
4. Configure Claude Desktop
Add to your Claude Desktop config (claude_desktop_config.json):
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
open ~/Library/Application\ Support/Claude/Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"strava": {
"command": "node",
"args": ["/absolute/path/to/mcp-strava/dist/index.js"]
}
}
}5. Restart Claude Desktop
Restart Claude Desktop to load the MCP server.
Development
npm install
npm run build
npm startLicense
MIT
