← All articles
claude-running-coachai-running-coachchatgpt-running-planmcprunningmarathon-training

Claude Running Coach: Make Claude or ChatGPT Coach You

Claude and ChatGPT can coach a runner well, but only once they can read your runs. How to connect Garmin, COROS or Apple Watch data, plus prompts to paste.

Claude can coach a runner. It has just never seen you run.

You ask Claude to build you a 16-week marathon plan. You tell it you run about 40 km a week and want to go under 3:30. Thirty seconds later you have a beautiful plan: base phase, threshold work, long runs climbing to 32 km, a three-week taper. It reads like something a good coach would write.

Then you look closer. Your easy pace is a guess. The threshold sessions assume a fitness level it invented from one goal time. The long run in week 3 is longer than anything you have run since spring, and it has no idea you have been sleeping badly for a fortnight.

That is the whole problem with using Claude as a running coach, and with ChatGPT running plans in general. The model is good at the coaching. It is blind to the runner.

Why the plan looks right and still fits nobody

Large language models have read the running literature. Ask Claude about polarized training, lactate threshold, the long run in marathon preparation or why your heart rate drifts in the heat, and the answer is usually solid. That is not the bottleneck.

The bottleneck is input. A human coach asks for your last 8 to 12 weeks of training before writing a single session, because the plan has to start from where you actually are. A chat window starts from whatever you remember to type. So when people ask "are ChatGPT running plans good?", the honest answer is that the structure is fine and the sizing is fiction.

You can see it in three places:

  • Paces. Without a recent race or threshold effort, the model back-solves your training paces from a goal time. If the goal is ambitious, every easy run comes out too fast.
  • Volume. It cannot see that your "40 km a week" was 40 km twice in the last two months and 25 km the rest of the time.
  • Feedback. It never finds out how the session went. You ran the intervals 10 seconds per km slower than prescribed with your heart rate pinned, and the plan keeps marching.

The fix is not a cleverer prompt. It is giving the model your data, in a form it can query on its own.

What MCP changes

The Model Context Protocol is an open standard that lets an AI client call external tools. A server lists its tools (get my runs from this window, compute my pace curve, push this workout to my watch), and the model decides when to call them. Claude speaks it, ChatGPT speaks it, and so do Cursor and Perplexity.

For running, that means you stop describing your training and the model starts reading it. "How did my long runs go this block?" becomes a tool call that returns the actual runs, with pace, heart rate and distance, and the answer is about you. Our overview of fitness MCP servers covers the wider landscape; here is what matters for runners.

Five ways to give Claude or ChatGPT your runs

There is no single right route. They trade setup effort against what the model can see and do.

1. Paste it or upload a CSV

Export your activities from your watch platform and drop the file into the chat. It costs nothing and works today.

It also goes stale the moment you finish your next run, only covers what you exported, and asks the model to do arithmetic over a large table of text, which is where mistakes creep in. Fine for a one-off question about a single block. Tiring as a weekly habit.

2. Strava's official MCP connector

Strava launched its own MCP connector on June 1, 2026, read-only, for Strava subscribers, with Claude support at launch. If Strava is where your runs live and you already pay for a subscription, this is the clean way to get Strava data into an AI client.

It reads Strava and nothing else, so sleep, HRV and resting heart rate from other devices are not in the picture, and being read-only it cannot put a workout on your watch. It is also the only sanctioned route for Strava data: Strava's API agreement does not allow third-party tools to serve Strava data to AI clients, which is why athletedata does not serve Strava over MCP. A Strava export you upload yourself stays readable.

3. A self-hosted Garmin MCP server

Open-source projects such as Taxuspt/garmin_mcp (MIT licensed, around 1.4k GitHub stars, 110+ tools, read and write) run on your own machine and talk to Garmin Connect. They are free and capable.

The catch is authentication. They log in with your Garmin email and password, plus MFA, by mimicking the Garmin mobile app, with tokens that last around six months. It is unofficial, so a change on Garmin's side can break it, and the process has to be running whenever you want to ask a question. Our Garmin MCP server guide compares this approach with a hosted one in detail.

4. Garmin's Personal API, built yourself

Since October 2026 Garmin lets individuals create a Personal API key for their own data. It is official and covers activities, FIT files and health data. It is also pull-only with no Training API, so nothing goes back to the watch, and Claude cannot call a key directly: you write and host the MCP server that holds the key and turns it into tools. The Garmin Personal API guide walks through what that build involves.

5. A hosted connector

athletedata is a hosted MCP server: you connect your apps once on the dashboard, paste one personal URL into Claude or ChatGPT, and the model can query 39 apps through it. For runners that means Garmin, COROS, Polar, Suunto, Apple Health, Intervals.icu, TrainingPeaks and Zwift for running, plus Oura, WHOOP, Withings and others for sleep and recovery, all deduplicated into one history. It also ships the write tools the read-only routes lack. It is listed in Anthropic's Claude Connectors Directory and has setup pages for Claude, ChatGPT and other clients on the MCP page.

Two limits worth knowing. Strava is excluded, for the reason above. And Garmin's Health API only backfills about 30 days when you first connect, so for a longer history you request Garmin's Export Your Data archive and upload the ZIP.

What a running coach in Claude can do with your data

Raw activity lists are a start, but the useful part is the analysis tools. These are the ones runners lean on, by their tool names, so you know what to ask for.

Predict a race time as a range, not a fantasy

get_race_prediction returns a finish-time band for a 5k, 10k, half, marathon or any distance in km, along with what it rests on: a recent race at the distance, your stored threshold pace, or an estimate from your pace curve. For the marathon, the slow end of the band widens when your longest recent run is short, because a 3:20 fitness level on a 21 km longest run is not a 3:20 marathon. Ask "can I run sub-3:30 in Berlin?" and you get a range with its reasoning, not a number pulled from a goal.

See your real pace curve

get_pace_curve returns your best average pace for each duration, computed from per-second data where your files have it. An effort buried inside a longer run counts, so you do not need to have run a time trial. It is the honest input for setting training paces with something like Jack Daniels' VDOT system.

Check whether your easy runs are easy

This is the question most self-coached runners get wrong. Seiler and Kjerland (2006, Scandinavian Journal of Medicine and Science in Sports) described elite endurance athletes doing the large majority of their sessions at low intensity, the observation behind the 80/20 rule. Plenty of amateurs drift the other way, into moderate efforts that are too hard to be easy and too easy to be quality.

get_intensity_distribution splits your running time into easy, moderate and hard, overall and week by week. It counts endurance sessions only (walks and strength are excluded by design) and reports how many sessions had no zone data rather than scoring them as easy. Pair it with the zone 2 training guide if the answer comes back "mostly moderate".

Track fitness, fatigue and the long run

get_pmc_status returns your fitness, fatigue and form numbers (CTL, ATL and TSB), with a note when today is still in progress so the model does not tell you your fitness is falling at 7am. reality_check_goal grounds a numeric goal with a timeframe against your recent volume and trend, and lays out what is realistic at your current weekly hours versus a higher one. That is the sanity check every ambitious marathon goal deserves before week one.

Put the session on your wrist

push_workout_to_watch sends a structured run (warmup, repeats, recoveries, cooldown, with pace or heart rate targets) to Garmin through Garmin's native Training API, to COROS through its connected account, and to Apple Watch through the athletedata iPhone app, which pulls Run and Ride workouts. If you run with a Stryd pod, power targets come through as the watch's native power alert. The guide to pushing workouts to your watch covers the device side.

Pull official marathon splits

race_results_lookup fetches official results from public databases, including the Berlin, Boston, Chicago, London and New York marathons. Marathon results carry every timing mat with the cumulative time, the segment split and the pace, which is exactly what you need to answer "where did I lose it last year?" Your watch has the GPS file. It does not have the chip splits or your placement.

Claude running coach prompts you can paste

These assume your data is connected. Without a connection the model will still answer, confidently, from nothing, which is the failure this whole guide is about.

Block review:

Pull my runs from the last 8 weeks. Give me weekly volume, the longest run each week, and my intensity split week by week. Then tell me in three sentences what this block was actually training.

Are my easy runs easy:

Check my intensity distribution for the last 6 weeks. If less than three quarters of my running time was easy, list the five runs that pulled it up, with their pace and average heart rate, and tell me what my easy pace should be instead.

Goal check before a plan:

I want to run a sub-3:30 marathon on [date]. Get my race prediction for the marathon, my fitness and fatigue numbers, and my longest run in the last 6 weeks. Tell me whether the goal is realistic, what time range is honest today, and what would have to change to make 3:30 likely.

Session to the watch:

Build tomorrow's session: 15 minutes easy, 5 x 1 km at my current threshold pace with 90 seconds jog recovery, 10 minutes easy. Use my pace curve to set the threshold pace, show me the workout, and push it to my watch once I confirm.

Post-race debrief:

Look up my official result for the [year] Berlin Marathon under [full name]. Compare my 5 km splits against my training in the 10 weeks before it and tell me whether the fade in the second half looks like pacing, fuelling or fitness.

If you build a Claude Skill for running, use it for your coaching philosophy: how you like plans laid out, your preferred session types, the rules you want followed. The Skill holds instructions. The MCP connection holds the data. A running coach needs both.

Claude vs ChatGPT as a running coach

Both are capable. For running, the deciding factor is rarely the model and almost always what it can see and do.

What is the same: both speak MCP, so the same connector gives both the same tools against the same history. A race prediction or intensity split comes from the tool, not the model's memory, so the numbers match whichever client you ask.

