HEVY MCP

Create routines and workout plans, and analyze your workout data from ChatGPT, Claude, and other MCP clients.

Connect

Production endpoint:

https://mcp.hevy.com/mcp

Claude Connectors may also use the root URL (POST /). Authentication is OAuth through Hevy—sign in when your client prompts you. No API keys required.

To try it in ChatGPT:

  1. Enable Developer Mode under Settings → Apps → Advanced Settings
  2. Go to Settings → Apps → Create App
  3. Set the connection URL to https://mcp.hevy.com/mcp (or your local ngrok URL + /mcp)

What you can do

Typical workflow:

  1. Search exercise templates to get the right IDs
  2. Propose a routine or a full plan; it renders as a preview in the chat
  3. Review it and tap Save in Hevy to add it to your account
  4. Look up past workouts, routines, or exercise history when you want analysis

Nothing is saved until you choose to, unless you explicitly ask to save straight to Hevy without a preview. Custom exercises are the exception: they're saved as soon as they're created.

Tools

Preview (renders UI)

render_hevy_routine

Show a single proposed routine with a Save in Hevy button. The default for creating, building, or importing one routine (including from a file or PDF). Pass an optional folder_id to save into an existing folder.

render_hevy_plan

Show a proposed plan (a group of routines, e.g. an Upper/Lower split) with a Save in Hevy button. The default for creating, building, or importing a multi-routine program.

render_hevy_workouts

Display a selection of workouts as UI, e.g. after fetching and filtering with get_user_workouts. Input matches the get_user_workouts output.

Read

get_user_preferences

Fetch your profile and unit preferences (weight_unit, distance_unit). Other tools always return kg and meters; this is used to show values in your units.

get_user_workouts

Fetch your workouts, paginated. Inputs: page (from 1) and pageSize (1–10).

get_user_exercise_history

Fetch your sets for one exercise over a date range. Inputs: exercise_template_id, start_date, end_date (ISO datetimes).

get_user_routines

Fetch your routines, paginated. Inputs: page and pageSize (1–10).

get_hevy_routine_folders

Fetch your routine folders, paginated. Inputs: page and pageSize (1–10).

search_hevy_exercises

Search your exercise templates by name. Pass one or more queries in queries. Use this first so routines and plans get the correct exercise_template_id values.

Create & edit

create_custom_exercise

Create a custom exercise when nothing suitable exists in Hevy's library. A last resort, and saved to your account immediately.

update_hevy_routine

Update an existing routine's title, notes, exercises, and sets.

create_hevy_routine_folder

Create a folder to organize routines. Input: folder title.

create_hevy_routine

Save a single routine directly, skipping the preview. Only used when you explicitly ask to skip it. Set types: warmup, normal, failure, dropset.

create_hevy_plan

Save a plan (a folder plus its routines) directly, skipping the preview. Only used when you explicitly ask to skip it.

Limits & tips