Labsco
MCP SERVER

Strava MCP Server

by ctvidic

Your Strava history in the conversation — activities, splits, heart rate, segment efforts, kudos and year-to-date totals, read through your own OAuth refresh token.

Health, Fitness & Wearables
Summary
Read-only access to your own training log.

Everything here is a read: it answers questions about what you already did rather than posting or editing anything on Strava. Setup is the honest cost — there is no published binary, and the refresh token has to be obtained by hand before the first query works.

What it is

An MCP server over the Strava API, run from a clone on your machine with your own Strava application credentials. It reads your training data so a model can compare weeks, summarize a race or pull the map for a ride without you exporting anything.

What you get
  • Activity detail: distance, duration and pace, splits and lap information, heart rate, power and cadence, plus the weather during the effort
  • Route maps and elevation profiles for an activity
  • Athlete statistics — year-to-date and all-time totals, personal records, training load and fitness trends, equipment usage
  • Social data: kudos and comments, club activities and leaderboards, friends' activities and challenges
  • Segment efforts, achievements and rankings
  • An optional HTTP mode on port 8000 with `/activities/recent`, `/activities/{id}`, `/activities/{id}/map` and `/athlete/stats`
Requirements

A Strava account and your own API application, created at https://www.strava.com/settings/api. You need three values — `STRAVA_CLIENT_ID`, `STRAVA_CLIENT_SECRET` and `STRAVA_REFRESH_TOKEN` — and the refresh token comes from walking the OAuth flow yourself, which is the step that takes the time. Python 3.12+; clone the repository, install from `requirements.txt`, and point the client at `python src/strava_server.py` with the three values in the env block. MIT.

Setup effort

Build from source — clone the repository and build it, then point your client at the binary