Your Strava,
over MCP.
One Cloudflare Worker reads your Strava activities, routes, segments, streams, and gear, and lets your AI assistant query them through the Model Context Protocol.
Read the sourceFig. 1: request path
stravamcp.didiktrisusanto.devWhat MCP is
An open standard that lets AI assistants call tools. This Worker implements MCP, so your assistant can ask for Strava data directly instead of copying exports into a chat.
The server is one Cloudflare Worker with one Strava account and fifteen read-only tools. Responses are cached in D1 with per-tool TTLs.
Compact stream summaries keep full arrays on the server unless you ask for them. It has no write tools, webhooks, or multi-account support.
The tools
Fifteen read-only tools. Each port in Fig. 1 points to a group below. Use id_str for routes and large IDs.
Activities
05 toolslist_activitiesRecent activities with sport and commute filtersget_activityDetailed data for one activityget_activity_streamsTime-series data by stream keyget_activity_zonesHeart-rate and power time-in-zonesummarize_activity_streamsCompact metrics without sending full arrays
Athlete
04 toolsget_athleteConnected athlete profileget_athlete_statsYTD, recent, and all-time totalsget_athlete_zonesHeart-rate and power zone rangesget_gearBike or shoe detail by id
Routes
02 toolslist_athlete_routesSaved routes with id_str-safe identifiersget_routeFull route detail by id_str
Segments
03 toolslist_starred_segmentsSegments saved by the athleteget_segmentDetail for one segmentlist_segment_effortsYour efforts on a segment
Usage
01 toolget_usageTool, API, and cache counts for 24h, 7d, and 30d
Counts cover rolling 24h, 7d, and 30d windows. Usage rows contain no Strava data and are kept for 90 days.