MCP App Store
by KeenEthics
MCP Fit icon

MCP Fit

By Stefan Goldman

Get New App Alerts

Overview

Connect your MCP Fit account to review completed workouts, plan training and make changes to your workout programmes. Requires an MCP Fit account and approval of the requested access.

Tools

fit_attach_workout_photo

ChatGPT
Attach a JPEG or PNG image (base64, maximum 2 MiB) to your live or completed workout. Supply both exercise_id and session_exercise_id to attach it to one exercise; omit both for a legacy session-level photo.

fit_calculate_plate_load

ChatGPT
MCP Fit app data operation: calculate plate load. Summary results are page summaries when paginated.

fit_delete_record

ChatGPT
MCP Fit app data operation: delete record. Summary results are page summaries when paginated. For saved workouts use kind program; for named schedules use training_program. Read the record and use its updated_at before patching. These edits affect future workouts, never the independent active session or its logged sets/rest timer. To deliberately edit the current session, read fit_get_live_workout and use the revision-checked live tools. Deleting a saved workout removes its schedule entries but the existing active session can still finish.

fit_delete_session

ChatGPT
MCP Fit app data operation: delete session. Summary results are page summaries when paginated.

fit_delete_training_program

ChatGPT
Tombstone a program schedule. Existing live workouts and completed history retain their schedule associations.

fit_delete_workout

ChatGPT
Tombstone a reusable workout. Referencing schedule entries will show it as unavailable until edited.

fit_delete_workout_photo

ChatGPT
Delete one of your workout photos. Storage is deleted before metadata so a failed delete remains retryable.

fit_discard_live_workout

ChatGPT
Discard the active workout. The terminal snapshot is retained and its session ID cannot be restarted.

fit_export_records

ChatGPT
MCP Fit app data operation: export records. Summary results are page summaries when paginated.

fit_finish_live_workout

ChatGPT
Finish the active workout using a complete snapshot with finishedAt and at least one completed set. The history entry and terminal live snapshot are written atomically.

fit_get_app_state

ChatGPT
Read a paginated mixed page of the connected account’s saved exercises, workouts, schedules, sessions, measurements and preferences, plus its active-workout snapshot. Use limit and offset for pagination. This is not full history; use fit_list_completed_workouts for completed workouts.

fit_get_completed_workout

ChatGPT
Read one completed workout, including its full ordered exercises and sets, and updated_at for fit_update_session or fit_delete_session.

fit_get_device_request

ChatGPT
Read the actual phone acknowledgement or pending/expired state of a device action. A pending request is not proof of execution.

fit_get_live_workout

ChatGPT
Read the shared live-workout snapshot and ready exercise photo references. Missing state is revision 0, status idle, session null. Photo references contain metadata only; call fit_get_workout_photo with a photo ID to view its image.

fit_get_profile

ChatGPT
MCP Fit app data operation: get profile. Summary results are page summaries when paginated.

fit_get_record

ChatGPT
MCP Fit app data operation: get record. Summary results are page summaries when paginated.

fit_get_schedule_occurrences

ChatGPT
Read planned occurrences and completed-session IDs for an inclusive local-calendar range of up to 84 days. Continue next_offset for all occurrences. Disabled programs are omitted.

fit_get_training_program

ChatGPT
Read one training program and its updated_at version.

fit_get_training_summary

ChatGPT
MCP Fit app data operation: get training summary. Summary results are page summaries when paginated.

fit_get_workout_photo

ChatGPT
Read one of your ready workout photos as an image response.

fit_list_completed_workouts

ChatGPT
List completed workout history, newest finished workout first. Use detail "full" to include all exercises and sets; the default summary is smaller. Continue with next_offset.

fit_list_connections

ChatGPT
MCP Fit app data operation: list connections. Summary results are page summaries when paginated.

fit_list_records

ChatGPT
Read fitness records page by page. For completed workout history use fit_list_completed_workouts, or filter kinds to [session]. Unfiltered pages also contain the exercise library and may contain no sessions; follow next_offset.

fit_list_training_programs

ChatGPT
List training programs and their complete ordered schedule entries. Continue through next_offset.

fit_list_workout_photos

ChatGPT
List metadata for your workout photos, optionally for one exercise in a session. Images are returned only by fit_get_workout_photo.

fit_list_workouts

ChatGPT
List reusable workout templates, with next_offset pagination. Legacy storage kind program means workout template.

fit_log_session

ChatGPT
Atomically log a workout session. Example: record.data has startedAt, optional finishedAt/programId, and exercises [{id,exerciseId,notes,restSeconds,sets:[{id,weight,reps,seconds,distance,kind,completed,rpe?}]}]. Retry the same idempotency_key after a network failure.

fit_move_completed_progress

ChatGPT
Correct a completed workout logged under the wrong exercise. Move completed sets with their exact values to another owned exercise in this same history entry. Read fit_get_completed_workout first and supply its updated_at. This changes history only, never the saved program or an active workout.

fit_move_live_progress

ChatGPT
Correct an exercise logged under the wrong name in the active workout. Move completed sets, unchanged, from one live exercise row to another existing row or a new row for an owned exercise. Incomplete planned sets stay with the source. Does not edit the saved program. Read fit_get_live_workout first; supply its revision and a fresh idempotency key.

fit_move_schedule_occurrence

ChatGPT
Move one uncompleted scheduled occurrence to a different local-calendar date. Supply original_date from fit_get_schedule_occurrences; it remains the stable identity for completion and starting.

