Garmin and Strava MCP Servers: Getting Your Training Data Into Claude and ChatGPT
Dela
The short version, because most pages on this subject take four hundred words to get to it: Strava has an official MCP connector. Garmin does not.
So if you want Claude or ChatGPT to read your actual training history rather than the three numbers you pasted in, you have three routes. They are not equally safe, and they do not reach the same data.
This post is the practical one. If you want the background — what the Model Context Protocol is, and the questions to ask before you connect anything — that is a separate post, and it is worth reading first.
The three routes, side by side
| Route | Reads | Works with | What it costs you |
|---|---|---|---|
| Strava's own connector | Your Strava activities, in real detail | Claude first; other assistants as Strava adds them | A paying Strava subscription. Read-only, so it answers but cannot act |
| A community Garmin MCP server | Whatever that project chose to expose | Usually a desktop assistant only | Often your Garmin account password. Breaks when Garmin changes something |
| An app's own MCP server | Whatever that app already holds about you | Anything that accepts a custom MCP address | A link you have to treat like a password |
Strava: there is an official one
Strava built and runs its own MCP connector, launched during 2026. It is a hosted service, so there is nothing to install — you add it in your assistant, sign in to Strava through the normal permission screen, and approve the access.
Three things are worth knowing before you get excited.
It is read-only. It can describe your training. It cannot upload an activity, change a plan, or write anything back. For asking questions, that is the right design, and it is the safer half of the trade.
It is for paying subscribers. Strava has limited it to its subscription tier. If you are on the free level, this route is closed regardless of which assistant you use.
It launched with Claude. Strava rolled it out through Anthropic's assistant first, with other platforms described as coming later. By the time you read this that may have widened, so check Strava's own support pages rather than any article — including this one.
What it gives you is genuinely good: not just distance and time, but the detailed stream of a session — heart rate through the run, pace, elevation, power if you ride with a meter. That is enough for an assistant to say something specific about how a session actually went, rather than something generic about the week.
One thing to read before you trust a third-party Strava tool
A third-party Strava MCP project you find today may not exist in six months. Strava's own connector is the route Strava supports, and independent tools built on Strava data have a history of disappearing when the rules or the interfaces change. That is a poor foundation for anything you intend to rely on — if a third-party Strava tool matters to you, read Strava's current developer terms yourself before building a habit around it.
Garmin: no official server, and a password problem
Garmin has not shipped an MCP server. What exists is a healthy crowd of community projects, most of them on GitHub, most of them written by one person for their own use and generously shared.
Some are good. But there is a trap in this category that nobody selling you on them mentions, and it is the most important paragraph in this post.
Many Garmin MCP servers ask for your Garmin Connect username and password. Not a permission screen, not a token you can switch off — your actual account login, saved in a configuration file on your computer.
They do this because they are not using an official interface. They log in as you, the way the website does, and read the pages. That is why they can reach so much data, and it is exactly why it is a bad trade:
- There is no scope. A password is not "read my runs". It is everything, including the ability to change your account.
- There is no revoke button. With a proper permission screen you can withdraw access in a few seconds. To withdraw a password you have to change your password.
- It is stored in plain text. Typically in a settings file your assistant reads at startup. Anything else on that machine can read it too.
- It breaks. Unofficial access depends on pages not changing. When Garmin changes them, the tool stops, usually without explaining why.
- It may be against the terms you agreed to. Automated logins generally are.
A smaller number of projects avoid all of that by using Garmin's official developer access with a proper permission screen instead of a password. Garmin has also been widening official access for developers, so this group should grow. If you are choosing a Garmin MCP server, that distinction — permission screen or password — matters more than how many features it lists.
If you would rather not run anything yourself, note that connecting Garmin to an app that already holds your data is a different and much better-understood thing. That is what our own Garmin integration does, and the same goes for Strava.
The distinction that explains most of the confusion
This catches people out, and it has nothing to do with Garmin or Strava.
MCP servers come in two shapes. A local server is a program running on your own computer. A remote server is a web address.
Almost every community Garmin project is local. That means it only works with an assistant installed on that same machine, it only works while the machine is awake, and it cannot be reached from your phone. If you have installed a Garmin MCP server and cannot work out why ChatGPT in a browser cannot see it, that is the answer: it was never going to.
Remote servers are the opposite. They are a web address you paste in, they work from any device, and there is nothing to keep running. The trade is that a web address holding your data has to be protected somehow — by a sign-in, or by the address itself being secret.
| Local server | Remote server | |
|---|---|---|
| Setup | Install and configure software | Paste an address |
| Works on your phone | No | Yes |
| Works when your laptop is shut | No | Yes |
| Where your credentials sit | A file on your machine | With whoever runs the server |
| Typical fitness example | A community Garmin project | Strava's connector, or an app's own |
How ours works
Lactate Training runs a remote MCP server, and the honest reason it is worth describing is that it sidesteps both problems above: there is no software to install, and it never asks for your Garmin password, because your data is already in the app.
The app generates a private address for your account. You paste that into Claude or ChatGPT as a custom connector, and the assistant can then read your training data by asking for it. The connector is available on the app's paid plans.
Two details matter more than the feature list.
The address is the credential. There is no separate sign-in — which is why the setup screens tell you to choose "no authentication" — so the address itself is a password in URL form. Treat it that way. Do not paste it into a forum, a screenshot, a shared document or a group chat. The app keeps it hidden on screen until you deliberately reveal it, and it stores it in your device's secure keychain rather than ordinary settings. Anyone holding that address can read your account.
You choose read-only or read-and-edit. Read-only is the safe default and does everything most people want. On the reading side the assistant can see a summary of your recent training, your health and sleep picture, your recent sessions and the detail inside any one of them, your plan calendar, your daily check-ins, your questionnaire answers and your coaching reminders — a dozen distinct things it can ask for.
Turn editing on and it can also do roughly nineteen things, which is where you should slow down. It can write a check-in, save feedback on a session, update your questionnaire or your coaching preferences, create and change plan sessions, log a session you did without your watch, trigger a fresh analysis, and push a workout to your Garmin. Every one of those asks you to confirm before it happens, and it only ever touches your own account.
Two smaller things. Distances come back in whatever unit you chose in the app, so if you work in miles you get miles rather than a quiet conversion. And the address has an expiry date, with a reminder before it lapses — a link that lives forever is a link you forgot you created.
Connecting it, roughly
I am deliberately vague about the exact clicks, because both assistants rearrange these screens often and a wrong instruction wastes more of your time than none at all. The shape is stable.
- Find the connectors or custom-integration area in your assistant's settings.
- Choose to add a custom one, give it a name and paste the address.
- When asked how it should sign in, choose the option for no sign-in. The address is doing that job.
- In a conversation, switch the connector on for that chat. Assistants do not usually enable a new one everywhere by default.
- Ask something small first — "summarise my last two weeks" — and check the answer against what you know you did.
Two caveats. Free and lower assistant tiers often cap how many custom connectors you can add, sometimes at one. And ChatGPT's support for custom MCP servers has moved around, with some documentation pointing at business and education plans — so if the option is not where you expect, that is the likely reason rather than anything being broken.
What none of this fixes
Access solves the copying and pasting. It does not solve the two things that actually ruin answers.
Bad inputs produce confident nonsense. If your watch is working from a maximum heart rate guessed from your age, or a threshold that has not updated in months, then every zone-based number downstream is wrong — and an assistant will reason beautifully from a false premise. Fix the inputs before you wire anything up. If you are unsure which of your numbers are measured and which are inferred, start here.
It still does not know your life. Your data does not contain your job, your childcare, or the fact that you are dreading this race. That gap is the strongest argument for keeping a human in the loop, and more data access does not close it.
And the line that runs through everything here: your watch is very good at measuring and quite bad at telling you what to do next. An MCP connection moves the measuring closer to the asking. Deciding is still a separate job.
Frequently asked questions
Does Garmin have an official MCP server?
No. Garmin has not released one. Every Garmin MCP option available today is a community project, and most run locally on your own computer. Garmin has been widening official developer access, so that may change — check Garmin's own developer pages rather than an article.
Is there a Strava MCP server?
Yes, an official one that Strava builds and hosts. It is read-only, limited to paying Strava subscribers, and launched with Claude before other assistants. Add it from inside your assistant's connector settings and approve the access through Strava's own permission screen.
Can ChatGPT read my Garmin data?
Only through something that already holds that data and offers a remote MCP address — a local Garmin project on your laptop cannot be reached by a browser. Support for custom MCP servers in ChatGPT has also varied by plan, so check what your account allows before assuming it is a setup problem.
Is it safe to give a Garmin MCP server my password?
I would not. A password gives unlimited access to your whole Garmin account, cannot be narrowed to "read my runs", and cannot be withdrawn without changing it. Prefer anything that uses a proper permission screen, and if the only option wants your login, decide whether the convenience is genuinely worth that.
What is the difference between a local and a remote MCP server?
A local server is software on your own machine, so it only works with an assistant on that machine and only while it is running. A remote server is a web address, so it works from any device including your phone. Most community Garmin tools are local; Strava's connector and app-provided servers are remote.
Can an MCP connection change my training plan?
Some can, if you allow it. Strava's connector cannot — it only reads. Our own server has a read-only mode and a read-and-edit mode, and editing asks you to confirm each change. Start read-only: a wrong answer you can ignore, whereas a wrong edit is already in your records.
Close the gap between measuring and deciding
Every route above still waits for you to think of the question. Lactate Training does the other half of the job: it syncs your Garmin activities and health data, sets your zones from your lactate threshold rather than a guessed maximum, and builds and adapts a plan without being asked — in 24 languages.