mcpField
S
Strava Mcp

Strava Mcp

Local
github.com/bronteeeHealth0Updated 41w ago

About Strava Mcp

Strava Mcp connects Strava accounts to MCP clients for people who want to query activity data through clients such as Claude. It covers activities, stats, routes, clubs, and social data, with OAuth authentication.

Key features

  1. 01OAuth authentication with automatic token refresh
  2. 02Query activities and training statistics
  3. 03View athlete profiles
  4. 04Explore segments and retrieve routes
  5. 05Browse clubs and social activity

Use cases

  1. 01Summarize recent runs or rides
  2. 02Review yearly training statistics
  3. 03Find running segments nearby
  4. 04Check activity kudos, comments, or personal KOMs

MCP support

It connects to Strava as an MCP server and provides tools for querying and updating account data in Claude Desktop or other compatible clients.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"strava-mcp-bronteee": {
"command": "uvx",
"args": [
"git+https://github.com/bronteee/strava-mcp.git"
],
"env": {
"STRAVA_CLIENT_ID": "<STRAVA_CLIENT_ID>",
"STRAVA_CLIENT_SECRET": "<STRAVA_CLIENT_SECRET>"
}
}
}
}
Run commanduvx 'git+https://github.com/bronteee/strava-mcp.git'
Environment variables to set
STRAVA_CLIENT_ID
STRAVA_CLIENT_SECRETSecret

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
pypigit+https://github.com/bronteee/strava-mcp.git

Tools

8

Saved tool list · updated 2w ago

This tool takes no parameters.

Details

From the project README

Strava MCP Server

An MCP (Model Context Protocol) server that connects Claude to your Strava data. Query your activities, stats, and athlete profile directly from Claude Desktop or any MCP-compatible client.

Features

  • OAuth Authentication: Secure authentication with automatic token refresh
  • Activity Data: Get recent activities, detailed activity info, stats, and update notes
  • Athlete Profile: Access your Strava profile and statistics
  • Segments & Routes: Explore running segments by location, view route details
  • Clubs & Community: Browse your clubs, members, and club activities
  • Social: View kudos, comments, KOMs, and starred segments

Installation

Prerequisites
  1. Python 3.10+ installed
  2. Strava API Application: Create one at https://www.strava.com/settings/api
    • Set the "Authorization Callback Domain" to 127.0.0.1
Install from GitHub
pip install git+https://github.com/bronteee/strava-mcp.git

Or with uv:

uv pip install git+https://github.com/bronteee/strava-mcp.git
Configure Claude Desktop

Add to your Claude Desktop configuration file:

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

{
  "mcpServers": {
    "strava": {
      "command": "strava-mcp",
      "env": {
        "STRAVA_CLIENT_ID": "your_client_id",
        "STRAVA_CLIENT_SECRET": "your_client_secret"
      }
    }
  }
}

If installed with uv, use:

{
  "mcpServers": {
    "strava": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/bronteee/strava-mcp.git", "strava-mcp"],
      "env": {
        "STRAVA_CLIENT_ID": "your_client_id",
        "STRAVA_CLIENT_SECRET": "your_client_secret"
      }
    }
  }
}

Usage

Authentication
  1. Ask Claude: "Connect to my Strava account"
  2. Claude will provide an authorization URL
  3. Open the URL in your browser and authorize the app
  4. You're connected for the current session

Note: Tokens are stored in memory only. You'll need to re-authenticate each time Claude Desktop restarts.

Available Tools
Authentication
ToolDescription
get_auth_statusCheck if you're authenticated
get_auth_urlGet the Strava authorization URL
authenticateExchange auth code for tokens (usually automatic)
logoutRemove stored tokens
Activities & Athletes
ToolDescription
get_activitiesGet recent activities with optional date filters
get_activity_detailsGet detailed info for a specific activity
update_activity_notesUpdate the notes/description of an activity
get_athleteGet your athlete profile
get_athlete_statsGet your running/cycling/swimming stats
Segments & Routes
ToolDescription
geocode_locationConvert location name to coordinates for segment search
explore_running_segmentsFind running segments in an area
get_segmentGet detailed segment info with polyline
get_my_routesList your created routes
get_routeGet detailed route info with embedded segments
Clubs & Community
ToolDescription
get_my_clubsList clubs you're a member of
get_clubGet detailed club info
get_club_membersList members of a club
get_club_activitiesGet recent activities from club members
Social & Engagement
ToolDescription
get_activity_kudosSee who gave kudos to an activity
get_activity_commentsGet comments on an activity
get_my_komsGet your KOMs (King/Queen of the Mountain)
get_starred_segmentsGet your starred segments
Example Prompts
  • "Show me my last 5 Strava activities"
  • "What were my running stats this year?"
  • "Get details for my most recent ride"
  • "Update the notes on my last activity to say 'Great morning run!'"
  • "How many miles did I run last month?"
  • "Find running segments near Central Park"
  • "What clubs am I in?"
  • "Show me who gave kudos on my last run"
  • "What are my KOMs?"

Development

Setup
git clone https://github.com/bronteee/strava-mcp.git
cd strava-mcp
uv sync --dev
Run Tests
uv run pytest
Type Check
uv run ty check src
Run the Server Manually
# Set environment variables
export STRAVA_CLIENT_ID=your_client_id
export STRAVA_CLIENT_SECRET=your_client_secret

# Run the server
strava-mcp

Security

  • Tokens are stored in memory only and cleared when the server stops
  • Client credentials are passed via environment variables, never stored in files
  • OAuth flow uses localhost callback - no external servers involved

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.