fit_open_phone_screen

ChatGPT
Ask the connected foreground MCP Fit phone app to navigate to one specified app screen. Queues a request that expires after 15 minutes; poll fit_get_device_request for actual completion. Requires an online foreground phone.

fit_patch_preferences

ChatGPT
MCP Fit app data operation: patch preferences. Summary results are page summaries when paginated.

fit_patch_record

ChatGPT
MCP Fit app data operation: patch record. Summary results are page summaries when paginated. For saved workouts use kind program; for named schedules use training_program. Read the record and use its updated_at before patching. These edits affect future workouts, never the independent active session or its logged sets/rest timer. To deliberately edit the current session, read fit_get_live_workout and use the revision-checked live tools. Deleting a saved workout removes its schedule entries but the existing active session can still finish.

fit_plan_warmup

ChatGPT
MCP Fit app data operation: plan warmup. Summary results are page summaries when paginated.

fit_request_health_import

ChatGPT
Ask the connected foreground phone app to import supported Apple Health measurements already authorised by the user. May update stored measurements. Queues a request that expires after 15 minutes; poll fit_get_device_request for actual completion. Requires an online foreground phone.

fit_request_health_permission_prompt

ChatGPT
Ask the connected foreground phone app to show its Apple Health permission prompt. Only the user can grant permission on the device. Queues a request that expires after 15 minutes; poll fit_get_device_request for actual completion. Requires an online foreground phone.

fit_request_health_status

ChatGPT
Ask the connected foreground phone app to report its Apple Health integration status. Does not grant Health permission. Queues a request that expires after 15 minutes; poll fit_get_device_request for actual completion. Requires an online foreground phone.

fit_request_notification_permission_prompt

ChatGPT
Ask the connected foreground phone app to show its notification permission prompt. Only the user can grant permission on the device. Queues a request that expires after 15 minutes; poll fit_get_device_request for actual completion. Requires an online foreground phone.

fit_request_phone_sync

ChatGPT
Ask the connected foreground MCP Fit phone app to synchronise its account data. Queues a request that expires after 15 minutes; poll fit_get_device_request for actual completion. Requires an online foreground phone.

fit_revoke_connection

ChatGPT
MCP Fit app data operation: revoke connection. Summary results are page summaries when paginated.

fit_save_training_program

ChatGPT
Create or replace a complete program schedule: weekdays, times, repeating weeks, date bounds, enabled status and workout or exercise prescriptions. Include the complete ordered entries array. Use expected_updated_at on existing records. This changes future scheduling only; any active workout retains its original snapshot, logged sets and rest timer.

fit_save_workout

ChatGPT
Create or replace a reusable workout including all ordered exercises and sets. Read and pass expected_updated_at to replace an existing template.

fit_search_records

ChatGPT
MCP Fit app data operation: search records. Summary results are page summaries when paginated.

fit_set_rest_timer

ChatGPT
Set a fixed ISO rest deadline for the current workout, or null to skip/clear rest. Phone and Watch use the same deadline. Use an absolute deadline so retries cannot restart the timer.

fit_start_live_workout

ChatGPT
Start one shared workout from a complete new session snapshot. The caller must create fresh IDs and reset every set to completed:false.

fit_start_scheduled_workout

ChatGPT
Start a Training Program occurrence with CAS and idempotency. Pass original_date from fit_get_schedule_occurrences as date; it remains stable when the occurrence has been moved.

fit_start_workout

ChatGPT
Start a reusable Workout template by workout_id. The older fit_start_workout_from_program alias remains available.

fit_start_workout_from_program

ChatGPT
Legacy alias: start a reusable workout template, not a schedule. Prefer fit_start_workout or fit_start_scheduled_workout. Uses deterministically generated live exercise and set IDs. Supply the same session_id, started_at and idempotency_key to retry safely; every copied set starts incomplete. Matching previous completed set values are frozen as suggestions; template targets are the fallback.

fit_undo_schedule_occurrence_move

ChatGPT
Undo one uncompleted occurrence move and restore its original local-calendar date.

fit_update_live_set

ChatGPT
Log or edit one live set using its stable IDs. Patch only the fields you want to change (kilograms, kilometres). Set completed:true to log it. Read the returned revision before the next action.

fit_update_live_workout

ChatGPT
Replace the active workout with a complete edited snapshot. Use only when the user wants to change the workout currently being logged. Saved program edits do not require this tool. Preserve logged sets, stable IDs, restEndsAt and template metadata from the latest snapshot; change only requested fields. The server preserves the original templateAtStart baseline.

fit_update_profile

ChatGPT
MCP Fit app data operation: update profile. Summary results are page summaries when paginated.

fit_update_session

ChatGPT
MCP Fit app data operation: update session. Summary results are page summaries when paginated.

fit_update_workout_photo

ChatGPT
Update a workout photo caption or explicitly assign it to an exercise using its current updated_at version. Supply both exercise IDs to assign, or both null to clear the association.

fit_upsert_record

ChatGPT
Create, update, or tombstone a record. Legacy kind program means a reusable WORKOUT template. Kind training_program is a weekday schedule; prefer fit_save_training_program for complete schema and concurrency checks. Saved workout and schedule edits leave active sessions untouched. Use fit_patch_record with expected_updated_at for edits; use live-workout tools only when explicitly changing the current session. Do not use this for sessions.

Capabilities

Writes

Example Prompts

Click any prompt to copy it.

Similar Apps