Workout Planner
1300+ exercises by muscle & gear
Searchable database of 1300+ exercises with muscles worked, equipment needed, and step-by-step instructions. Filter by body part, target muscle, or equipment to build workout routines for any fitness level. For fitness apps, personal training, and rehab planning.
Find exercises by name when you already know what you are looking for, like "bench press" or "squat". Good for checking form instructions or finding variations.
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
-d '{
"tool": "workout-planner",
"skill": "search_exercises",
"input": {
"name": "bench press"
}
}' \
https://api.toolrouter.com/v1/tools/callGet the full breakdown for a specific exercise, including which muscles it works and step-by-step instructions on how to perform it.
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
-d '{
"tool": "workout-planner",
"skill": "get_exercise",
"input": {
"id": "0001"
}
}' \
https://api.toolrouter.com/v1/tools/callBrowse the full exercise library with pagination. Use this when you want to explore what is available without a specific search in mind.
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
-d '{
"tool": "workout-planner",
"skill": "browse_exercises",
"input": {}
}' \
https://api.toolrouter.com/v1/tools/callFind exercises for a specific body part like chest, back, or legs. Use list_body_parts first if you are not sure which values are valid.
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
-d '{
"tool": "workout-planner",
"skill": "exercises_by_body_part",
"input": {
"body_part": "chest"
}
}' \
https://api.toolrouter.com/v1/tools/callFind exercises that isolate a specific muscle like biceps, glutes, or abs. Use list_target_muscles first if you are not sure which values are valid.
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
-d '{
"tool": "workout-planner",
"skill": "exercises_by_target_muscle",
"input": {
"target": "biceps"
}
}' \
https://api.toolrouter.com/v1/tools/callFind exercises you can do with specific equipment like dumbbells, a barbell, or just body weight. Use list_equipment first if you are not sure which values are valid.
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
-d '{
"tool": "workout-planner",
"skill": "exercises_by_equipment",
"input": {
"equipment": "dumbbell"
}
}' \
https://api.toolrouter.com/v1/tools/callSee all the body part categories you can filter by. Run this first if you are unsure what to pass to exercises_by_body_part.
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
-d '{
"tool": "workout-planner",
"skill": "list_body_parts",
"input": {}
}' \
https://api.toolrouter.com/v1/tools/callSee all the target muscle categories you can filter by. Run this first if you are unsure what to pass to exercises_by_target_muscle.
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
-d '{
"tool": "workout-planner",
"skill": "list_target_muscles",
"input": {}
}' \
https://api.toolrouter.com/v1/tools/callSee all the equipment types you can filter by. Run this first if you are unsure what to pass to exercises_by_equipment.
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
-d '{
"tool": "workout-planner",
"skill": "list_equipment",
"input": {}
}' \
https://api.toolrouter.com/v1/tools/callQuick Start
claude mcp add --transport stdio \
--env TOOLROUTER_API_KEY=YOUR_API_KEY \
toolrouter -- npx -y toolrouter-mcpcurl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
-d '{"tool":"workout-planner","skill":"search_exercises","input":{}}' \
https://api.toolrouter.com/v1/tools/callFrequently Asked Questions
Can I find exercises by name?
Yes. `search_exercises` does a partial match on the exercise name, which makes it easy to find variations like bench press or squat without knowing the exact ID.
How do I get full instructions for one exercise?
Use `get_exercise` with the exercise ID. It returns the target muscles, equipment, and step-by-step instructions for doing the movement properly.
Can I filter by body part, target muscle, or equipment?
Yes. Use the body part and target muscle filters for the muscle group you want, and `body weight` is treated as the no-equipment option.
How do I find the valid filter values first?
Use `list_body_parts`, `list_target_muscles`, and `list_equipment` to browse the allowed values before you build a workout plan or search query.