API Reference
Complete documentation for all MCP tools available in arvo-mcp. Each tool includes parameters, return types, and usage examples.
Read Tools
Tools for retrieving data without modifying anything. Safe to use freely.
get_workoutsRetrieve workout history with optional filtering
Parameters
limitnumberoptional- Max results (default: 20)offsetnumberoptional- Pagination offsetfrom_datestringoptional- Start date (ISO 8601)to_datestringoptional- End date (ISO 8601)Returns
Array of workout objects with exercises and sets
Example
"Show me my workouts from last week"
get_workout_by_idGet detailed info for a specific workout
Parameters
workout_idstringrequired- Workout UUIDReturns
Complete workout object with all exercises, sets, and notes
Example
"Show me details of workout abc123"
get_personal_recordsRetrieve all personal records (PRs)
Parameters
exercise_idstringoptional- Filter by exercisepr_typestringoptional- Type: 1rm, volume, repsReturns
Array of PR objects with exercise, weight, date
Example
"What's my bench press PR?"
get_exercisesList all available exercises in the database
Parameters
muscle_groupstringoptional- Filter by muscle groupequipmentstringoptional- Filter by equipmentsearchstringoptional- Search termReturns
Array of exercise objects with details
Example
"What exercises target the chest?"
get_exercise_historyGet performance history for a specific exercise
Parameters
exercise_idstringrequired- Exercise UUIDlimitnumberoptional- Max resultsReturns
Array of historical sets with weights, reps, dates
Example
"Show my squat progress over time"
get_training_splitGet current training split/program
Returns
Training split object with days and exercises
Example
"What's my current training split?"
get_profileGet user profile information
Returns
User profile with settings and preferences
Example
"Show my profile settings"
get_body_measurementsRetrieve body measurements history
Parameters
measurement_typestringoptional- Type: weight, bodyfat, etc.limitnumberoptional- Max resultsReturns
Array of measurement objects with dates
Example
"How has my weight changed this month?"
get_workout_statsGet aggregated workout statistics
Parameters
periodstringoptional- week, month, year, allReturns
Stats object with totals, averages, trends
Example
"How many workouts did I do this month?"
get_muscle_groupsList all muscle groups
Returns
Array of muscle group names
Example
"What muscle groups can I track?"
get_equipmentList available equipment types
Returns
Array of equipment names
Example
"What equipment options are available?"
search_exercisesFull-text search across exercises
Parameters
querystringrequired- Search querylimitnumberoptional- Max resultsReturns
Array of matching exercises
Example
"Find exercises similar to deadlift"
get_scheduled_workoutGet workout scheduled for a specific date
Parameters
datestringoptional- Date (default: today)Returns
Scheduled workout or null
Example
"What's my workout today?"
get_pr_historyGet PR progression over time
Parameters
exercise_idstringrequired- Exercise UUIDReturns
Array of historical PRs with dates
Example
"Show my bench press PR history"
Write Tools
Tools that modify data. Require explicit confirmation.
log_workoutLog a complete workout session
Parameters
namestringoptional- Workout namedatestringoptional- Date (default: now)exercisesarrayrequired- Array of exercises with setsnotesstringoptional- Workout notesReturns
Created workout object
Example
"Log today's push workout: bench 3x8@100kg, OHP 3x10@60kg"
log_exerciseLog sets for a single exercise
Parameters
exercise_idstringrequired- Exercise UUID or namesetsarrayrequired- Array of {reps, weight, rpe}workout_idstringoptional- Add to existing workoutReturns
Logged exercise with sets
Example
"Log 3 sets of 8 reps at 100kg for squats"
update_personal_recordManually update a PR
Parameters
exercise_idstringrequired- Exercise UUIDweightnumberrequired- PR weight in kgrepsnumberoptional- Reps (for rep PRs)datestringoptional- PR dateReturns
Updated PR object
Example
"Update my deadlift PR to 200kg"
create_workout_planGenerate a workout plan/template
Parameters
namestringrequired- Plan nametypestringoptional- push, pull, legs, etc.exercisesarrayrequired- Array of exercisesReturns
Created plan object
Example
"Create a push day workout with bench, OHP, and triceps"
update_training_splitUpdate the training split/schedule
Parameters
daysarrayrequired- Array of day configurationsReturns
Updated split object
Example
"Change my split to push/pull/legs"
log_body_measurementLog a body measurement
Parameters
typestringrequired- weight, bodyfat, chest, etc.valuenumberrequired- Measurement valueunitstringoptional- Unit (kg, cm, %)datestringoptional- Date (default: now)Returns
Logged measurement object
Example
"Log my weight as 85kg"
create_exerciseCreate a custom exercise
Parameters
namestringrequired- Exercise namemuscle_groupsarrayrequired- Target musclesequipmentstringoptional- Required equipmentReturns
Created exercise object
Example
"Create a custom exercise called Cable Fly"
update_workoutUpdate an existing workout
Parameters
workout_idstringrequired- Workout UUIDupdatesobjectrequired- Fields to updateReturns
Updated workout object
Example
"Add notes to my last workout"
delete_workoutDelete a workout (requires confirmation)
Parameters
workout_idstringrequired- Workout UUIDReturns
Deletion confirmation
Example
"Delete my workout from yesterday"
schedule_workoutSchedule a workout for a future date
Parameters
datestringrequired- Target dateworkout_plan_idstringoptional- Plan to scheduleexercisesarrayoptional- Custom exercisesReturns
Scheduled workout object
Example
"Schedule leg day for tomorrow"
update_profileUpdate user profile settings
Parameters
updatesobjectrequired- Profile fields to updateReturns
Updated profile object
Example
"Update my unit preference to metric"
add_set_to_exerciseAdd a set to an existing exercise in a workout
Parameters
workout_idstringrequired- Workout UUIDexercise_idstringrequired- Exercise UUIDrepsnumberrequired- Number of repsweightnumberrequired- Weight in kgrpenumberoptional- RPE (1-10)Returns
Updated exercise with new set
Example
"Add another set of 8 reps at 100kg to my bench"
copy_workoutDuplicate an existing workout
Parameters
workout_idstringrequired- Workout to copydatestringoptional- New dateReturns
New workout copy
Example
"Copy last Monday's workout to today"
start_workoutStart a live workout session
Parameters
plan_idstringoptional- Optional plan to followReturns
Active workout session
Example
"Start my push workout"
finish_workoutEnd the current workout session
Parameters
notesstringoptional- Final notesReturns
Completed workout summary
Example
"Finish my workout, felt great today"
Frequently Asked Questions
How do I call these tools?
You don't call them directly. These tools are exposed via MCP to AI assistants. Just ask Claude naturally, like 'What's my workout today?' and it will use the appropriate tool automatically.
What's the difference between read and write tools?
Read tools only retrieve data and are safe to use freely. Write tools modify your data (logging workouts, updating PRs) and typically require confirmation before execution.
Are there rate limits?
The MCP server has generous rate limits for personal use. Heavy usage patterns may be throttled. For enterprise needs, contact us for custom solutions.
Can I use these tools programmatically?
Currently these tools are only available through MCP. A REST API for direct programmatic access is on our roadmap. Join our waitlist to be notified.