Updated version with a sample workout

This commit is contained in:
Isaac Johnson 2026-01-30 07:27:12 -06:00
parent 9a19b884ff
commit 014c5a3ee6
22 changed files with 223 additions and 7 deletions

1
.gitignore vendored
View File

@ -189,3 +189,4 @@ poetry.toml
pyrightconfig.json pyrightconfig.json
# End of https://www.toptal.com/developers/gitignore/api/python,linux # End of https://www.toptal.com/developers/gitignore/api/python,linux
*Zone:Identifier

12
MyWorkout/Barbell_Row.md Normal file
View File

@ -0,0 +1,12 @@
# Barbell Row
**Type:** Pull
## Steps
1. Stand with feet shoulder-width apart
2. Hinge at hips and grip barbell
3. Row barbell towards your torso
4. Lower barbell back down
## Visual Reference
![Barbell Row](./Barbell_Row.png)

BIN
MyWorkout/Barbell_Row.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

12
MyWorkout/Bench_Press.md Normal file
View File

@ -0,0 +1,12 @@
# Bench Press
**Type:** Push
## Steps
1. Lie on a flat bench
2. Grip barbell at shoulder width
3. Lower barbell to chest
4. Press barbell up until arms are fully extended
## Visual Reference
![Bench Press](./Bench_Press.png)

BIN
MyWorkout/Bench_Press.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 MiB

View File

@ -0,0 +1,12 @@
# Bicycle Crunch
**Type:** Core
## Steps
1. Lie on your back with hands behind head
2. Bring one elbow towards the opposite knee
3. Extend the other leg
4. Alternate in a cycling motion
## Visual Reference
![Bicycle Crunch](./Bicycle_Crunch.png)

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

12
MyWorkout/Calf_Raises.md Normal file
View File

@ -0,0 +1,12 @@
# Calf Raises
**Type:** Knee_hip
## Steps
1. Stand with feet hip-width apart
2. Rise up onto the balls of your feet
3. Hold the top position briefly
4. Lower heels back down
## Visual Reference
![Calf Raises](./Calf_Raises.png)

BIN
MyWorkout/Calf_Raises.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 915 KiB

12
MyWorkout/Dead_Bug.md Normal file
View File

@ -0,0 +1,12 @@
# Dead Bug
**Type:** Core
## Steps
1. Lie on your back with arms extended towards ceiling
2. Raise legs with knees bent at 90 degrees
3. Lower opposite arm and leg while keeping back on floor
4. Return and alternate sides
## Visual Reference
![Dead Bug](./Dead_Bug.png)

BIN
MyWorkout/Dead_Bug.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

12
MyWorkout/Lat_Pulldown.md Normal file
View File

@ -0,0 +1,12 @@
# Lat Pulldown
**Type:** Pull
## Steps
1. Sit at lat pulldown machine
2. Grip the bar with hands slightly wider than shoulder width
3. Pull the bar down towards your chest
4. Slowly return to starting position
## Visual Reference
![Lat Pulldown](./Lat_Pulldown.png)

BIN
MyWorkout/Lat_Pulldown.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

View File

@ -0,0 +1,12 @@
# Mountain Climbers
**Type:** Core
## Steps
1. Start in plank position
2. Bring one knee towards your chest
3. Quickly switch legs in a running motion
4. Maintain a steady pace
## Visual Reference
![Mountain Climbers](./Mountain_Climbers.png)

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

View File

@ -0,0 +1,12 @@
# Overhead Press
**Type:** Push
## Steps
1. Stand with feet shoulder-width apart
2. Hold dumbbells at shoulder height
3. Press weights overhead until arms are fully extended
4. Lower back to starting position
## Visual Reference
![Overhead Press](./Overhead_Press.png)

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

36
MyWorkout/Plan.md Normal file
View File

