Strava MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| STRAVA_CLIENT_ID | Yes | Your Strava API client ID | |
| STRAVA_CLIENT_SECRET | Yes | Your Strava API client secret | |
| STRAVA_REFRESH_TOKEN | Yes | Your Strava API refresh token obtained via OAuth |
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create_activityA | Create a manual activity on Strava. Requires activity:write scope. Args: name: The name of the activity. sport_type: Sport type, e.g. Run, Ride, Swim, Hike, Walk, MountainBikeRide, GravelRide, TrailRun, Yoga, WeightTraining, Workout, etc. start_date_local: Start time in ISO 8601 format (e.g. 2025-03-07T08:00:00). elapsed_time: Total elapsed time in seconds. description: Optional description. distance: Distance in meters. Optional for non-GPS activities. trainer: Set True if this is a trainer/indoor activity. commute: Set True if this is a commute. |
| get_activityA | Get full details for a specific activity including splits, segment efforts, laps, gear, description, and map data. Args: activity_id: The numeric Strava activity ID. include_all_efforts: If True, include all segment efforts (not just notable ones). |
| get_activity_commentsA | Get comments on a specific activity. Args: activity_id: The Strava activity ID. page_size: Number of comments per page (default 30). |
| get_activity_kudoersC | Get the list of athletes who gave kudos on an activity. Args: activity_id: The Strava activity ID. page: Page number (default 1). per_page: Items per page (default 30). |
| get_activity_lapsA | Get lap-by-lap breakdown for a specific activity. Useful for interval workouts and structured training sessions. Args: activity_id: The numeric Strava activity ID. |
| get_recent_activitiesA | Get the most recent activities from your Strava account. Args: count: Number of activities to return (1-200, default 10). |
| get_activities_by_dateA | Get activities within a specific date range. Args: after: Start date in YYYY-MM-DD format (inclusive). before: End date in YYYY-MM-DD format (inclusive). count: Max activities to return (1-200, default 50). |
| get_activity_zonesA | Get heart rate and power zones for a specific activity. Shows time spent in each zone. Requires Strava Summit. Args: activity_id: The Strava activity ID. |
| update_activityA | Update an existing activity. Requires activity:write scope. Only provide the fields you want to change. Args: activity_id: The Strava activity ID to update. name: New name for the activity. sport_type: New sport type (e.g. Run, Ride, Swim). description: New description. trainer: Set True/False for trainer flag. commute: Set True/False for commute flag. gear_id: ID of gear to associate (e.g. "b12345"). Use "none" to remove. |
| get_athlete_profileA | Get the authenticated athlete's full Strava profile. Returns name, bio, location, weight, FTP, bikes, shoes, premium status, and measurement preferences. |
| get_athlete_zonesA | Get the authenticated athlete's heart rate and power zones. Returns zone boundaries and distribution data. Requires profile:read_all scope. |
| get_athlete_statsA | Get all-time and recent statistics for the authenticated athlete. Includes totals for running, cycling, and swimming broken down by recent (last 4 weeks), year-to-date, and all-time. |
| update_athlete_weightC | Update the authenticated athlete's weight. Args: weight_kg: Athlete's weight in kilograms. |
| get_my_clubsA | List all clubs the authenticated athlete is a member of. Args: page: Page number (default 1). per_page: Items per page (default 30). |
| get_clubC | Get detailed information about a specific club. Args: club_id: The Strava club ID. |
| get_club_membersB | List members of a specific club. Args: club_id: The Strava club ID. page: Page number (default 1). per_page: Items per page (default 30). |
| get_club_adminsB | List administrators of a specific club. Args: club_id: The Strava club ID. page: Page number (default 1). per_page: Items per page (default 30). |
| get_club_activitiesB | List recent activities posted by members of a specific club. Args: club_id: The Strava club ID. page: Page number (default 1). per_page: Items per page (default 30). |
| get_gearB | Get details about a specific piece of gear (bike or shoes). Gear IDs start with 'b' for bikes and 'g' for shoes. Args: gear_id: The gear ID (e.g. "b12345" for a bike, "g12345" for shoes). |
| get_my_routesA | List the authenticated athlete's saved routes. Args: page: Page number (default 1). per_page: Items per page (default 30). |
| get_routeC | Get detailed information about a specific route. Args: route_id: The Strava route ID. |
| export_route_gpxB | Export a route as GPX XML data for use in GPS devices or other apps. Args: route_id: The Strava route ID. |
| export_route_tcxC | Export a route as TCX XML data for use in GPS devices or other apps. Args: route_id: The Strava route ID. |
| explore_segmentsA | Find popular segments within a geographic bounding box. Args: south_west_lat: South-west corner latitude. south_west_lng: South-west corner longitude. north_east_lat: North-east corner latitude. north_east_lng: North-east corner longitude. activity_type: "riding" or "running" (default "riding"). min_cat: Minimum climb category 0-5 (default 0). max_cat: Maximum climb category 0-5 (default 5). |
| get_starred_segmentsB | List the authenticated athlete's starred segments. Args: page: Page number (default 1). per_page: Items per page (default 30). |
| get_segmentB | Get detailed info about a segment: distance, grade, elevation, location, star count, effort count, and your PR. Args: segment_id: The Strava segment ID. |
| star_segmentC | Star or unstar a segment. Args: segment_id: The Strava segment ID. starred: True to star, False to unstar. |
| get_segment_effortsA | List your efforts on a specific segment. Optionally filter by date range. Args: segment_id: The Strava segment ID. start_date_local: Optional start date (ISO 8601, e.g. 2025-01-01T00:00:00Z). end_date_local: Optional end date (ISO 8601). per_page: Items per page (default 30). |
| get_segment_effortB | Get detailed information about a specific segment effort. Args: effort_id: The segment effort ID. |
| get_activity_streamsA | Get time-series stream data for an activity. Returns arrays of second-by-second data for heart rate, speed, power, cadence, altitude, GPS coordinates, temperature, and grade. Args: activity_id: The Strava activity ID. keys: Comma-separated stream types. Available: time, distance, latlng, altitude, velocity_smooth, heartrate, cadence, watts, temp, moving, grade_smooth. Defaults to all. |
| get_route_streamsC | Get stream data for a route (distance, altitude, latlng). Args: route_id: The Strava route ID. |
| get_segment_effort_streamsB | Get time-series stream data for a specific segment effort. Args: effort_id: The segment effort ID. keys: Comma-separated stream types (same as activity streams). |
| get_segment_streamsC | Get stream data for a segment (distance, altitude, latlng). Args: segment_id: The Strava segment ID. |
| get_upload_statusA | Check the processing status of an activity upload. Args: upload_id: The upload ID returned from a previous upload. |
| get_activities_by_typeA | Get recent activities filtered by sport type. Args: sport_type: Run, Ride, Swim, Walk, Hike, TrailRun, MountainBikeRide, GravelRide, VirtualRide, Yoga, etc. count: Number of recent activities to search through (max 200). |
| weekly_summaryA | Summary of all activities from the past 7 days. Total distance, time, elevation, and calories by sport type. |
| monthly_summaryA | Summary of all activities from the past 30 days. Total distance, time, elevation, and calories by sport type. |
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/manojanasuri16/STRAVA-MCP-SERVER'
If you have feedback or need assistance with the MCP directory API, please join our Discord server