Strava MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| STRAVA_CLIENT_ID | Yes | Strava API Client ID from your Strava API Application settings | |
| STRAVA_CLIENT_SECRET | Yes | Strava API Client Secret from your Strava API Application settings | |
| STRAVA_REFRESH_TOKEN | Yes | Strava API Refresh Token obtained through the OAuth authorization flow |
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_athleteB | Get the profile of the authenticated Strava athlete |
| get_athlete_statsB | Get lifetime and recent statistics for the authenticated athlete (total runs, rides, swims, distances, etc.) |
| get_activitiesC | Get a list of recent Strava activities |
| get_activities_betweenC | Get Strava activities within a specific date range |
| get_activityC | Get detailed information for a specific Strava activity by ID |
| get_activity_streamsC | Get detailed time-series data (streams) for an activity: GPS coordinates, heartrate, power, cadence, altitude, etc. |
| get_starred_segmentsB | Get the authenticated athlete's starred segments |
| get_segmentB | Get detailed information about a specific Strava segment |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
Each tool has a clearly distinct purpose targeting specific Strava resources: activities (list, range, detail, streams), athlete (profile, stats), and segments (detail, starred). No overlap exists in functionality, making tool selection unambiguous for an agent.
All tools follow a consistent verb_noun pattern with 'get_' prefix and descriptive suffixes (e.g., get_activities, get_activity_streams). This predictable naming convention enhances readability and agent usability throughout the set.
With 8 tools, this server is well-scoped for the Strava domain, covering core resources like activities, athlete data, and segments. Each tool earns its place by addressing distinct aspects of the API without being overwhelming or insufficient.
The tool set provides strong read-only coverage for activities, athlete, and segments, but lacks write operations (e.g., create/update activities, star segments) or broader functionality like clubs or routes. This is a notable gap that may limit agent workflows requiring full CRUD capabilities.