Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
STRAVA_CLIENT_IDNoStrava app Client ID, used by `mcp-strava auth` instead of prompting, and by the server when the token file lacks it
STRAVA_TOKEN_FILENoWhere the token file lives. Default ~/.config/mcp-strava/tokens.json~/.config/mcp-strava/tokens.json
STRAVA_CLIENT_SECRETNoStrava app Client Secret, used by `mcp-strava auth` instead of prompting, and by the server when the token file lacks it
STRAVA_REFRESH_TOKENNoA refresh token to start from when the token file has none

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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_athleteA

Profile of the connected athlete: name, location, sex, weight, FTP, measurement preference, and their bikes, shoes and clubs.

get_athlete_statsA

Ride, run and swim totals for the connected athlete: recent (last 4 weeks), year-to-date and all-time count, distance, moving time, elapsed time and elevation gain, plus biggest ride and climb. Strava only counts activities whose visibility is Everyone.

get_athlete_zonesA

The connected athlete's heart-rate zones (bpm) and power zones (watts).

list_activitiesA

The connected athlete's activities as compact summaries: sport, start time, distance (m, km, mi), moving and elapsed time, elevation gain, speed, heart rate, power, cadence, suffer score, kudos. Strava returns newest first, but oldest first when after is set. more_available is true when the page came back full, so ask for the next page. Use get_activity for one activity's full detail.

get_activityA

Full detail for one activity: description, calories, device, gear, laps, per-km splits (splits_metric), heart rate, power, photos and achievement counts. Map polylines are removed.

get_activity_lapsA

Laps of one activity, with distance, time, speed, heart rate, cadence and power per lap. Useful for interval sessions and races split by lap.

get_activity_zonesA

Time spent in each heart-rate and power zone during one activity. Strava may require a subscription for this data.

get_activity_streamsA

Second-by-second data recorded during one activity (heart rate, power, cadence, altitude, speed in m/s, position), evenly downsampled so every stream lines up point for point. Use it for pacing, heart-rate drift, or interval analysis. Each stream reports its original_size.

list_starred_segmentsA

Segments the connected athlete has starred, with distance, grade, elevation, location and their PR.

get_segmentA

Detail for one segment: distance, average and max grade, elevation, climb category, location, effort and athlete counts, and the connected athlete's PR (athlete_segment_stats).

list_segment_effortsA

The connected athlete's efforts on one segment, with elapsed time, heart rate, power and the activity each came from, so you can track progress on a climb or sprint. Strava may require a subscription for this data.

list_routesA

Routes the connected athlete created, with distance, elevation gain, type and estimated time.

get_gearA

One bike or pair of shoes: brand, model, nickname and total distance in meters. Gear ids (b... for bikes, g... for shoes) appear as gear_id on activities and in get_athlete.

list_clubsB

Clubs the connected athlete belongs to, with sport type, location and member count.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.9/5.0

Scored across 14 tools

Disambiguation5/5

Each tool targets a clearly distinct resource and action: athlete summary vs stats vs zones, activity list vs detail vs laps vs zones vs streams, and segment starred list vs detail vs efforts. The descriptions reinforce the boundaries, so an agent can reliably choose the right tool.

Naming Consistency5/5

All tools use consistent snake_case with predictable get_/list_ verb prefixes followed by the resource name. Nested concepts such as get_activity_zones and list_segment_efforts remain readable and follow the same convention.

Tool Count5/5

The 14 tools are well-scoped for a Strava read/analytics server. Each tool covers a meaningful slice of the domain without excessive surface area.

Completeness4/5

The surface covers the main read workflows: athlete profile, stats, zones, activities, streams, segments, routes, gear, and clubs. Minor gaps remain, such as no get_route or get_club detail after list_routes/list_clubs, and no activity upload or write operations, but agents can still handle most exploration tasks.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues