4,500+ servers built on MCP Fusion
Vinkius

Strava Training MCP. Analyze granular activity streams and performance zones.

Claude Claude
ChatGPT ChatGPT
Cursor Cursor
Gemini Gemini
Windsurf Windsurf
VS Code VS Code
JetBrains JetBrains
Vercel Vercel
See Vinkius in Action

Works with every AI agent you already use

…and any MCP-compatible client

Strava Training MCP on Cursor AI Code Editor MCP Client Strava Training MCP on Claude Desktop App MCP Integration Strava Training MCP on OpenAI Agents SDK MCP Compatible Strava Training MCP on Visual Studio Code MCP Extension Client Strava Training MCP on GitHub Copilot AI Agent MCP Integration Strava Training MCP on Google Gemini AI MCP Integration Strava Training MCP on Lovable AI Development MCP Client Strava Training MCP on Mistral AI Agents MCP Compatible Strava Training MCP on Amazon AWS Bedrock MCP Support

Just plug in your AI agents and start using Vinkius.

Strava Training connects your AI agent to deep Strava data. It lets you analyze everything—from raw GPS streams and heart rate zones to segment PRs and lifetime athlete stats.

You can run complex queries comparing specific laps, analyzing power metrics against elevation profiles, or checking overall training load without jumping through multiple dashboards.

What your AI agents can do

Get activity

Retrieves key details like distance, time, and elevation for any specific workout ID.

Get activity laps

Gets split data (pace, distance, speed) from an activity's laps to check pace consistency.

Get activity streams

Pulls raw time-series data (HR, power, GPS) for a workout, enabling detailed visualization and export.

+ 9 more capabilities included
Get Full Activity Metrics

Retrieve the core details (distance, time, elevation) for a specific workout using its ID.

Analyze Lap Splits

Extract split data from any activity to check pace changes and sectional performance.

Fetch Raw Time-Series Data

Get high-granularity metrics (HR, power, speed) over time for a workout or segment.

Determine Training Zones

Check if an activity hit the right heart rate or power zone targets for your training goal.

Compare Segment Attempts

List and compare multiple efforts (PRs, KOM) on a specific segment over time.

Check Athlete Totals

Pull consolidated stats for all runs or rides since you started using Strava.

Supported MCP Clients

Claude Claude
ChatGPT ChatGPT
Cursor Cursor
Gemini Gemini
Windsurf Windsurf
VS Code VS Code
JetBrains JetBrains
Vercel Vercel
+ other MCP clients
Free for Subscribers

Waiting for input…

AI Agent

Strava Training MCP Server: 12 Tools for Fitness Analytics

These twelve tools let your agent access every aspect of your Strava history—from raw GPS points to segment PRs and overall athlete statistics.

get019d760e

get activity

Retrieves key details like distance, time, and elevation for any specific workout ID.

get019d760e

get activity laps

Gets split data (pace, distance, speed) from an activity's laps to check pace consistency.

get019d760e

get activity streams

Pulls raw time-series data (HR, power, GPS) for a workout, enabling detailed visualization and export.

get019d760e

get activity zones

Checks an activity against your defined heart rate or power training zones to grade the effort's intensity.

get019d760e

get athlete stats

Retrieves overall run and ride totals (all-time and recent) for a performance overview.

get019d760e

get athlete zones

Fetches your personal custom heart rate and power zone settings for reference.

get019d760e

get gear

Provides details on specific equipment (shoes, bikes) used in Strava activities to track mileage.

get019d760e

get segment

Retrieves profile data for a segment, including distance, total elevation gain, and average grade.

get019d760e

get segment effort

Gets the metrics (time, power, HR) for one specific recorded attempt on a segment (a KOM/QOM).

get019d760e

get segment effort streams

Pulls raw time-series data specifically for an effort on a segment, useful for fine analysis.

get019d760e

get segment streams

Shows the elevation and grade profile of a segment before you attempt it.

list019d760e

list segment efforts

Lists all recorded attempts for an athlete, optionally filtered by date or segment ID, to track progress.

Choose How to Get Started

Build a custom MCP for your own tools, or connect a ready-made integration from our catalog.

Build Your Own