What differs is access. ChatGPT supports custom MCP apps on paid plans (Plus, Pro, Business, Enterprise and Education), added on chatgpt.com in a browser rather than the phone app; on the free plan you cannot add one. Claude adds connectors from its connectors settings, and athletedata is listed in Anthropic's Claude Connectors Directory. Strava's official connector launched with Claude support, so if Strava is your main source, check Claude first. The ChatGPT setup page and our guide on connecting training data to ChatGPT and Claude cover the steps for each.

Use whichever assistant you already live in. Switching assistants does not fix a missing data connection; adding the connection does.

Where MCP in your own AI stops and a coach starts

An MCP connection is reactive. It answers what you ask, when you ask, as well as you ask. For a lot of runners that is exactly right: you plan your own training, you want a sharp analyst on call, and you enjoy the conversation. That is athletedata's MCP tier at $9/month or $69/year, with every analysis and write tool above included.

What it does not do is notice things on its own. It will not message you that your easy runs crept up 15 seconds per km this week, move Thursday's intervals because you slept four hours, or rebuild the plan after a missed long run. That is a coach, and it is a different product: a proactive coach on WhatsApp, Telegram or iMessage that reads every session as it lands, keeps an adapting plan, and pushes each day's workout to your watch. Coaching is $39/month. Both start with a 7-day free trial, and the AI running coach page and AI marathon coach page show what the coaching side looks like for each.

A simple rule: if you would happily open Claude three times a week and ask, the MCP tier is enough. If you want someone else watching, you want the coach.

Putting it together: a Claude running coach in six steps

  1. Pick your data route. Strava-only runner with a subscription: Strava's official connector. Tinkerer who wants free and local: a self-hosted Garmin MCP server. Multiple devices, or you want sessions pushed to your watch: a hosted connector.
  2. Load your history. Connect your watch platform, then upload an export archive if you want more than the roughly 30 days Garmin backfills on its own.
  3. Connect your AI client. Add the MCP URL to Claude, or to ChatGPT on a paid plan from chatgpt.com in a browser.
  4. Start with a block review, not a plan. Ask for 8 weeks of volume, long runs and intensity split before you ask for anything new.
  5. Set paces from evidence. Use the pace curve and race prediction band, not your goal time, to set easy, threshold and race paces.
  6. Close the loop weekly. Every week, ask how the key sessions went against their targets, and push the next quality session to your watch.

The model was never the weak link. Give it your runs and it stops coaching an average runner and starts coaching you.

Questions

can claude be a running coach?+

Yes, once it can read your training. Claude reasons well about pacing, polarized training, tapers and long-run progression, but on its own it only knows what you type into the chat. Connect your watch data through an MCP server and it can check your actual paces, heart rate and weekly volume before it answers, which is the difference between generic advice and coaching.

is claude or chatgpt better as a running coach?+

For running specifically, the bigger difference is data access, not the model. Both speak MCP and can call the same tools against the same training history. The practical differences are access: ChatGPT needs a paid plan (Plus, Pro, Business, Enterprise or Edu) to add a custom MCP app, and Strava's official connector launched with Claude support first.

are chatgpt running plans good?+

A plan ChatGPT writes from a chat prompt is usually structurally sound: easy runs, one or two quality sessions, a long run that grows, a taper. What it cannot do is size that plan to you, because it has never seen your recent volume, your real easy pace or how your last long run went. Give it your data over MCP and the same model writes a plan anchored on your numbers instead of on averages.

can claude read my garmin or strava runs?+

Garmin, yes, through an MCP server: a hosted connector using Garmin's official OAuth, a self-hosted community server that logs in with your Garmin password, or one you build on Garmin's Personal API. Strava data comes through Strava's own official MCP connector, launched in June 2026 for Strava subscribers, because Strava's API agreement does not allow third-party tools to serve its data to AI clients.

can an ai running coach put workouts on my garmin or apple watch?+

Yes, if the connector has write tools. athletedata's push_workout_to_watch sends a structured run with warmup, repeats, recoveries and pace or heart rate targets to Garmin through Garmin's Training API, to COROS through its connected account, and to Apple Watch through the athletedata iPhone app. Read-only connectors, including Strava's and Garmin's Personal API, cannot push anything to a watch.

what is a good claude running coach prompt?+

A good prompt names the question, the window and the decision you want made, and tells the model to use your data rather than guess. For example: pull my runs from the last 8 weeks, tell me what share of my running time was easy, and say whether my easy runs are actually easy. The prompts only work if the model has a data connection; without one it will answer anyway, from nothing.

Related

A coach that texts you first.

After every workout and night of sleep, it messages you with the analysis and what to change. Free for 7 days.

Loved by 30,000 runners, cyclists, and triathletes worldwide