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'. |
Capabilities
Features and capabilities supported by this server
| 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_tool | Get statistics for the authenticated athlete. Returns a formatted string with recent and all-time stats. |
| list_activities_tool | List recent activities for the authenticated athlete. Args: limit: Number of activities to return (default 5) |
| search_activities_tool | 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_tool | Get detailed information for a specific activity. Args: activity_id: The ID of the activity to retrieve |
| get_activity_laps_tool | Get lap breakdowns for a specific activity. Args: activity_id: The ID of the activity to retrieve laps for |
| get_activity_streams_tool | 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_tool | 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 | |