Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
STRAVA_SCOPENoComma-separated list of OAuth scopes to request.read,read_all,profile:read_all,activity:read_all
STRAVA_CLIENT_IDYesYour Strava API application client ID.
STRAVA_CLIENT_SECRETYesYour Strava API application client secret.

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": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
strava_auth_statusA

Whether this server is connected to Strava, which athlete it is connected as, the granted OAuth scopes and the access-token expiry. Use this to diagnose authorization errors.

strava_get_athlete_summaryA

One-shot overview of the authenticated athlete: profile, gear, recent/year-to-date/all-time ride-run-swim totals (in km and hours) and the most recent activities. Best starting point for questions about overall training.

strava_get_athleteA

Raw profile of the authenticated athlete (GET /athlete). Includes bikes, shoes, clubs, FTP and weight when the token has the profile:read_all scope.

strava_get_athlete_statsA

Rolled-up ride/run/swim totals for the last 4 weeks, year to date and all time (GET /athletes/{id}/stats). Only counts activities visible to Everyone.

strava_get_athlete_zonesA

The athlete's configured heart-rate and power zones (GET /athlete/zones). Requires the profile:read_all scope.

strava_list_activitiesA

The authenticated athlete's activities, newest first, as compact summaries (GET /athlete/activities). Use before/after to scope a date range instead of paging blindly.

strava_get_activityA

Full detail for one activity (GET /activities/{id}): splits, laps, gear, calories, power and heart-rate averages. Segment efforts and the full map polyline are omitted unless requested.

strava_get_activity_lapsA

Laps recorded for an activity (GET /activities/{id}/laps).

strava_get_activity_zonesA

Time spent in each heart-rate and power zone during an activity (GET /activities/{id}/zones). Requires a Strava subscription.

strava_get_activity_streamsA

Time-series data for an activity (GET /activities/{id}/streams): heart rate, power, speed, altitude, cadence and more. Streams are downsampled to max_points to keep the response small.

strava_get_activity_commentsA

Comments left on an activity (GET /activities/{id}/comments).

strava_get_activity_kudoersA

Athletes who gave kudos to an activity (GET /activities/{id}/kudos).

strava_list_clubsA

Clubs the authenticated athlete belongs to (GET /athlete/clubs).

strava_get_clubA

Details of a single club (GET /clubs/{id}).

strava_get_gearA

A bike or pair of shoes including total logged distance (GET /gear/{id}). Gear ids look like b1234567 or g1234567 and appear on activities and the athlete profile.

strava_list_routesA

Routes created by the authenticated athlete (GET /athletes/{id}/routes). Private routes require the read_all scope.

strava_get_routeA

A single route with its segments and estimated moving time (GET /routes/{id}).

strava_list_starred_segmentsA

Segments the authenticated athlete has starred (GET /segments/starred).

strava_get_segmentA

A single segment including the athlete's personal-record effort when the token has the read_all scope (GET /segments/{id}).

strava_get_rate_limitA

Strava's reported request usage from the most recent API call (200 requests per 15 minutes and 2000 per day by default). Check this before issuing many requests.

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 20 tools

Disambiguation5/5

Each tool targets a distinct resource (athlete, activity, club, gear, route, segment) and action (get/list), with utility tools (rate limit, auth status) clearly separated. Even similar tools like get_athlete_summary and get_athlete_stats differ in granularity and purpose, making misselection unlikely.

Naming Consistency4/5

Most tools follow a consistent verb_noun pattern (get_*, list_*), but strava_auth_status breaks the pattern by using a noun phrase instead of a verb. Additionally, get_athlete_zones vs get_activity_zones could be mistaken without careful reading, though the resource is explicit in each name.

Tool Count3/5

With 20 tools, the server is on the heavy side, exceeding the 15-tool threshold for a well-scoped set. However, each tool maps to a specific Strava API endpoint, and the count is justified by the wide read-only surface of the Strava API, so it is borderline rather than excessive.

Completeness4/5

The server covers the primary Strava resources (athlete, activities, clubs, gear, routes, segments) with both list and detail views, plus utility tools. Obvious gaps like activity upload or a dedicated segment efforts tool are absent, but agents can obtain segment efforts via activity detail and upload is not a standard read-only operation.

Maintenance

ActivitySlowing
ResponsivenessNo issues