Strava MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| STRAVA_CLIENT_ID | Yes | Your Strava Application Client ID (required) | |
| ROUTE_EXPORT_PATH | No | Absolute path for saving exported route files (optional) | |
| STRAVA_ACCESS_TOKEN | Yes | Your Strava API access token (generated during setup) | |
| STRAVA_CLIENT_SECRET | Yes | Your Strava Application Client Secret (required) | |
| STRAVA_REFRESH_TOKEN | Yes | Your Strava API refresh token (generated during setup) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get-athlete-profileA | Fetches the profile information for the authenticated athlete, including their unique numeric ID needed for other tools like get-athlete-stats. |
| get-athlete-statsA | Fetches 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-activity-detailsC | Fetches detailed information about a specific activity using its ID. |
| get-recent-activitiesA | Fetches the most recent activities for the authenticated athlete. |
| list-athlete-clubsA | Lists the clubs the authenticated athlete is a member of. |
| list-starred-segmentsA | Lists the segments starred by the authenticated athlete. |
| get-segmentC | Fetches detailed information about a specific segment using its ID. |
| explore-segmentsC | Searches for popular segments within a given geographical area. |
| star-segmentA | Stars or unstars a specific segment for the authenticated athlete. |
| get-segment-effortC | Fetches detailed information about a specific segment effort using its ID. |
| list-segment-effortsA | Lists the authenticated athlete's efforts on a specific segment, optionally filtering by date. |
| list-athlete-routesA | Lists the routes created by the authenticated athlete, with pagination. |
| get-routeA | Fetches detailed information about a specific route using its ID. |
| export-route-gpxA | Exports a specific Strava route in GPX format and saves it to a pre-configured local directory. |
| export-route-tcxA | Exports a specific Strava route in TCX format and saves it to a pre-configured local directory. |
| get-activity-streamsA | Retrieves 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-activity-lapsA | Retrieves 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-athlete-zonesA | Retrieves the authenticated athlete's configured heart rate and power zones. Output includes both a formatted summary and the raw JSON data. |
| get-all-activitiesA | Fetches complete activity history with optional filtering by date range and activity type. Supports pagination to retrieve all activities. |
| get-activity-photosA | Retrieves 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-server-versionA | Returns the Strava MCP server version and related metadata. |
| connect-stravaA | Connect 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-stravaA | Disconnect your Strava account and remove stored credentials. Use this when the user wants to logout, disconnect, or remove their Strava connection. |
| check-strava-connectionA | Check if Strava is connected and show the current connection status. Use this when the user asks about their connection status. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 24 tools
Most tools have distinct purposes targeting specific Strava resources like activities, segments, routes, or athlete data, with clear boundaries. However, some overlap exists between get-all-activities and get-recent-activities, which could cause confusion about which to use for general activity retrieval, though descriptions help differentiate them by scope.
Tool names follow a consistent verb-noun pattern with hyphens (e.g., get-activity-details, list-athlete-clubs), making them predictable and readable. Minor deviations include check-strava-connection and export-route-gpx, which slightly break the pattern but maintain overall coherence.
With 24 tools, the count is borderline high for a Strava integration, potentially overwhelming for agents. While it covers many aspects of the Strava API, some tools like get-server-version or check-strava-connection might be considered non-essential, contributing to a slightly bloated set.
The tool set provides comprehensive coverage of the Strava domain, including athlete management, activities, segments, routes, and data export. It supports full CRUD-like operations (e.g., connect/disconnect, star/unstar, get/list) and handles key workflows like activity analysis and segment tracking without obvious gaps.