WatchOut.run

Apple Watch & Garmin workouts, planned by Claude or ChatGPT.

Delivered as a link. Logged back to Strava when you're done.

https://mcp.watchout.run

Paste it in Claude → Settings → Connectors → Add custom connector.Add it on claude.ai in a browser — the mobile app can't add connectors yet, but once added it works there too.

No AI hooked up yet? The sample is a real workout page — open it and put it straight on your watch.
Don't run yet? Start with the nine-week walk/run plan — no assistant needed.

How it works

v1.56.0 · d20b315 · built 2026-08-09 15:41 UTC

How it works

1Connect

Add the URL above as a custom connector — pick your app up top for the exact clicks (added in a browser; the phone apps can use connectors, just not add them). Hook up Strava too: that's where your routes, paces and finished runs live. No account, nothing stored here.

2Get grilled

Say “set up my runner profile”. Your agent mines your history for your loops, hills and paces, confirms them with you once, and remembers.

3Run

Ask for a session — or a whole training plan — in plain words. One link back: workout onto the watch, events into your calendar.

4Log it

Afterwards, tell your agent how it went. It drafts the Strava update — title, notes, effort, labels — and hands you a link; one tap applies it from your own browser.

Bring your training history

The personal part comes from your own runs, and there are three ways in. With a Strava subscription, connect the official Strava connector in Claude → Settings → Connectors — Claude reads your routes, laps and paces itself (read-only; it can never post or change anything).

Or use WatchOut's own Strava connection — works from any client, ChatGPT included, and it's what powers the post-run logging too. One guided setup in your browser, then your recent activities are a copy-paste block away, with a full-fidelity export (laps, splits, streams, the lot) of any single run as one JSON file. Your Strava token lives in your browser and talks straight to Strava — this server never sees it.

No Strava at all? Strava gives everyone their data for free: Settings → My Account → Download or Delete Your Account → Request Your Archive (arrives by email). Drop the archive's activities.csv into a project (or straight into the chat) and say “set up my runner profile” — your agent builds the same profile from the file. A hand-written training log works too.

It knows your terrain

Your agent mines your own Strava history for the loops you actually run — lap lengths, the hills, where you can stop — and shapes every session around them. Reps that start at the same corner every lap. Warmups that end exactly where the intervals begin. Heart-rate targets instead of pace where pace lies: steep climbs, heat, cold.

Somewhere it has never seen — a race trip, a holiday town? It won't guess: it gets a real route first (save a suggested one in your Strava app and it reads it back), checks the actual terrain — distance, elevation, where the flat stretches are — and designs onto that. The workout page shows the route painted by grade, hills drawn as hills.

All of it runs on your data: a Strava connector, or training history you keep in your project. WatchOut.run stores nothing — and if your agent can't see any data, it will say so and ask you to connect Strava or describe your routes by hand.

Warmup 12 min @ 5:45 home → the lake
3× 2000m @ 4:25–4:20 + 2:00 rest + 867m float one lap each, same start corner
Cooldown 13 min @ 6:30 the climb home

Say it like this

“Set up my runner profile.”first time — your agent digs through your Strava and interviews you
“Threshold Thursday: 3×2000 at 4:25 with two-minute jog rests, from home at 18:00.”one link back — workout to the watch, event to the calendar
“Hills on Tuesday: 8×30 seconds hard uphill, jog back down between.”timed reps — no pace alert mid-sprint
“It's 30 degrees here — rebuild tonight's run by heart rate.”your agent checks the forecast and swaps pace for HR ranges when pace lies
“Build my next three weeks toward the half.”a whole plan as one link — every session onto the calendar, all of them to a Garmin in one go
“I'm in Sanary-sur-Mer next week — put Tuesday's threshold somewhere I can actually run it.”new territory: your agent gets a real route and grounds it in real terrain — distance, climbs, the flat stretch for the reps — before it plans
“That felt like an 8. Log it to Strava.”drafts the title, notes and effort onto today's activity — you approve with one tap, and see your route colored by where the plan held

What you get

  • Sessions shaped to your terrain: reps aligned to your lap lengths, hard efforts on the flat, HR on the climbs
  • Real .workout files (Apple WorkoutKit) — warmup, intervals (by distance or time), rests, cooldown, pace and heart-rate alerts
  • On Garmin? Every workout page has a one-tap Send to Garmin watch button (via a free intervals.icu account — 2-minute setup), plus the raw .fit file
  • Calendar events that open straight in Apple Calendar, workout link inside
  • Whole training plans as a single link — one page with every session, add-all-to-calendar and send-all-to-Garmin
  • Post-run logging to your Strava: your agent drafts the update, your browser applies it — the token never leaves it
  • Deterministic links — re-importing the same session never duplicates on the watch, and a retuned one replaces the old
  • No accounts, no cookies, nothing stored — your data stays with your own agent

For builders

GET  /w          shareable workout page (Apple + Garmin)
GET  /plan       whole training plan as one page
GET  /gen        .workout file (Apple)
GET  /fit        FIT workout file (Garmin)
GET  /ics        calendar event (.ics) · /plan.ics for the plan
GET  /icu        intervals.icu bridge (Garmin delivery)
GET  /route.gpx  course GPX from a polyline
GET  /build      browser generator
POST /mcp        MCP endpoint (Streamable HTTP)

Full documentation at /api · machine-readable OpenAPI spec.