Connect your AI agent to Strava
Strava is a social fitness network and app designed for cyclists and runners.
Set it up in Melso
- 1In Melso, open Settings → Agent Apps and hit Connect on Strava.
- 2Finish the OAUTH2 sign-in in the window that opens. Melso stores the connection, not your credentials.
- 3Open your agent, go to its Agent Apps tab, and allow Strava.
- 4Give the agent a task. It calls Strava itself when the work needs it.
What Strava gives your agent
The tools, permissions, and events Strava exposes — the same ones your agent can use once the app is authorized.
What you sign in with
Strava connects with OAUTH2.
- Client id
- Client secret
Permissions
Tools Strava exposes
Get Activity Laps
Retrieves lap data for a specific Strava activity by its identifier. Laps represent segments of an activity, typically auto-generated during activities like running or cycling based on distance intervals, manual lap button presses, or course segments. Use this action when you need detailed performance metrics for each lap within an activity, including timing, distance, speed, cadence, and elevation data.
Create an Activity
Creates a manual activity for an athlete. Requires activity:write scope. This endpoint is for manually entered activities only. To upload activity files (FIT, TCX, GPX), use the Upload Activity endpoint instead. Required parameters: name, sport_type, start_date_local, elapsed_time. Optional parameters: type (deprecated), description, distance, trainer, commute.
Explore segments
Explore segments within a geographic bounding box. Returns the top 10 segments matching the specified geographic boundary and optional filters. Segments are sections of roads or trails where Strava athletes can compete for times. The response includes segment details like: - id: Unique segment identifier - name: Segment name - climb_category: Climbing difficulty (0=NC/flat to 5=HC/hardest) - avg_grade: Average gradient percentage - distance: Segment length in meters - elev_difference: Elevation gain in meters - start_latlng/end_latlng: Start and end coordinates - elevation_profile: URL to elevation profile image
Export Route as GPX
Exports a Strava route as a GPX (GPS Exchange Format) file. GPX files can be used to import routes into GPS devices, other fitness apps, or mapping software. Requires read_all scope for private routes.
Export Route as TCX
Exports a Strava route as a TCX (Training Center XML) file. TCX format is widely supported by GPS devices, fitness watches, and training software like Garmin Connect and TrainingPeaks. The exported file contains the route's waypoints, distance, and elevation profile. Requires read_all scope for private routes.
Get Activity
Retrieves detailed information about a specific activity by its ID. Returns a DetailedActivity object containing comprehensive data including distance, time, elevation, speed, heart rate, power data (if available), segment efforts, laps, splits, and more. Permissions required: - activity:read scope for activities with visibility set to 'everyone' or 'followers_only' - activity:read_all scope for activities with visibility set to 'only_me' The activity must be owned by the authenticated athlete.
Get activity streams
Retrieves time-series stream data for a specific activity. Streams are the raw spatial and sensor data recorded during an activity, including GPS coordinates, speed, heart rate, power, etc. Each stream type returns an array of values that correspond to specific time points during the activity. All requested streams have the same number of data points, aligned by index. Common use cases: - GPS track visualization: request 'latlng', 'altitude', 'time' - Performance analysis: request 'heartrate', 'cadence', 'watts', 'time' - Pace/speed analysis: request 'velocity_smooth', 'distance', 'time' Requires activity:read scope. Requires activity:read_all scope for Only Me (private) activities.
Get Activity Zones
Returns the heart rate and power zones of a given activity. This is a Summit/Premium feature that provides zone distribution data showing time spent in each training zone. The response includes an array of ActivityZone objects, typically containing: - Heart rate zones: Time distribution across heart rate training zones - Power zones: Time distribution across power training zones (for cycling with power meter) Requirements: - Strava Summit/Premium subscription for the athlete who owns the activity - activity:read scope for Everyone and Followers visibility activities - activity:read_all scope for Only Me (private) activities Common errors: - 404: Activity not found or not accessible - 403: Insufficient permissions to view activity - 402: Summit subscription required
Compare nearby apps
Other Fitness connections your agents can use.
Connect to Exist
Exist is a personal analytics app that combines data from various services to help users understand and improve their lives.
Connect to AllTrails MCP
Find hiking, biking, and running trails with reviews, photos, and route details from AllTrails.
Connect to Mindbody
Mindbody provides scheduling, client management, commerce, and business operations software for fitness, wellness, and beauty businesses.