# Strava (verified)

Fitness tracking for athletes. Access activities, routes, segments, and clubs. Get workout stats, heart rate zones, and GPS data. Create and update activities, explore segments, and export routes as …

## Quick Start

```bash
# Connect this server (installs CLI if needed)
npx -y @smithery/cli@latest mcp add strava

# Browse available tools
npx -y @smithery/cli@latest tool list strava

# Get full schema for a tool
npx -y @smithery/cli@latest tool get strava athletes.stats.list

# Call a tool
npx -y @smithery/cli@latest tool call strava athletes.stats.list '{}'
```

## Direct MCP Connection

Endpoint: `https://strava.run.tools`

## Tools (34)

- `athletes.stats.list` — Returns the activity stats of an athlete. Only includes data from activities set to Everyone visibilty.
- `athlete.list` — Returns the currently authenticated athlete. Tokens with profile:read_all scope will receive a detailed athlete represe…
- `athlete.update` — Update the currently authenticated athlete. Requires profile:write scope.
- `athlete.zones.list` — Returns the the authenticated athlete's heart rate and power zones. Requires profile:read_all.
- `segments.get` — Returns the specified segment. read_all scope required in order to retrieve athlete-specific segment information, or to…
- `segments.starred.list` — List of the authenticated athlete's starred segments. Private segments are filtered out unless requested by a token wit…
- `segments.starred.update` — Stars/Unstars the given segment for the authenticated athlete. Requires profile:write scope.
- `segment_efforts.list` — Returns a set of the authenticated athlete's segment efforts for a given segment.  Requires subscription.
- `segments.explore.list` — Returns the top 10 segments matching a specified query.
- `segment_efforts.get` — Returns a segment effort from an activity that is owned by the authenticated athlete. Requires subscription.
- `activities.create` — Creates a manual activity for an athlete, requires activity:write scope.
- `activities.get` — Returns the given activity that is owned by the authenticated athlete. Requires activity:read for Everyone and Follower…
- `activities.update` — Updates the given activity that is owned by the authenticated athlete. Requires activity:write. Also requires activity:…
- `athlete.activities.list` — Returns the activities of an athlete for a specific identifier. Requires activity:read. Only Me activities will be filt…
- `activities.laps.list` — Returns the laps of an activity identified by an identifier. Requires activity:read for Everyone and Followers activiti…
- `activities.zones.list` — Summit Feature. Returns the zones of a given activity. Requires activity:read for Everyone and Followers activities. Re…
- `activities.comments.list` — Returns the comments on the given activity. Requires activity:read for Everyone and Followers activities. Requires acti…
- `activities.kudos.list` — Returns the athletes who kudoed an activity identified by an identifier. Requires activity:read for Everyone and Follow…
- `clubs.get` — Returns a given a club using its identifier.
- `clubs.members.list` — Returns a list of the athletes who are members of a given club.
- `clubs.admins.list` — Returns a list of the administrators of a given club.
- `clubs.activities.list` — Retrieve recent activities from members of a specific club. The authenticated athlete must belong to the requested club…
- `athlete.clubs.list` — Returns a list of the clubs whose membership includes the authenticated athlete.
- `gear.get` — Returns an equipment using its identifier.
- `routes.get` — Returns a route using its identifier. Requires read_all scope for private routes.
- `athletes.routes.list` — Returns a list of the routes created by the authenticated athlete. Private routes are filtered out unless requested by …
- `routes.export_gpx.get` — Returns a GPX file of the route. Requires read_all scope for private routes.
- `routes.export_tcx.get` — Returns a TCX file of the route. Requires read_all scope for private routes.
- `uploads.create` — Uploads a new data file to create an activity from. Requires activity:write scope.
- `uploads.get` — Returns an upload for a given identifier. Requires activity:write scope.
- `activities.streams.list` — Returns the given activity's streams. Requires activity:read scope. Requires activity:read_all scope for Only Me activi…
- `segment_efforts.streams.list` — Returns a set of streams for a segment effort completed by the authenticated athlete. Requires read_all scope.
- `segments.streams.list` — Returns the given segment's streams. Requires read_all scope for private segments.
- `routes.streams.list` — Returns the given route's streams. Requires read_all scope for private routes.

```bash
# Get full input/output schema for a tool
npx -y @smithery/cli@latest tool get strava <tool-name>
```