Turn any API into an MCP. Import a spec, define Agent Skills, or deploy with MCPFusion.

  • Import from OpenAPI, Swagger, or YAML specs
  • Create Agent Skills with progressive disclosure
  • Deploy to edge with MCPFusion framework
  • Built in DLP, auth, and compliance on every call
  • Real time usage dashboard and cost metering
  • Publish to catalog or keep private
Start building

Make Your AI Do More

Start with Strava Training, then connect any of our 4,700+ other servers whenever your AI needs more. One click, no limits.

  • Use this MCP plus 4,700+ others, all in one place
  • Add new capabilities to your AI anytime you want
  • Every connection is secured and compliant automatically
  • Track usage and costs across all your servers
  • Works with Claude, ChatGPT, Cursor, and more
  • New servers added to the catalog every week

What you can do with this MCP connector

Strava Training connects your AI agent to deep performance data from Strava. You can analyze everything—from raw GPS streams and heart rate zones to segment PRs and lifetime athlete stats. This server exposes tools that let you run complex queries comparing specific laps, analyzing power metrics against elevation profiles, or checking overall training load without jumping through multiple dashboards.

Analyzing Your Workout Details
You've got a workout ID? Use get_activity to pull the core details—it gives you distance, time, and elevation for that specific run or ride. If you need to check pace consistency, get_activity_laps extracts split data from any activity, showing you the pace, distance, and speed for every lap.

To grade your effort against training goals, get_activity_zones checks the workout metrics against your defined heart rate or power zones. You can pull high-granularity time-series data—like raw GPS coordinates, heart rate output, or power levels over time—using get_activity_streams. If you wanna know what gear you used for a specific activity, get_gear provides details on the shoes or bikes tracked in your Strava history.

Mastering Segment Performance
To measure yourself against the competition, use these segment tools. First, run list_segment_efforts to see every recorded attempt you've made for a given segment; you can filter this list by date or specific segment ID to track progress over time. For any single record, get_segment_effort pulls the key metrics—time, power, and heart rate—for that one specific attempt (like a KOM or QOM).

Wanna see how difficult a segment is before you try it? get_segment_streams gives you the elevation and grade profile of the segment itself. For an even deeper dive on a recorded effort, get_segment_effort_streams pulls raw time-series data specific to that segment attempt. Finally, if you just need general info about a segment—its total distance, overall elevation gain, or average grade—you use get_segment.

Tracking Your Totals and Zones
For a big picture view of your athletic career, get_athlete_stats retrieves consolidated totals for all runs or rides you've completed since using Strava. If you need to know what zones you're aiming for, get_athlete_zones fetches your personal custom heart rate and power zone settings. You can also pull raw time-series data from a segment effort specifically with get_segment_effort_streams.

How Strava Training MCP Works

  1. 1 You subscribe to the server and give it your Strava Access Token.
  2. 2 Your AI client sends a specific request, like 'Get raw streams for my last ride with heart rate and power data.'
  3. 3 The agent runs the get_activity_streams tool, returns an array of time-stamped values, and you get immediate performance context.

The bottom line is that your AI client handles all the messy API calls; you just ask for the final analysis.

Who Is Strava Training MCP For?

Endurance athletes who are tired of manually cross-referencing pace charts and zone data. Coaches who need to review granular performance metrics across multiple clients in minutes, not hours. Data analysts building custom fitness dashboards that require deep Strava integration.

Competitive Cyclist

Uses list_segment_efforts and get_activity_streams to find PR attempts on key climbs, comparing power output against elevation grade.

Running Coach

Runs get_activity_laps and analyzes the resulting pace splits to spot where an athlete slows down or accelerates unexpectedly during a long run.

Sports Scientist / Data Analyst

Uses get_athlete_stats and multiple stream tools simultaneously, combining lifetime totals with raw metrics for deep performance modeling.

What Changes When You Connect

  • Granular Analysis: Stop looking at averages. Using get_activity_streams gives you raw, time-stamped data for HR, power, or GPS, letting your agent pinpoint exactly where metrics peaked or dropped.
  • Contextualizing Effort: The get_activity_zones tool doesn't just give a score; it tells you if the workout actually targeted the high-intensity zones you needed to train in. It provides immediate training feedback.
  • Tracking Progress Over Time: Instead of guessing your best time, use list_segment_efforts. You can easily compare every PR attempt on one segment against others, seeing trends month over month.
  • Pre-Race Scouting: Before tackling a new route, run get_segment_streams to visualize the elevation profile and grade changes. Your agent shows you where the steepest climbs are coming up.
  • Deep Dive Into Gear Use: Want to know if your new shoes help? The get_gear tool tracks equipment mileage per activity, letting you link performance metrics directly to specific hardware.

