Strava Integration
Manage Strava athletes, activities, routes, clubs, segments, streams, gear, and uploads
The Strava integration provides access to manage Strava athletes, activities, routes, clubs, segments, streams, gear, and uploads through the Integrate MCP server.
Installation
The Strava integration is included with the SDK:
import { stravaIntegration } from "integrate-sdk/server";Setup
1. Create a Strava OAuth App
- Create an OAuth application for Strava
- Configure your redirect URI
- Note your Client ID and Client Secret
2. Configure the Integration on Your Server
Add the Strava integration to your server configuration. The integration automatically reads STRAVA_CLIENT_ID and STRAVA_CLIENT_SECRET from your environment variables:
import { createMCPServer, stravaIntegration } from "integrate-sdk/server";
export const { client: serverClient } = createMCPServer({
apiKey: process.env.INTEGRATE_API_KEY,
integrations: [
stravaIntegration({
scopes: ["read", "profile:read_all", "profile:write", "activity:read", "activity:read_all", "activity:write"], // Optional
}),
],
});You can override the environment variables by passing explicit values:
stravaIntegration({
clientId: process.env.CUSTOM_STRAVA_ID,
clientSecret: process.env.CUSTOM_STRAVA_SECRET,
scopes: ["read", "profile:read_all", "profile:write", "activity:read", "activity:read_all", "activity:write"], // Optional
});3. Client-Side Usage
The default client automatically includes all integrations. You can use it directly:
import { client } from "integrate-sdk";
await client.authorize("strava");
const result = await client.strava.getLoggedInAthlete({});
console.log(result);If you're using a custom client, add the integration to the integrations array:
import { createMCPClient, stravaIntegration } from "integrate-sdk";
const customClient = createMCPClient({
integrations: [stravaIntegration()],
});Configuration Options
Prop
Type
Default Scopes
These defaults are applied unless you override scopes in the integration config:
readprofile:read_allprofile:writeactivity:readactivity:read_allactivity:write
Tools
strava_get_logged_in_athlete
Get logged in athlete
No parameters.
strava_update_logged_in_athlete
Update logged in athlete
Prop
Type
strava_get_athlete_stats
Get athlete stats
Prop
Type
strava_list_athlete_activities
List athlete activities
Prop
Type
strava_get_activity
Get activity
Prop
Type
strava_create_activity
Create activity
Prop
Type
strava_update_activity
Update activity
Prop
Type
strava_delete_activity
Delete activity
Prop
Type
strava_get_activity_streams
Get activity streams
Prop
Type
strava_list_athlete_routes
List athlete routes
Prop
Type
strava_get_route
Get route
Prop
Type
strava_export_route_gpx
Export route gpx
Prop
Type
strava_list_athlete_clubs
List athlete clubs
Prop
Type
strava_get_club
Get club
Prop
Type
strava_list_club_activities
List club activities
Prop
Type
strava_list_club_members
List club members
Prop
Type
strava_get_segment
Get segment
Prop
Type
strava_explore_segments
Explore segments
Prop
Type
strava_get_segment_leaderboard
Get segment leaderboard
Prop
Type
strava_list_starred_segments
List starred segments
Prop
Type
strava_star_segment
Star segment
Prop
Type
strava_get_gear
Get gear
Prop
Type
strava_get_upload
Get upload
Prop
Type
strava_create_upload
Create upload
Prop
Type
Notes
- Category: Fitness
- Authentication mode: OAuth