@ -0,0 +1,36 @@
# 4-Day Workout Plan: Weight Loss
**Target Audience:** Age 40-50
## Day 1
**Session:** Day 1 Weight Loss Focus
| Type | Exercise | Sets/Reps |
|---|---|---|
| Push | [Bench Press](./Bench_Press.md) | 3x10 |
| Pull | [Lat Pulldown](./Lat_Pulldown.md) | 3x10 |
| Knee_hip | [Calf Raises](./Calf_Raises.md) | 3x10 |
| Core | [Bicycle Crunch](./Bicycle_Crunch.md) | 3x10 |
## Day 2
**Session:** Day 2 Weight Loss Focus
| Type | Exercise | Sets/Reps |
|---|---|---|
| Push | [Overhead Press](./Overhead_Press.md) | 3x10 |
| Pull | [Barbell Row](./Barbell_Row.md) | 3x10 |
| Knee_hip | [Walking Lunges](./Walking_Lunges.md) | 3x10 |
| Core | [Mountain Climbers](./Mountain_Climbers.md) | 3x10 |
## Day 3
**Rest & Recovery**
- Light walking or stretching.
## Day 4
**Session:** Day 4 Weight Loss Focus
| Type | Exercise | Sets/Reps |
|---|---|---|
| Push | [Overhead Press](./Overhead_Press.md) | 3x10 |
| Pull | [Lat Pulldown](./Lat_Pulldown.md) | 3x10 |
| Knee_hip | [Walking Lunges](./Walking_Lunges.md) | 3x10 |
| Core | [Dead Bug](./Dead_Bug.md) | 3x10 |

View File

@ -0,0 +1,12 @@
# Walking Lunges
**Type:** Knee_hip
## Steps
1. Step forward with one leg
2. Lower hips until both knees are bent at a 90-degree angle
3. Push off with your front foot to return to starting position
4. Repeat with the other leg
## Visual Reference
![Walking Lunges](./Walking_Lunges.png)

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

View File

@ -2,10 +2,9 @@
"id": "workout-maker", "id": "workout-maker",
"name": "WorkoutMaker", "name": "WorkoutMaker",
"description": "Create workout plans, sessions, and exercise pages with visual prompts.", "description": "Create workout plans, sessions, and exercise pages with visual prompts.",
"version": "1.0.1", "version": "1.0.3",
"mcpServers": [ "mcpServers": {
{ "workout-maker": {
"id": "workout-maker",
"name": "Workout Maker Server", "name": "Workout Maker Server",
"transportType": "stdio", "transportType": "stdio",
"command": "docker", "command": "docker",
@ -13,8 +12,8 @@
"run", "run",
"-i", "-i",
"--rm", "--rm",
"idjohnson/workoutmcp:latest" "idjohnson/workoutmcp:0.3"
] ]
} }
] }
} }

View File

