I use a Tonal to workout. I wanted to make my own custom plans for a long time, but I was never fully confident that I was doing the right thing when making plans, and they took a long time to make in the app. With Claude and the (unofficial) Tonal MCP this entire process not only becomes very easy, and it works better too!
Setup is a little roundabout as none of this is official but it’s worth it. I use Claude, but the instructions should be the same for any AI.
Seting up
There are three main components to my workflow: the Tonal MCP, a python script that consumes the same auth as the MCP to pull historical data, and Claude’s ability to read Apple Health.
You need to install the Tonal MCP which uses the unofficial Tonal TypeScript client. If you’re reading this and my PR hasn’t been merged yet, you might want to use my PR’s version as it includes more detailed information. Project-scoped should be fine for setup and helps avoid token burn on unrelated projects.
When you connect to Claude Code sessions from the iOS app, Claude can read your recent Apple Health workouts and use the Tonal MCP. If you don’t care about historical data, you’re done! If you do want historical data, you need my small Python script to pull all your workouts from Tonal.
Once the script runs, you’ll have a folder of CSVs with details from all of your historical Tonal workouts; Apple Health provides context for your off-Tonal workout history. We can start using the MCP to build a workout plan.
Lifting with Claude
I mostly love the Tonal, but I don’t usually love the coached classes, and the lack of customization for Daily Lift annoyed me a bit, and I would swap out workouts or end workouts early a lot. Claude mostly fixed these issues in one shot.
Example Prompt
Here’s an outline of the prompt I provided you can use to think about what context your agent should have:
Constraints
- Workout duration of around 20 minutes with enough time for rest; my VO2 max is very bad
- I want a program for 3-4 times a week
Equipment
- Photo of official Tonal accessories and all the non-Tonal accessories I use for Tonal workouts
- Non-Tonal stuff: Squat wedge, foam thing for hip thrusts, elastic bands
Limitations
- Historical leg injury that reduces my hinge angle / depth
- Less confident on RDLs and deadlifts due to hamstrings
Preferences
- Keep warmups and cooldown short, one set, and only when necessary
- I generally prefer not to change the Tonal setup much and stick to more sets of fewer movements
Results
The results surprised me a bit: Claude’s first try was really good. First, it gently corrected me. I initially said I wasn’t consistent about my workouts, but Claude pointed out I had been hitting the 3.5x a week goal for strength workouts, and I was getting more than the recommended 150 minutes of cardio a week.
Claude recommended a full body split in an A/B format so I get good coverage, and it told me (as other trainers have in the past) that just doing the movement consistently can help with ROM; given the other parameters, Claude offered a “bonus day” to focus on flexibility but told me it might be better to just focus on the core two workouts. Never a patient person, I decided to just start workout right away.
I then had one of my highest-volume, but still appropriately challenging, workouts on the Tonal ever. I wanted to tweak the time Claude assumed I needed for rest, especially on leg movements, as I went over the time limit a bit but if it was an upper-body workout I probably would have been on target. I also gave Claude more information and learned a lot about the current state of biomechanics research re: having a hamstring tight enough to use as a bowstring; the workout plan was tweaked a bit again.
My second and third workouts were appropriately challenging, the correct duration, and worked out exactly what I wanted. Success!

TL;DR: It Just Works
These Claude-designed workouts aren’t unique; they look similar to a million different plans littering the web now. There’s only so many ways to do a full body cable strength workout in 20 minutes. It’s easy for me to imagine someone reading this and thinking: “You really couldn’t figure out alternating between bench presses and squats on your own?”
The difference is the programs Claude made were great with no effort on my part. I am more confident the Claude-designed plan matches my goals and constraints as accurately as possible.
In other words, it just works, the highest compliment I can give any tech tool.
Unfortunately, there is one flaw: this experience has only encouraged me to start thinking about the next household appliance I want to get proper API access to. I’ve got a bed that needs proper local API access…
PS
The Tonal export script is also helpful if your insurance company reimburses you for fitness subscriptions with proof you used them. The first year I did that I had to take dozens of screenshots and cram them into the PDF, the year after I spent a lot of time with support trying to get an export from them. Now it’s self-serve!

Leave a Reply