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 application Client ID. | |
| STRAVA_CLIENT_SECRET | Yes | Your Strava API application Client Secret. | |
| STRAVA_REFRESH_TOKEN | Yes | A refresh token for your Strava account. Requires scopes 'activity:read_all' and 'read_all'. |
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 |
|---|---|
| tasks | {
"list": {},
"cancel": {},
"requests": {
"tools": {
"call": {}
},
"prompts": {
"get": {}
},
"resources": {
"read": {}
}
}
} |
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_athlete_stats_toolB | Get statistics for the authenticated athlete. Returns a formatted string with recent and all-time stats. |
| list_activities_toolC | List recent activities for the authenticated athlete. Args: limit: Number of activities to return (default 5) |
| search_activities_toolA | Search activities with optional filters. Note: Name/description search is client-side, so a reasonable limit is recommended. Args: query: Search term to match in activity name (case-insensitive, partial match) activity_type: Filter by activity type (e.g., "Run", "Ride", "Walk", "Hike") after: ISO 8601 date string (e.g., "2025-01-01") - activities after this date before: ISO 8601 date string (e.g., "2026-01-01") - activities before this date min_distance: Minimum distance in meters max_distance: Maximum distance in meters limit: Maximum number of activities to fetch from API (default 50) |
| get_activity_details_toolB | Get detailed information for a specific activity. Args: activity_id: The ID of the activity to retrieve |
| get_activity_laps_toolC | Get lap breakdowns for a specific activity. Args: activity_id: The ID of the activity to retrieve laps for |
| get_activity_streams_toolA | Get raw stream data (GPS, HR, power, etc.) for a specific activity. Args: activity_id: The ID of the activity to retrieve streams for types: List of stream types to fetch. Options: time, latlng, distance, altitude, velocity_smooth, heartrate, cadence, watts, temp, moving, grade_smooth. If None, all available streams will be returned. resolution: Data point resolution - 'low' (100 points), 'medium' (1000 points), 'high' (10000 points), or None (all points) |
| analyze_data_toolA | Execute Python code to analyze Strava data safely using Monty. Args: code: Python code to execute. The data is available as a variable named 'data'. Example: "sum(activity['distance'] for activity in data) / 1000" data: The data to analyze (e.g. list of activities, athlete stats). Can be passed as a JSON object (list/dict) or a JSON string. |
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/saxenanurag/strava-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server