Labsco
MCP SERVER

strava mcp

by MariyaFilippova

Analyse your Strava training — activities, streams, laps, best efforts, month over month — and get a route to run next.

Health, Fitness & Wearables
Summary
Training data deep enough to answer why, not only how far.

Most Strava integrations stop at the activity summary. The stream, lap and best-effort tools go underneath it — heart rate against altitude across a run, the split where the pace fell apart, whether that 5k actually was a PR — which is what makes the analysis conversation worth having. The route tools point the other way and produce something to do next, as a Google Maps link rather than a file to import.

What it is

A Java server for Strava. It reads activities and the data streams underneath them, summarises training by week, by month or year over year, and generates round-trip routes as Google Maps links.

What you get
  • Your most recent activity, any activity by its ID, the last 10, or a paginated search across a date range
  • The full data streams for an activity — heart rate, pace, altitude, cadence, power, GPS
  • Lap splits with distance, time, speed, elevation and heart rate for each lap
  • Personal best efforts on a run — 400m, 1k, 1 mile, 5k, 10k — with pace and PR ranking
  • All-time statistics across rides, runs and swims, plus summaries of the last 7 days, the last 30, or a named month and year
  • Two months compared directly, such as January 2025 against January 2026
  • Activities filtered by sport type
  • A round-trip route of the distance you ask for, handed back as a Google Maps link with no maps API key needed
  • Popular Strava segments near a place, assembled into a Google Maps loop through them
  • A logout that clears the stored tokens when you need to switch accounts
Requirements

A Strava API application: CLIENT_ID and CLIENT_SECRET from strava.com/settings/api, written into src/main/resources/.env. Build with ./gradlew shadowJar and point your client at the resulting jar through java -jar. On first use it opens a browser for Strava authorisation; the tokens land in ~/.strava-mcp-token.json and refresh themselves when they expire.