check-strava-connection
Check if Strava is connected and show the current connection status. Use this when the user asks about their connection status.
Pull your own Strava history — activities, segment efforts, heart-rate and power streams — into a chat client, and drop routes onto disk as GPX or TCX.
LABSCO SUMMARY
The whole surface is scoped to the authenticated athlete, so this reads your own history rather than researching anyone else's. Authentication is handled in-band — connect-strava opens a browser, disconnect-strava removes the stored credentials — so there is no key to place in a config file before the first call. Route export is the one operation that writes to your machine, and it targets a directory that has to be configured beforehand.
A Strava client scoped to the authenticated athlete: activities and their raw streams, segments and efforts, routes, and the account connection itself.
A Strava account you authorise in a browser — connect-strava opens the window and stores the credentials, check-strava-connection reports the state. Route exports need a local directory configured in advance.
One command plus credentials — npm install -g @r-huijts/strava-mcp-server, then supply credentials
USE CASES
Get the athlete id from the profile, pull the recent, year-to-date and all-time totals, then fetch the underlying activities filtered to the date range and sport you care about.
Activity details give the summary; the streams give heart rate, power, speed and GPS as time series at the density you choose, and the laps give the split-by-split view. Zones turn raw heart rate into something interpretable.
List your efforts on a segment across a date window and compare them against the segment's own details, then open a single effort when one of them stands out.
Search for popular segments inside a bounding box, narrowed by activity type and climb category, then star the ones worth keeping so they are in your own list next time.
List the routes you have built, open the one you want, and export it into the configured local directory in whichever format your device reads.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
check-strava-connectionCheck if Strava is connected and show the current connection status. Use this when the user asks about their connection status.
connect-stravaConnect your Strava account to enable activity tracking. This will open a browser window for secure authentication. Use this when the user asks to connect, link, or authenticate their Strava account.
disconnect-stravaDisconnect your Strava account and remove stored credentials. Use this when the user wants to logout, disconnect, or remove their Strava connection.
explore-segmentsSearches for popular segments within a given geographical area.
export-route-gpxExports a specific Strava route in GPX format and saves it to a pre-configured local directory.
export-route-tcxExports a specific Strava route in TCX format and saves it to a pre-configured local directory.
get-activity-detailsFetches detailed information about a specific activity using its ID.
get-activity-lapsRetrieves detailed lap data for a specific Strava activity.
Use Cases:
Parameters:
Output Format: Returns both a human-readable summary and complete JSON data for each lap, including:
Notes:
get-activity-photosRetrieves photos associated with a specific Strava activity.
Use Cases:
Parameters:
Output Format: Returns both a human-readable summary and complete JSON data for each photo, including:
Notes:
get-activity-streamsRetrieves detailed time-series data streams from a Strava activity. Perfect for analyzing workout metrics, visualizing routes, or performing detailed activity analysis.
Key Features:
Format Options:
Common Use Cases:
Output Format:
Notes:
get-all-activitiesFetches complete activity history with optional filtering by date range and activity type. Supports pagination to retrieve all activities.
get-athlete-profileFetches the profile information for the authenticated athlete, including their unique numeric ID needed for other tools like get-athlete-stats.
get-athlete-statsFetches the activity statistics (recent, YTD, all-time) for a specific athlete using their ID. Requires the athleteId obtained from the get-athlete-profile tool.
get-athlete-zonesRetrieves the authenticated athlete's configured heart rate and power zones.
Output includes both a formatted summary and the raw JSON data.
get-recent-activitiesFetches the most recent activities for the authenticated athlete.
get-routeFetches detailed information about a specific route using its ID.
get-segmentFetches detailed information about a specific segment using its ID.
get-segment-effortFetches detailed information about a specific segment effort using its ID.
get-server-versionReturns the Strava MCP server version and related metadata.
list-athlete-clubsLists the clubs the authenticated athlete is a member of.
list-athlete-routesLists the routes created by the authenticated athlete, with pagination.
list-segment-effortsLists the authenticated athlete's efforts on a specific segment, optionally filtering by date.
list-starred-segmentsLists the segments starred by the authenticated athlete.
star-segmentStars or unstars a specific segment for the authenticated athlete.
BEFORE YOU INSTALL
24 tools when we connected. The project describes 25 tools, including listing your shoes and turning a workout into a Zwift file, so those two may be missing. star-segment is the only tool that changes anything on Strava.
npx on PATH
Both documented clients run the server on your machine.
CONTEXT COST
Rated by the size of the 24 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
npm install -g @r-huijts/strava-mcp-server{
"mcpServers": {
"strava": {
"command": "npx",
"args": [
"-y",
"@r-huijts/strava-mcp-server"
]
}
}
}claude mcp add --transport stdio strava -- npx @r-huijts/strava-mcp-server