Tempo’s MCP integration can now do more than read your fitness, wellness, and nutrition data. Connected assistants like Claude and ChatGPT can now create, update, and delete planned training workouts, and list training workout templates.
That means you can ask Claude to build out a training week, adjust an upcoming workout, remove a session that no longer fits, or start from one of your existing templates without opening each workout manually.
Why it helps
Planning becomes more conversational and less click-heavy. You can describe the change you want in plain language, review what the assistant is about to do, and keep your Tempo calendar aligned with your training goals faster.
How to try it
In Tempo on the web, go to Settings → AI Assistants and connect Tempo to Claude or ChatGPT using the hosted MCP setup.
Once connected, try prompts like:
“Show me my training workout templates, then create an endurance ride for next Tuesday using the closest matching template.”
“Update Friday’s planned workout to be 75 minutes instead of 60.”
“Delete the planned workout on Sunday because I’m racing that day.”
Note: MCP access requires a Premium subscription. As always, review assistant changes before relying on them for your training plan.
We’ve added a new tool to the Tempo MCP server that makes AI-built training plans dramatically more consistent: get_training_plan_building_protocol.
What it does
When you ask your AI assistant (e.g. Claude) to build or change a training plan — anything from “plan my next month” to “get me ready for my race” — it now fetches Tempo’s plan-construction protocol first and follows it, instead of improvising its own training methodology.
The tool returns Tempo’s structured plan-building guide, covering things like how to periodize a block, how to set weekly load progression, and a dedicated decision framework for choosing the right workout types for each session.
Why it matters
AI assistants are great at scheduling workouts, but left to their own devices they each invent slightly different training logic. This tool ensures every plan built through the Tempo MCP server follows the same proven methodology — grounded in your actual fitness data, events, and goals from the other Tempo tools.
Do I need to do anything?
No. The tool is read-only and the AI calls it automatically whenever it’s about to build or modify a multi-workout plan. You’ll simply notice that generated plans are more structured and consistent. If you’re curious, you can also just ask your assistant to “show me Tempo’s training plan building protocol.”
Interesting. A few days ago I already had a lengthy discussion and clarification about periodization and „his“ take on that.
In fact besides the general understanding of tapering, deloading I was thinking it was already a good fit especially given the fact that the key aspect and benefit of this AI approach is to have some objective arguments and help if life is happening and you have to change the plan from day to day.
I think it is already a good fit and a lot better than any other more static plans I had in the past (also Enduco was not that good even with their AI chat approach)
In your experience do think AI is forgetting the goal and the blocks over the longer term view? Will this tool factor in the events for the building blocks? That’s what I currently doing with a special calendar and a given protocol to get events or family appointments to plan.
So without giving the AI write access to events the process would be more challenging for me and my coach.
(Because I do not race anymore my A-Events or so are usually more like bigger trips or plans to give the planning more forecast ability)
That’s exactly the failure mode the protocol is built around. We assume the assistant’s chat memory can’t be trusted over weeks, so the protocol forces it to re-ground in your actual Tempo data every time: it re-pulls your fitness baseline and planned calendar before designing anything, and the block-selection logic explicitly looks at what you just did before choosing the next block’s emphasis. The plan’s “state” lives in your Tempo calendar and events, not in the conversation.
Events are a direct input to block construction. If your goal is event-driven, the protocol fetches your events, reverse-engineers the demand profile, increases specificity toward the date, and schedules the taper to land on it. And it doesn’t have to be a race — a big trip works exactly the same way. Family appointments and fixed rides are handled as “anchors”: the assistant asks for them up front and designs around them as immovable.
You’re right that the MCP is currently read-only for events. The good news is that planning around events only needs read access. Letting the AI create/edit events on your behalf is fair feedback though. I’ll add a tool for creating and updating them this week.
Please keep me posted about how your testing goes and if there’s anything that is not working as expected or could work better.
I will absolutely. Today was my first round and it was already a huge difference in planning. It felt more structured somehow. Especially with the protocol to actual check the server about the actual resulting TSS and other metrics.
Claude had to do some iterations because of a multi day team event in my personal calendar so he had to assume the stress and fatigue I guess. If such things then could be added (blocked days or so) I think the process could be more intuitive for the agent. But that’s just a feeling.
BTW: Yesterday i also discovered that the write tools for workouts actually write the correct target ranges. Something i could not successfully achieve with the web approach. Don’t know if this has changed lately too.
I had a big grin in the face after realizing because that was just another small step for closing the loop. I definitely enjoy working with Tempo. Thanks for all the work.
This made my day Glad to hear it’s meeting expectations for you so far.
Hmm I’ll look into it – they should be written the same way from both Web and MCP.
I’m working on adding support for writing events, and reading and writing notes. Then I’ll update the planning protocol to respect when there are notes scheduled to avoid scheduling on those dates.
When I created workouts for a specific target (you can’t choose a zone but only percentage of FTP so you have to remember and do the math yourself) my Wahoo showed a range of exactly one single value.
If I used a plan and altered it (changed to 3x12 minutes instead of 3x15) i had the ranges also.
So when we planned a „low Z2“ spin it was just helpful to not care about the values, Claude just did it and I was happy that the range was also showing correctly. I already expected to have only one single value as a target
When I created workouts for a specific target (you can’t choose a zone but only percentage of FTP so you have to remember and do the math yourself) my Wahoo showed a range of exactly one single value.
Oh, I understand what you mean now. Yeah, I opted for percentage of FTP, so you’d have more flexibility on setting the target, but I can add an option to choose from a power zone.
Also, I just released new MCP tools to manage calendar events and notes: [AI] New MCP tools to manage calendar events and notes . I also update the training plan protocol to take existing notes in the calendar into consideration when building the plan. Let me know if that helps!
it’s me again. I made another observation and maybe this is of interest for you. I don’t think it’s necessarily connected to the new plan building protocol tool but more about the tool to write trainings.
Claude put in some small sweet spot for today and on opening the app I was seeing it as planned for today. So all looked fine to me.
Before the session I switched on the Wahoo ROAM as usual and was wondering because it did not show the session. So I hit sync several times. Nothing happened.
I had another look in the app. The workout was there, showing as planned for „today“. I was already swearing and thought of some problems on the Wahoo side. So i digged deeper … and actually clicked on the workout … which was showing as planned for 2025-06-15. Yesterday. WTF!
So according to Claude the workout was saved for 2026-06-16 07:00 UTC (which is 9:00 Europe/Berlin). He admitted that he did this by himself. Okay so far so good. We changed the protocol to use 10:00 UTC as the new standard time for all workouts, which was okay for me.
Honestly I do not know who to blame here, but I kinda think it looks like Wahoo is doing strange time zone stuff.
Do you have more insights? Does it make sense to normalize this in the tool side?
Hey @bjoern.wolf , thanks for the detailed report — it was a real bug on the backend code. Because of a timezone issue, a workout scheduled for early in your local day was getting saved against the previous day in UTC. That’s why it looked right as “today” in the overview but showed the day before when you opened it — and why your ROAM didn’t pick it up for the right day. I pushed a fix that always anchors planned workouts to the correct calendar day, regardless of timezone. Thanks again for flagging it!
Hi @BDUBYA , sorry to hear you’re having trouble adding the Tempo MCP to ChatGPT. What browser are you using, and do you have any ad blockers enabled? I just followed the steps below to add it to my personal ChatGPT account with no issues. Could you give it a try and let me know if you’re still running into the same problem?
Hi @Marc, thank you for the feedback. These are the same steps I tried before. However, this time it worked. I wonder if, perhaps, I just tried too soon after creating my Tempo account.
Hey @Marc . Joni has been bugging me to get Tempo.ai for months and I finally did it last weekend and he helped me connect it to Claude to generate a custom race training plan. Super Cool right off the bat, and with a little tweaking it’ll be Amazing! Great Job! One question… Is there any way to upload these Tempo workouts into Zwift? If not, I should be able to run them off my Garmin head unit but for some reason not 100% of all suggested workouts have been successfully pushed to Garmin. One of these days I’ll join you guys on a gravel ride…
Glad Joni finally wore you down And yes, you should join us next time.
What tweaks were you thinking? Always keen to hear where it falls short.
On Zwift: I reached out to their partnerships team a while back but haven’t heard anything. I’ll follow up and see if there’s appetite for an integration.
On Garmin: I’ll dig into why some workouts aren’t making it to their cloud. If you can tell me which ones failed and roughly when, that’ll help me track it down faster.
I just remembered that the workout needs to have at least one interval in order for Tempo to upload it as it’s a requirement by Garmin and others. So just make sure that when Claude or another AI assistant builds a plan or adds a single workout to your calendar it has intervals if you want to see it in your head unit.