MCP connector · Claude & ChatGPT

The coach that revises when you do.

Most plans are a PDF that judges you. This one is a living plan inside your chat. It builds a periodized block for any race from 10k to Ironman, then rewrites itself the moment you report what you actually did.

7
Race distances
8
Tools, one loop
0
Accounts, ever
The wedge

A plan is only as good as its next revision.

The model does the coaching conversation. The connector does what a model cannot do reliably: hold a structured plan, compute the delta when you log a session, and apply a codified ruleset to revise it. You talk. It re-plans.

01 · You report

What actually happened

No forms. Tell it in a sentence, the way you would tell a coach.

"Did 36 km in 1h30 instead of the easy spin, felt comfortable."

02 · It revises

The plan moves

It flags ahead_of_base, bumps the long-ride target toward peak, and pulls your first brick session earlier.

Revision logged with a reason you can read: your base is ahead of the plan.

How it works

Assess. Build. Adapt. Repeat.

Three moves, one continuous loop. The plan is structure and targets; the model handles pace, feel, and nuance in conversation.

STEP 01

Assess

It turns your plain-language intro into a structured profile and asks only the one to three questions it still needs. Honest hours, real baselines, no quiz.

STEP 02

Build

A six-phase periodized plan: Foundation through Taper, a step-back every fourth week, a rest day every week, and a long session that grows toward a race-specific peak.

STEP 03

Adapt

Log a session and it surfaces a signal. Performance, missed, disruption, weight, or pain, each one maps to a rule that revises only what is ahead, never stacking lost work.

Every distance

From a first 10k to a full Ironman.

Run-only for road races, full swim, bike, and run for triathlon. Each distance carries its own minimum block length, taper, and peak targets.

10K
from 8 weeks · run
HALF
from 10 weeks · run
MARATHON
from 16 weeks · run
SPRINT TRI
from 10 weeks · S/B/R
OLYMPIC TRI
from 14 weeks · S/B/R
70.3
from 20 weeks · S/B/R
IRONMAN
from 24 weeks · S/B/R
+ beginner
swim lessons, front-loaded
Eight tools, one loop

Everything the model needs, nothing it does not.

Tool calls only. No accounts, no database, no data at rest. The conversation carries the state; you can export it to a string and paste it back anytime.

build_plan

The generator

Periodized phases, weekly session mix, step-backs, taper, and a weight path that reaches goal before peak load. The hard part, done in code.

adapt_plan

The engine

Reads a trigger and the recent log, applies a tunable ruleset, revises only the upcoming sessions, and returns a reason for every change.

assess_athlete

The intake

Plain language to a structured profile, plus the questions still missing.

log_session

The signal

Actual against prescribed, with flags raised for the model to act on.

explain_session

The why

Purpose and cues for any session. Beginner swim guidance is first-class.

fuel_and_recovery

Fuelling and recovery

Eating around training, safe weight change, sleep, and race week, always guardrailed and never a crash deficit.

export_plan · import_plan

Portability

Save the whole plan as a string outside the chat, paste it back later, and pick up exactly where you left off. Stateless by design.

The adaptation ruleset

Five ways real life hits a plan.

Each trigger maps to a codified action with a reason the model speaks back to you. Tunable in config, enforced in code.

performance
Ahead of base? Pull the next progression forward. A session blew up? De-load two and confirm fatigue before assuming lost fitness.
missed
A clean week beats a heroic one. Reset the current week, never stack missed volume onto what comes next.
disruption
Pool closed, travelling, kit broke? Substitute same-system work, keep the phase goal, flex the means.
weight
Losing too fast or bonking on the long ones? Raise intake, protect training fuel, never prescribe a crash deficit.
pain
No intensity over pain. Strip it from the next sessions and surface an assessment if it is sharp, localized, or persistent.
guardrails
Ramp capped at 10 percent, a rest day every week, taper never re-inflated, weight rate never above 0.5 kg per week.
Safety is not a feature, it is the floor

The plan will not let you hurt yourself to hit a number.

The guardrails run in code on every build and every revision. They are not suggestions to the model; they are limits the model cannot cross.

  • Weekly volume jumps capped at 10 percent through the build phases.
  • At least one full rest day in every single week.
  • No weight deficit above 0.5 kg per week, and none during peak load.
  • Taper volume is protected and never re-inflated by later logic.
  • Any pain report strips intensity from the next sessions, automatically.
  • Chest pain, sharp pain, or under-fuelling routes you to a professional.
Add it in under a minute

Start where you are.

Add the connector in Claude or ChatGPT, say hello, and tell it what you are training for. The first plan lands in the same chat.

https://couchcoach.faridhumblot.tech/mcp

In Claude: Settings, Connectors, Add custom connector, paste the URL, auth none. In ChatGPT: enable Developer Mode, then add the app with the same URL.