Real-World Use Cases

01

Diagnosing Poor Pacing Consistency

A runner notices they feel sluggish on the last mile of a long run. They ask their agent to run get_activity_laps for that specific activity. The agent compares the pace splits and immediately flags that the average speed dropped 15% after the 35km mark, pointing to pacing failure rather than muscle fatigue.

02

Comparing PR Attempts on a Climb

A cyclist wants to prove their improvement on 'Old La Honda Road'. They use list_segment_efforts for that segment. The agent compiles all efforts over the last six months, highlighting the fastest time (PR) and showing the average power output trend across those attempts.

03

Calculating Training Load from Raw Data

A coach needs to assess a client's overall effort, not just total distance. They instruct their agent to run get_activity_streams for the last week, requesting 'power' and 'heartrate'. The resulting data points allow the AI to calculate average power-weighted intensity across all activities.

04

Optimizing Training Equipment

A cyclist is worried about bike maintenance. They use get_gear with their most recent activity ID. The agent reports not only the mileage on the chain but also notes that the specific gear assigned (e.g., 'SRAM Apex') has logged 1,500km since its last service.

The Tradeoffs

Using general Strava dashboards

You see a dashboard showing your total distance for the month. You think that’s enough to gauge your current fitness level.

Don't just look at totals. Use get_athlete_stats for an overview, but then drill down using get_activity_streams on specific activities. This gives you raw data points—like average power and heart rate variability—that dashboards hide.

Guessing which metrics matter

You download a workout file and try to manually correlate GPS speed with your heart rate zone changes, which is tedious and error-prone.

Let the AI do it. Pass the activity ID and tell the agent to run both get_activity_streams (requesting 'heartrate' and 'velocity_smooth') AND get_activity_zones. The agent combines these two datasets for a direct analysis.

Only checking today's efforts

You only check the current KOM/QOM leaderboard on Strava. You miss seeing how much you improved last year.

Use list_segment_efforts instead. It lets you filter by date range and segment ID, giving you a verifiable history of all your attempts, not just the top results.

When It Fits, When It Doesn't

You should use this server if you need to compare data points that exist in different time frames or require combining multiple types of metrics (e.g., comparing power output vs. elevation grade over a segment). If your goal is simple—like 'What was my distance last week?'—you only need basic tools like get_activity. But if the question requires context, history, or raw data streams, this server is necessary. Don't use it just because you have Strava data; use it when you need to prove a trend or calculate a ratio. Never assume all activities are comparable unless you cross-reference them with get_athlete_zones and compare the metrics via tools like list_segment_efforts.

Independent Platform Disclaimer: Vinkius is an independent platform and is not affiliated with, endorsed by, sponsored by, verified by, or otherwise authorized by Strava Training. All third-party trademarks, logos, and brand names are the property of their respective owners. Their use on this website is strictly for informational purposes to identify service compatibility and interoperability.

VINKIUS INFRASTRUCTURE

Cloud Hosted

Managed infra

V8 Isolated

Sandboxed per request

Zero-Trust Proxy

No stored credentials

DLP Enforced

Policy on every call

GDPR Compliant

EU data residency

Token Compression

~60% cost reduction

How we secure it →

Works with Claude, ChatGPT, Cursor, and more

The Model Context Protocol standardizes how applications expose capabilities to LLMs. Instead of operating in isolation, your AI gains direct access to external platforms, live data, and real-world actions through secure, standardized connections.

This server provides 12 capabilities that interface natively with Claude, ChatGPT, Cursor, and any MCP client. No middleware. No custom integration required.

Available Capabilities

get_activity get_activity_laps get_activity_streams get_activity_zones get_athlete_stats get_athlete_zones get_gear get_segment get_segment_effort get_segment_effort_streams get_segment_streams list_segment_efforts

Analyzing workout performance shouldn't require 5 different dashboards.

