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.
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.
- 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`
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.
Build from source — clone the repository and build it, then point your client at the binary