@ -11,7 +11,7 @@ mcp = FastMCP("workout_mcp")
class ExerciseType(str): class ExerciseType(str):
PUSH = "push" PUSH = "push"
PULL = "pull" PULL = "pull"
KNEE_HIP = "knee_hip" # Combined for simplicity or split if needed. Prompt said "knee/hip dominent". KNEE_HIP = "knee_hip" # Combined for simplicity or split if needed. Prompt said "knee/hip dominant".
CORE = "core" CORE = "core"
OTHER = "other" OTHER = "other"
@ -71,6 +71,78 @@ EXERCISE_DB = {
type=ExerciseType.CORE, type=ExerciseType.CORE,
steps=["Sit on the floor with knees bent", "Lean back slightly", "Twist torso to one side, then the other", "Hold a weight for added resistance if desired"], steps=["Sit on the floor with knees bent", "Lean back slightly", "Twist torso to one side, then the other", "Hold a weight for added resistance if desired"],
image_prompt="A fit character performing russian twists, gym background, front view, correct form" image_prompt="A fit character performing russian twists, gym background, front view, correct form"
),
"bench_press": Exercise(
name="Bench Press",
type=ExerciseType.PUSH,
steps=["Lie on a flat bench", "Grip barbell at shoulder width", "Lower barbell to chest", "Press barbell up until arms are fully extended"],
image_prompt="A fit character performing a bench press with barbell, gym background, side view, correct form"
),
"incline_pushup": Exercise(
name="Incline Push Up",
type=ExerciseType.PUSH,
steps=["Place hands on an elevated surface", "Assume plank position with elevated hands", "Lower body until chest nearly touches surface", "Push back up"],
image_prompt="A fit character performing an incline pushup on a bench, gym background, side view, correct form"
),
"dips": Exercise(
name="Dips",
type=ExerciseType.PUSH,
steps=["Grip parallel bars with arms extended", "Lower body by bending elbows", "Push back up to starting position"],
image_prompt="A fit character performing dips on parallel bars, gym background, side view, correct form"
),
"lat_pulldown": Exercise(
name="Lat Pulldown",
type=ExerciseType.PULL,
steps=["Sit at lat pulldown machine", "Grip the bar with hands slightly wider than shoulder width", "Pull the bar down towards your chest", "Slowly return to starting position"],
image_prompt="A fit character performing a lat pulldown on a machine, gym background, front view, correct form"
),
"barbell_row": Exercise(
name="Barbell Row",
type=ExerciseType.PULL,
steps=["Stand with feet shoulder-width apart", "Hinge at hips and grip barbell", "Row barbell towards your torso", "Lower barbell back down"],
image_prompt="A fit character performing a barbell row, gym background, side view, correct form"
),
"assisted_pullup": Exercise(
name="Assisted Pull Up",
type=ExerciseType.PULL,
steps=["Use an assisted pull-up machine or resistance band", "Place knees or feet on the assistance pad", "Pull chin over the bar", "Lower down with control"],
image_prompt="A fit character performing an assisted pullup, gym background, back view, correct form"
),
"deadlift": Exercise(
name="Deadlift",
type=ExerciseType.KNEE_HIP,
steps=["Stand with feet hip-width apart, barbell over mid-foot", "Bend hips and knees to grip the bar", "Drive through heels to stand up", "Lower back down with control"],
image_prompt="A fit character performing a deadlift with barbell, gym background, side view, correct form"
),
"leg_press": Exercise(
name="Leg Press",
type=ExerciseType.KNEE_HIP,
steps=["Sit on leg press machine with back against pad", "Place feet on platform shoulder-width apart", "Push platform away by extending legs", "Lower platform back down"],
image_prompt="A fit character performing a leg press on a machine, gym background, side view, correct form"
),
"calf_raises": Exercise(
name="Calf Raises",
type=ExerciseType.KNEE_HIP,
steps=["Stand with feet hip-width apart", "Rise up onto the balls of your feet", "Hold the top position briefly", "Lower heels back down"],
image_prompt="A fit character performing calf raises, gym background, side view, correct form"
),
"bicycle_crunch": Exercise(
name="Bicycle Crunch",
type=ExerciseType.CORE,
steps=["Lie on your back with hands behind head", "Bring one elbow towards the opposite knee", "Extend the other leg", "Alternate in a cycling motion"],
image_prompt="A fit character performing bicycle crunches, gym background, front view, correct form"
),
"dead_bug": Exercise(
name="Dead Bug",
type=ExerciseType.CORE,
steps=["Lie on your back with arms extended towards ceiling", "Raise legs with knees bent at 90 degrees", "Lower opposite arm and leg while keeping back on floor", "Return and alternate sides"],
image_prompt="A fit character performing a dead bug exercise, gym background, front view, correct form"
),
"mountain_climbers": Exercise(
name="Mountain Climbers",
type=ExerciseType.CORE,
steps=["Start in plank position", "Bring one knee towards your chest", "Quickly switch legs in a running motion", "Maintain a steady pace"],
image_prompt="A fit character performing mountain climbers, gym background, side view, correct form"
) )
} }