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 | |
| STRAVA_ACCESS_TOKEN | Yes | OAuth access token | |
| STRAVA_CLIENT_SECRET | Yes | Your Strava Application Client Secret | |
| STRAVA_REFRESH_TOKEN | Yes | OAuth refresh token |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
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 | Returns recent, year-to-date, and all-time activity totals (distance, elevation, time) for rides, runs, and swims for a given athlete. |
| get-activity-detailsB | Returns detailed metrics for an activity — distance, time, elevation, pace, heart rate, cadence, power, and effort scores. |
| 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-segmentA | Returns detailed information about a segment — location, distance, grade, elevation, and effort/athlete counts. |
| explore-segmentsA | Returns popular segments within a bounding box (south_west_lat,south_west_lng,north_east_lat,north_east_lng), optionally filtered by activity type (running/riding) and climb category. |
| star-segmentA | Stars or unstars a specific segment for the authenticated athlete. |
| get-segment-effortA | Returns timing, power, and heart rate data for a specific segment effort. |
| list-segment-effortsA | Returns the authenticated athlete's efforts on a segment, including time, distance, and PR/KOM rank, with optional date range filtering. |
| 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. |
| find-nearby-routesA | Returns the athlete's saved routes that start within a given distance of a location. Use when the user asks for routes near a place, nearby routes, or routes in a specific area. Provide latitude and longitude of the target location and a max distance in km. |
| 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 | Returns time-series data streams (heart rate, power, GPS, pace, elevation) for an activity at configurable resolution, with pagination and intelligent downsampling for large datasets. |
| get-activity-lapsA | Returns per-lap metrics (time, distance, speed, heart rate, cadence, power) for a specific activity. |
| 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-athlete-shoesA | Fetches the authenticated athlete's shoes from Strava, including usage distance and primary flag. |
| get-all-activitiesA | Fetches activity history with optional filtering by date range and activity type. Set summaryMode=true to get aggregated statistics (totals, averages, bests, monthly/weekly breakdowns) instead of a list. |
| 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. |
| get-segment-leaderboardA | Retrieves the leaderboard for a specific Strava segment. Shows top performances with times, power, and heart rate data. Supports filtering by gender, age group, weight class, club, date range, and followed athletes. Use this to:
|
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/samitugal/strava-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server