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 |
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
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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