Right now, if you want to know why your average pace dipped halfway through a race, you have to pull up the activity details page, find the lap splits, then open the raw stream data for heart rate, and finally manually compare all three against the segment profile. It’s clicking across five tabs and copying numbers into a spreadsheet.

With this MCP server, your agent handles that entire process in one go. You just tell it: 'Analyze my last race.' The agent executes `get_activity_laps`, retrieves raw data via `get_activity_streams`, checks the zones with `get_activity_zones`, and gives you a single report showing exactly where the drop happened.

Using Strava Training MCP Server: Get actionable performance insights.

Manual analysis is slow, prone to misinterpretation, and keeps you from training. You waste time wrestling with data instead of analyzing it.

This server lets your agent treat all your activity data—laps, streams, segments—as a single pool of information. It's not just retrieving data; it’s delivering ready-to-use performance conclusions.

Common Questions About Strava Training MCP

How do I get raw power and heart rate data using the Strava Training MCP Server? +

Use get_activity_streams and pass 'heartrate,watts' as comma-separated types. This pulls every single time-stamped reading for both metrics from the activity.

Is there a way to compare my PR attempts on a segment? +

Yes, use list_segment_efforts. You can filter by specific segments and date ranges to pull all relevant efforts across your history for comparison.

What if I want to check the elevation of an entire route? +

Run get_segment_streams using 'altitude' and 'grade_smooth'. This provides the necessary time-series data to build a comprehensive profile map for your agent.

Does Strava Training MCP Server only work on completed workouts? +

The server works on recorded activities. You must pass an activity ID into tools like get_activity or get_activity_laps to analyze a specific, finished workout.

How do I ensure the necessary permissions when calling get_activity_zones? +

The server requires specific scopes for zone data. You must use an OAuth2 token that grants access to heart rate or power metrics, which may require a paid subscription feature on Strava's side. Without these elevated credentials, the tool will fail.

When using get_segment_streams, what comma-separated parameters can I request? +

You must specify the type of data you want to profile. Accepted values include "distance", "altitude", and "grade_smooth". Listing these types allows your agent to build a full difficulty profile of the segment.

Does get_athlete_stats allow me to pull statistics for a custom date range? +

No, this tool only provides predefined aggregates: 'recent' and 'all-time' totals. If you need performance data restricted to specific dates, analyze individual activities using the get_activity endpoint instead.

What input do I need for the get_gear function? +

You must provide a unique Gear ID. You won't guess this; you find the gear ID first by referencing activity data or checking your athlete's profile details within Strava.

What data streams are available for activities? +

Available streams include: time, distance, latlng (GPS coordinates), altitude, velocity_smooth (speed), heartrate, cadence, watts (power), temp (temperature), moving (moving flag), and grade_smooth (incline %). Request specific streams with comma-separated types, e.g., "heartrate,watts,velocity_smooth". Not all streams are available for every activity — it depends on the recording device.

What are activity zones and how are they calculated? +

Activity zones show the time spent in each heart rate zone (Z1-Z5) or power zone during an activity. Zones are based on the athlete's personal zone configuration (set in Strava settings). Zone analysis reveals training intensity — whether a workout was aerobic (Z1-Z2), threshold (Z3), or anaerobic (Z4-Z5). This data requires a heart rate monitor or power meter.

How do I find my athlete ID on Strava? +

Your athlete ID is the numeric portion of your Strava profile URL. For example, from https://www.strava.com/athletes/12345678, your athlete ID is 12345678. You can also get it from the get_athlete tool in the Strava Planning or Strava Social MCP servers.

More in this category

You might also like

Built & Managed by Vinkius 30s setup 12 tools

We've already built the connector for Strava Training. Just plug in your AI agents and start using Vinkius.

No hosting. No infrastructure. No complex setup.
All 12 tools are live and waiting. You're up and running in seconds.

Claude Claude
ChatGPT ChatGPT
Cursor Cursor
Gemini Gemini
Windsurf Windsurf
VS Code VS Code
JetBrains JetBrains
Vercel Vercel
+ other MCP clients

Vinkius gives your AI agents access to the full catalog of app connectors, all fully managed, secure, and enterprise-ready. One subscription, every tool you need.

Zero hosting required Full MCP catalog included Enterprise-grade security Auto-updated by Vinkius

Built, hosted, and secured by Vinkius. You just connect and go.