Writing
How to Connect Strava to Claude with MCP: A Step-by-Step Guide
Strava now has an official MCP connector for Claude. This is how to set it up, what happens when you ask it something, and the questions about your training that are worth asking.
By Ka Lun Chan · Cycling
Years of rides, and no easy way to ask about them
I have years of rides sitting in Strava: distance, power, heart rate, elevation, the odd race, and a lot of weeknight loops that look the same in the feed.
When I want to understand something across all of that history, I end up clicking from activity to activity, comparing charts in two browser tabs, or exporting everything into a spreadsheet.
Strava now has an official MCP connector that lets Claude read your Strava data while you talk to it. That got my attention right away. Instead of opening ride after ride, I could just ask:
“Compare my last four Saturday rides.”
“Was my heart rate higher than usual on today’s ride?”
“How has my climbing volume changed over the last six weeks?”
This guide shows the three ways to connect it (in Claude, from Strava, or in Claude Code), what happens when you ask a question, and the questions I think are worth asking. It also covers the limits, because a few of them change how much you should trust an answer.
What is the Strava MCP connector?
The Strava MCP connector is Strava’s official Model Context Protocol server. Once you authorize it, Claude can read your Strava activities, including heart rate, power, pace and GPS data, and use them to answer questions about your training. It’s read-only, it comes with a paid Strava subscription, and Strava built it and runs it.
MCP stands for Model Context Protocol, an open standard for connecting AI assistants like Claude to outside systems. Strava runs an MCP server that offers a small set of approved, read-only tools, such as listing your activities or fetching the second-by-second data from one ride. When a question needs your data, Claude calls one of those tools, gets the result back and works from it.
The chain
- Claude
- MCP
- Strava’s MCP server
- Your activities and training data
You don’t need to know any protocol details to use it. If you’re curious anyway, the official MCP introduction explains clients, servers and tools.
What you need before you start
Does Strava MCP require a subscription?
Yes. You need a paid Strava subscription, and free accounts can’t use the connector. You also need Claude: Strava’s instructions cover Claude on the web, the Claude desktop app and Claude Code.
- Strava
- A paid subscription. Strava lists the standard subscription, the Strava + Runna bundle, the Family and Student plans, and its military, educator and medical discounts. A free trial gets access only once it converts to paid.
- Claude
- Claude at claude.ai or in the desktop app (Strava’s instructions call the desktop app Claude Cowork). Strava launched with Claude and says it wants to support other AI assistants later.
- Claude Code
- Optional. Installed and signed in, if you want Strava in your terminal.
- Request limits
- Strava caps requests per minute and per day without publishing the numbers. Second-by-second data for dozens of rides uses far more requests than a weekly summary.
How do I connect Strava to Claude?
In Claude, open Customize, then Connectors, click the + icon, search for Strava and click Connect. Strava then asks you to approve access. You can also start from Strava’s settings, or add it to Claude Code with one command.
About OAuth
You sign in on Strava’s own page and approve access there, so Claude never sees your Strava password. Claude gets a token that can only read your account, and you can revoke it whenever you like.
Option 1: Claude on the web or desktop
- Open claude.ai or the Claude desktop app and expand the sidebar.
- Click Customize, then Connectors.
- Click the + icon and search for Strava.
- Click Connect.
- Claude sends you to Strava. Sign in if it asks, then approve access for Claude.
- Back in Claude, ask something about your training.
To be sure you’re adding the official connector, look at the Strava listing in Claude’s directory. It’s made by Strava, Inc., and its connector URL is https://mcp.strava.com/mcp.
If Claude answers without looking at your Strava data, check that the connector is switched on for that chat. Click + in the message box, open Connectors and make sure Strava is on. Mentioning Strava in your question helps too.
Option 2: Start from Strava
On strava.com:
- Hover over your profile picture in the top right corner.
- Click Settings, then MCP.
In the Strava app:
- Tap You, then Settings.
- Tap AI Assistants. (Your Strava Subscription, then Tools, gets you to the same place.)
From there, follow Strava’s prompts to connect Claude.
Option 3: Claude Code
If you spend your day in a terminal like I do, you can add Strava to Claude Code. This is the command from Strava’s help article:
claude mcp add --transport http strava-mcp https://mcp.strava.com/mcp--transport http- Strava’s server is remote, so there’s nothing to install or run on your machine.
strava-mcp- The name Claude Code uses for the server.
https://mcp.strava.com/mcp- Strava’s MCP server.
Claude Code adds servers at local scope by default, which means Strava is only available in the project directory where you ran the command. To use it from any directory, add --scope user:
claude mcp add --transport http --scope user strava-mcp https://mcp.strava.com/mcpThen sign in. Start Claude Code with claude, type /mcp, choose strava-mcp, and follow the browser prompt to approve access on Strava. Running claude mcp login strava-mcp from your shell does the same thing.
To check the connection:
claude mcp listStrava should show ✔ Connected. If it shows ! Needs authentication, go back to /mcp and finish signing in. Then try something small:
“Use Strava to list my rides from the last seven days.”
Already on claude.ai?
If you connected Strava in Claude on the web and sign in to Claude Code with the same claude.ai account, your claude.ai connectors appear in Claude Code automatically. Strava may already be in /mcp without running the command.
The full set of commands and scopes is in Anthropic’s Claude Code MCP documentation.
What just happened?
Connecting Strava gave Claude a route to your training data that it didn’t have before.
Before
- You
- Claude
After
- You
- Claude
- Strava MCP
- Your Strava data
Every time you ask a training question, five things happen. Pick an example to see how the tool calls change with the question:
YouAsk a question
“How much did I ride each week for the last six weeks?”
ClaudeDecides it needs your Strava data
It reads the question and works out which data would answer it.
Strava MCPClaude calls a tool
list_activitiesStravaReturns only what you authorized
Your rides from those six weeks, with summary numbers such as time, distance and elevation for each one.
ClaudeAnswers
Adds up each week and tells you which weeks went up and which went down.
Tool names come from Strava’s listing in Claude’s connector directory. Which tools Claude calls depends on the question.
Claude asks for what each question needs, when it needs it, and it can ask again when you follow up. The connection stays available for the whole conversation, so the next question can build on the last one. It’s a small, concrete example of what makes MCP interesting, which I come back to at the end.
What can Claude do with my Strava data?
Claude can read your activities and their heart rate, power, pace and GPS data, along with your training zones and gear. It uses that to answer questions about volume, intensity, climbing, consistency and cross-training. The best questions span several weeks or several rides, where clicking through the Strava app gets slow.
A few habits make the answers better:
- Give it a time window. “The last six weeks” works better than “recently.”
- Say what you mean by hard, easy or long. Otherwise Claude picks a definition, and it may not be yours.
- Ask it to show the numbers behind a conclusion, so you can check one or two rides in Strava.
- Start with weekly totals, then go into individual rides. Second-by-second data for one ride is a lot of data, and for forty rides it’s a lot of requests.
Recent training
“Show me my rides from the last four weeks.”
“How many hours did I ride each week?”
“How has my weekly volume changed over the last two months?”
“Compare this month with last month: rides, hours, distance and climbing.”
Ask for hours as well as miles. A windy week, a hilly week and a week of flat group rides can cover the same distance and take very different amounts out of you.
Intensity and fitness
“Which of my rides in the last month had the highest training load?”
“Am I doing more intensity than I was a month ago? Use my power zones.”
“How much time did I spend in Zone 2 over the last four weeks?”
“Are my easy rides actually easy?”
Strava uses this one as an example, and it’s a good one. It’s easy to drift into Zone 3 on “easy” days without noticing, especially in a group.
Zone answers are only as good as the zones in your Strava settings. If your FTP or max heart rate there is a year old, update it first, or every zone question will be off.
It also helps to ask for heart rate and power on the same ride. Power measures the work you did. Heart rate shows how hard your body worked to do it, and it drifts with heat, fatigue, caffeine and sleep. When the two disagree, that’s usually worth a follow-up question.
Climbing
“How much climbing did I do each week over the last two months?”
“Which of my recent rides had the most elevation gain?”
“Compare my climbing this month with last month.”
“What was my VAM on the main climb of Saturday’s ride?”
VAM is vertical meters climbed per hour. It lets you compare climbs of different lengths, and Claude can work it out from the altitude and time data.
If you want to estimate VAM or climb time before a ride, I built a climbing calculator on Useful Little Tools that works it out from gradient, weight and power. Elevation also varies by device: a barometric altimeter and GPS-only elevation can disagree on the same ride, so compare rides recorded the same way.
Comparing rides
“Compare my last three rides on the Three Bears loop.”
“Compare heart rate and power between Tuesday’s ride and Thursday’s.”
“Was I faster at a similar effort than I was six weeks ago?”
Be careful with comparisons. Speed on the same loop depends on wind, temperature, traffic, how fresh you were, which wheels you ran, and above all whether you were in a group. A solo ride and a fast group ride on the same roads aren’t comparable at all. Power at a given heart rate is a fairer comparison than speed, and even that moves with heat and fatigue.
Strava’s tool list for the connector doesn’t include segments, so Claude finds similar rides by name, date, distance or route. If every ride you own is called “Morning Ride,” give it the dates.
Consistency
“How many weeks this year did I ride at least four times?”
“What’s my average weekly riding time over the last 12 weeks?”
“Show me weeks where my riding time jumped more than 30% from the week before.”
Sudden jumps are worth finding, because that’s usually where fatigue piles up. Steady weeks tend to build more fitness than one huge week followed by a forced rest.
Cross-training
Strava lists cross-sport training as one of the things the connector is for, so anything you record counts: runs, strength sessions, swims, hikes.
“How much running am I doing alongside my riding?”
“Did my cycling volume drop when my running went up?”
“How many strength sessions did I log per week this winter?”
“What share of my total training time is on the bike?”
Gear
“How far have I ridden on each bike?”
“Which bike have I used for most of my rides this year?”
Useful Strava MCP prompts for road racers
Through the Berkeley Omnium I spend a lot of time around racers, and their training questions are mostly about two stretches: the build into a race and the recovery after it. These prompts are for exploring your own history around both.
Claude isn’t a coach here. It sees what you recorded, and it can’t see your sleep, your job, how your legs felt on race morning, or the plan you agreed with an actual coach.
“Compare my training volume in the six weeks before my last two races.”
Tell Claude which activities were the races, by name or date. It can’t always tell a race from a hard group ride.
“How much riding above threshold have I done in the last 30 days, and how does that compare with the 30 days before?”
Threshold here comes from the FTP in your Strava settings, so make sure it’s current.
“In Sunday’s crit, how many efforts over 150% of my FTP lasted longer than 10 seconds?”
A criterium is mostly repeated accelerations out of corners. Counting them shows what the race asked of you, and whether your interval sessions look anything like it.
“On my long rides this month, how did my power in the last hour compare with the first hour at a similar heart rate?”
Road races are usually decided late, when everyone is tired. How well you hold power then often matters more than a fresh five-minute number.
“Did my volume actually drop in the ten days before my last race?”
A taper is easy to plan and easy to abandon once race nerves kick in.
“After my last three race weekends, how many easy or rest days did I take before the next hard ride?”
How you recover shows up in the easy days between hard ones, and those are hard to see by scrolling the feed.
“Compare Saturday’s road race with my hardest group ride this month: time above threshold, peak power and average heart rate.”
Group rides often feel like races. This tells you whether yours are close enough to count as race practice.
“Find my longest rides from the last three months.”
If your next road race is longer than anything you’ve ridden recently, it’s better to find out now than in the last hour of the race.
Treat the answers as a starting point for a conversation with yourself, or with your coach, and check any number that would change a decision.
What a conversation looks like
Illustrative
I wrote this exchange to show the shape of a conversation. The numbers aren’t from my account or anyone else’s.
- Me
- How has my cycling volume changed over the last six weeks?
- Claude
- You rode 5.5, 6, 7, 6.5, 8 and 8.5 hours over the last six weeks, so this week is about 55% above the first. Most of the increase came in weeks three and five. Your longest ride grew from 2 hours 10 minutes to 3 hours 40.
- Me
- Was the increase mostly from longer rides or more riding days?
- Claude
- Mostly longer rides. You rode four days a week in five of the six weeks and five days in week four. Your average ride went from about 1 hour 20 minutes to just over 2 hours, mainly because your weekend rides got longer.
- Me
- Did my easy rides stay easy while that happened?
- Claude
- I counted rides averaging under 65% of your FTP as easy. Of those 14 rides, 11 spent most of their time in Zones 1 and 2. The other three were Tuesday group rides, with a lot more time in Zone 4.
Each follow-up builds on the last answer, because the Strava connection stays available for the whole conversation. I don’t have to export another file or paste activity data into the chat to ask the next question.
Strava MCP vs exporting your data
Use MCP for questions and follow-ups about your current data. Use an export when you want a complete copy of your history to analyze in your own tools.
| Question | Export | MCP |
|---|---|---|
| What Claude sees | A snapshot from the day you exported | Your current Strava data, read when it’s needed |
| How it gets there | You download it and upload it to a chat | Claude requests it through the connector |
| After your next ride | Out of date until you export again | Already included |
| Who can use it | Any Strava account, free or paid | Paid subscribers |
| Best for | Deep offline analysis, spreadsheets, your own scripts | Conversational questions and follow-ups |
Neither one is better in general. If I want to model a whole season in a notebook, I want the file. If I want to know whether last week was harder than it felt, I want the connector.
What Strava MCP can’t do
Is Strava MCP read-only?
Yes. Claude can read your Strava data through the connector, but it can’t upload, edit, rename or delete activities, or change anything else in your account.
So you can’t ask it to rename all those “Morning Ride” activities, fix a ride your head unit split in two, or post anything. The other limits are worth knowing before you rely on an answer:
- It only works with Claude for now. Strava says other AI assistants may follow.
- Its answers can differ from Strava’s own numbers. Strava says AI assistants process data differently, so Claude’s view can disagree with features like Performance Predictions or a Runna training plan.
- Strava’s tool list for it doesn’t include segments or saved routes, so don’t expect segment times or leaderboards.
- Requests are limited per minute and per day.
- It only knows what you recorded. Sleep, stress, illness and how your legs feel aren’t in Strava unless you tell Claude about them.
Check the math
When an answer would change what you do, like skipping a workout or changing a race plan, ask Claude how it calculated it and check a ride or two in Strava yourself.
Privacy, access and disconnecting
The connector uses OAuth. You approve access on Strava’s site, Claude gets a token instead of your password, and that token can only read your own account. Strava describes the access as read-only, scoped to your account and revocable at any time.
Once Claude reads your data, it’s part of that conversation, the same as anything you paste in, and Claude’s own connector security and privacy terms apply. Strava says it launched with Anthropic because it believes Anthropic will honor terms not to train models on your data without your consent.
GPS data shows where your rides start and finish, which is often your home. Think about that before you share a chat that includes routes or locations.
How do I disconnect Strava from Claude?
Revoke access on strava.com under Settings, then My Apps. That works no matter how you connected. You can also disconnect from Claude, the Strava app or Claude Code.
- Strava website
- Hover over your profile picture, click Settings, then My Apps, and click Revoke Access next to Claude.
- Strava app
- Tap You, then Settings, then AI Assistants. Tap Claude, then Disconnect.
- Claude
- Expand the sidebar and click Customize, then Connectors. Click Strava, then Disconnect.
- Claude Code
- Run
claude mcp remove strava-mcp. Claude Code also deletes the stored sign-in tokens when you remove a remote server.
What’s the difference between Strava MCP and the Strava API?
The Strava API is for developers building applications. Strava MCP connects an AI assistant to your own Strava data so you can ask questions in plain language. MCP doesn’t replace the API for building apps.
| Question | Strava API | Strava MCP |
|---|---|---|
| Built for | Developers building apps and services | Athletes asking an AI assistant about their own data |
| You handle | OAuth, tokens, endpoints, rate limits, storage, app logic and app review | Clicking Connect and approving access |
| Who it serves | Your app’s users. Up to 10 without review on Strava’s Standard tier. | Just you |
| Subscription | Required for Standard tier developers | Required |
| Using it with AI | Restricted by Strava’s API Policy | The route Strava supports |
The last row matters if you were planning to pull your rides through the API and feed them to a model. Strava’s API Policy (section 5.3) says API data can’t be used with AI applications, including putting it into a model’s context window, and it makes the Strava MCP the exception. Strava’s developer FAQ draws the same line: a single athlete who wants to use AI with their own data goes through MCP, with no app or review needed.
If you’re building a product other athletes will use, you still want the API, its review process and its rate limits. If you want answers about your own training, MCP gets you there without writing any code.
Official vs unofficial Strava MCP servers
Search GitHub for “Strava MCP” and you’ll find plenty of open-source servers. Until Strava launched its own connector, running one of these was the only way to use Strava with Claude over MCP. Most run with your own Strava API credentials and expose whatever their author decided to build.
Strava’s rules have changed since then. Its API Policy names the Strava MCP as the only authorized agent interface to Strava (section 3.5) and says developers may not operate any other MCP server that exposes Strava data (section 5.16). The developer FAQ also calls entering your API credentials on a third-party site that makes requests for you non-compliant.
- Strava’s official connector is the place to start for most subscribers, and it’s the only one Strava supports.
- Unofficial servers are still worth reading if you want to see how an MCP server is built. Running one against your account means managing your own keys and tokens, keeping it working as Strava’s API changes, and checking it against Strava’s current policy first.
- Features you read about in an unofficial server, such as write access or segment tools, don’t tell you anything about the official connector.
Why Strava is a good way to learn MCP
I like Strava as an MCP example because anyone who trains already understands the problem it solves.
- Without MCP
- Your training data is in Strava, your AI assistant is somewhere else, and you move data between them by hand.
- With MCP
- The assistant has an approved way to ask Strava for the data it needs.
If you’re learning how MCP works, each of its parts shows up in this one setup:
- MCP server
- Strava’s server at mcp.strava.com. It decides what can be read and how.
- MCP client
- Claude or Claude Code, the app that connects to the server on your behalf.
- Tools
- The actions the server offers, like
list_activitiesandget_activity_streams. Claude chooses which ones to call. - Authorization
- OAuth with read-only scopes. Strava’s published OAuth metadata for the server lists only read scopes, such as
activity:read_all. - External data
- Live data that never had to be exported, copied or indexed first.
- Agents
- Claude deciding to call two or three tools in a row to answer one question, as in the easy-rides example above.
If you’ve been reading about retrieval-augmented generation (RAG), MCP makes a useful contrast. RAG searches an index of documents built ahead of time, while MCP calls a tool and gets fresh data back. I built a semantic search playground on Useful Little Tools that shows how the retrieval side works, and the MCP documentation covers the protocol itself.
Sources
The setup steps, requirements and limits in this guide come from these first-party pages. Strava changes its menus from time to time, so if a step doesn’t match what you see, Strava’s help article is the place to check.
- Strava Help Center: What Is the Strava MCP Connector?
- Strava Help Center: Strava API and MCP FAQ
- Strava press release: Strava Launches MCP Connector
- Strava API Policy (sections 3.5, 5.3 and 5.16)
- Strava developer community: Strava API FAQ
- Claude directory: Strava connector
- Claude Help Center: Use connectors to extend Claude’s capabilities
- Claude Code docs: Connect Claude Code to tools via MCP
- Model Context Protocol: Introduction
Strava also explains why the connector needs a subscription and why it launched with Anthropic in its API and MCP FAQ.
Short answers
What is the Strava MCP connector?
It’s Strava’s official Model Context Protocol server. After you authorize it with OAuth, Claude can read your Strava activities, heart rate, power, pace and GPS data, training zones and gear, and use them to answer questions about your training. It’s read-only and included with a paid Strava subscription.
How do I connect Strava to Claude?
In Claude on the web or the desktop app, open Customize, then Connectors, click the + icon, search for Strava, click Connect and approve access on Strava. In Claude Code, run claude mcp add --transport http strava-mcp https://mcp.strava.com/mcp, then sign in from the /mcp menu.
Does Strava MCP require a subscription?
Yes. It’s included with paid Strava subscriptions, including the Strava + Runna bundle, the Family and Student plans, and the military, educator and medical discount plans. Free accounts can’t use it, and a trial gets access only once it converts to a paid subscription.
Can Claude analyze my Strava rides?
Yes. With the connector, Claude can read your rides and their heart rate, power, pace and GPS streams, along with your zones and gear, and answer questions about volume, intensity, climbing, consistency and cross-training. Its answers can differ from Strava’s own features, so check any number that would change a decision.
Is Strava MCP read-only?
Yes. The connector only reads data, and the OAuth scopes it requests are all read scopes. Access is limited to your own account, and you can revoke it at any time from your Strava settings.
Can Claude edit or upload Strava activities through MCP?
No. Through Strava’s official connector, Claude can’t upload, edit, rename or delete activities. It can only read them.
What’s the difference between Strava MCP and the Strava API?
The Strava API is for developers building applications, who handle OAuth, tokens, endpoints, rate limits and app review themselves. Strava MCP connects an AI assistant to your own Strava data so you can ask questions in plain language without writing code. Strava’s API Policy also restricts using API data with AI applications and makes the Strava MCP the exception.
How do I disconnect Strava from Claude?
On strava.com, open Settings, then My Apps, and click Revoke Access next to Claude. That works however you connected. You can also click Disconnect under Customize, then Connectors, then Strava in Claude, or run claude mcp remove strava-mcp in Claude Code.
Can I use an unofficial Strava MCP server instead?
Strava’s API Policy names the Strava MCP as the only authorized agent interface to Strava and says developers may not operate other MCP servers that expose Strava data. Read the current policy before you run an open-source Strava MCP server against your account.
The short version
Most of the value is in the follow-up questions, so connect it and start with something simple.
- Get a paid Strava subscription.
- In Claude, open Customize, then Connectors, and add Strava.
- Approve access on Strava.
- Ask about your last four weeks, then follow up.