Analytics

Strava MCP Server

Connect your account, then chat with AI to run tools.

Strava is a fitness tracking application that allows users to record and analyze their workouts, track performance metrics, and connect with a community of athletes. Use it to monitor progress, set fitness goals, and share achievements.

Managed
16 tools
Agent guide included

Opens MCPBundles Studio with this server selected. After sign-in, chat and run tools from the same thread.

Browse all tools

AI Skill
SKILL.md

Domain knowledge for Strava — workflow patterns, data models, and gotchas for your AI agent.

Strava

Strava data is scoped to the authenticated athlete. Start with the athlete profile for identity, get activities for workout history or one workout's detailed metadata, and request streams only when time-series analysis is needed.

Data Model

  • Athlete — the authenticated user. Athlete stats use this ID and summarize activity totals.
  • Activities — workouts such as runs, rides, swims, hikes, and walks. Activity summaries are enough for recent-history questions; detailed activity reads add map, gear, split, and segment-effort context.
  • Streams — time-series samples for an activity or route, such as time, distance, altitude, speed, heart rate, cadence, watts, coordinates, and moving state.
  • Clubs — athlete memberships and club detail, with optional club activities, administrators, and members when a club ID is known.
  • Gear — bikes and shoes referenced by athlete profile or activity detail responses.
  • Routes — planned routes created by the athlete. Private routes can be filtered out by Strava when private-route access is not granted.
  • Segments — starred, discovered, or explicitly fetched climbs, sprints, and route sections. Segment efforts are athlete-specific attempts and can require a Strava subscription.

Workflows

  1. Recent training summary: Get the athlete, get activities with a small per_page, group by sport_type or type, and summarize distance, moving time, elevation, and start dates.
  2. Single-workout analysis: Get activities, pick the target activity ID, get the same activity with that ID for details, then use laps or streams only if the question needs splits, pacing, heart-rate, cadence, power, route, or elevation trends.
  3. Aggregate performance: Use athlete stats for all-time, year-to-date, and recent totals. Use activities instead when the question needs individual workouts or date-windowed trends.
  4. Route and segment context: Get routes or segments when the athlete asks about planned routes, favorite segments, geographic discovery, or route/segment metadata.
  5. Clubs and equipment: Get clubs for social/team context; fetch gear only after an athlete or activity response exposes a bike or shoe ID.

Gotchas

  • Athlete-scoped: All results are for the authenticated athlete. Strava does not provide cross-athlete access through this bundle.
  • Read-only: This provider is configured for read access. Do not attempt activity creation, activity edits, uploads, or segment star/unstar actions.
  • Activity visibility: Activities marked Only Me appear only when the authorized Strava connection includes private activity access.
  • Activity pagination: Use one starting-position parameter at a time for activity listing: before, after, or page. after returns activities oldest first from that timestamp; default ordering is newest first.
  • Stats visibility: Athlete stats include only activities Strava counts for that stats endpoint, which can differ from the full activity list.
  • Streams can be sparse: Strava returns only streams recorded for the activity. Heart rate, cadence, power, temperature, and GPS streams can be absent.
  • Subscription and private-data gates: Activity zones, athlete zones, private routes, private segments, and segment efforts can return upstream permission errors even when ordinary activity reads work.
  • Exports are XML: Route GPX and TCX exports return text/XML bodies, not JSON route objects.

Tools in this Server (16)

Strava Get Activities

Get activities for the authenticated Strava athlete or get one activity by activity_id. Omit activity_id to return workout summaries with distance, ti...

Strava Get Activity Comments

Get comments on a Strava activity. Use this to inspect discussion or notes on a specific activity after choosing an activity ID from strava_get_activi...

Strava Get Activity Kudoers

Get athletes who gave kudos to a Strava activity. Use this after selecting an activity ID from strava_get_activities when social engagement matters. R...

Strava Get Activity Laps

Get laps for a Strava activity. Use this to analyze split-level performance for an activity chosen from strava_get_activities. Returns lap distance, e...

Strava Get Activity Streams

Get time-series streams for one Strava activity. Use this for pacing, elevation, heart-rate, cadence, power, route, or moving-state analysis after sel...

Strava Get Activity Zones

Get heart-rate and power zones for one Strava activity. This is a Strava subscription feature and can return an upstream permission error even when or...

Strava Get Athlete

Get the authenticated Strava athlete profile. Use this first to identify the athlete ID needed for athlete stats. Returns profile fields such as name,...

Strava Get Athlete Stats

Get aggregate activity stats for the authenticated Strava athlete. Pass the athlete ID from strava_get_athlete or omit athlete_id to use the authentic...

Strava Get Athlete Zones

Get the authenticated athlete's heart-rate and power zones. Requires Strava profile read access and can return an upstream scope error when the connec...

Strava Get Clubs

Get clubs for the authenticated athlete, one club by club_id, or club child collections through include. Omit club_id to return the athlete's clubs; p...

Strava Get Gear

Get detailed equipment information for one Strava bike or shoe by gear_id. Use gear IDs returned on athlete profile or activity detail responses when ...

Strava Get Routes

Get routes for the authenticated athlete or get one route by route_id. Private routes require Strava private-route access; without it, Strava filters ...

Strava Get Route Streams

Get stream data for one Strava route. Use this after strava_get_routes when route geometry or elevation samples are needed. Private routes require Str...

Strava Get Segment Efforts

Get one segment effort by segment_effort_id or get the authenticated athlete's efforts for a segment_id. Segment effort endpoints require a Strava sub...

Strava Get Segments

Get starred segments, explore public segments in a map bounding box, or get one segment by segment_id. Omit segment_id and bounds to return the authen...

Strava Get Segment Streams

Get streams for a segment or for one authenticated-athlete segment effort. Use segment_id for segment geometry/elevation; use segment_effort_id for pe...

Frequently Asked Questions

What is the Strava MCP server?

Strava is a fitness tracking application that allows users to record and analyze their workouts, track performance metrics, and connect with a community of athletes. Use it to monitor progress, set fitness goals, and share achievements. It provides 16 tools that AI agents can use through the Model Context Protocol (MCP).

How do I connect Strava to my AI agent?

Add the MCPBundles server URL to your MCP client configuration (Claude Desktop, Cursor, VS Code, etc.). The URL format is: https://mcp.mcpbundles.com/bundle/strava. Authentication is handled automatically.

How many tools does Strava provide?

Strava provides 16 tools that can be called by AI agents, along with a SKILL.md that gives your AI agent domain knowledge about when and how to use them.

What authentication does Strava require?

Strava uses One-click sign in. Strava requires credentials. Connect via MCPBundles and authentication is handled automatically.

Setup Instructions

Connect Strava to any MCP client in minutes

MCP URL
https://mcp.mcpbundles.com/bundle/strava

One-click install:

The link prefills the Add custom connector dialog — you still review the values and click Add, then Connect to complete OAuth.

Or add manually

  1. Open claude.ai → Settings → Connectors.
  2. Click the + button and choose Add custom connector.
  3. Set Name to Strava and paste the MCP URL into Remote MCP server URL.
  4. Click Add. Strava will appear under Not connected — select it and click Connect to complete OAuth.
Name: Strava
Remote MCP server URL: https://mcp.mcpbundles.com/bundle/strava
Authentication: OAuth

Custom connectors at claude.ai require a paid Claude plan (Pro, Max, Team, or Enterprise).

Ready to use Strava?

Sign in to connect your credentials and start running tools from the chat.

Strava MCP Server & Skill — 16 Tools