Skip to main content
Hevy MCP provides 5 exercise template tools for browsing, searching, and creating exercises in your Hevy catalog, plus querying the historical performance of any individual movement. Read-only tools are safe for exploration at any time; create-exercise-template is a write tool that adds a custom exercise to your account.

search-exercise-templates

Find templates by name substring across the full catalog

get-exercise-templates

Paginated catalog browsing with muscle and equipment metadata

get-exercise-template

Complete metadata for one template by ID

create-exercise-template

Create a custom exercise template

get-exercise-history

Past performed sets for a single exercise

get-exercise-templates

Read-only. Lists default and custom exercise templates with equipment and muscle metadata, paginated.
  • Kind: Read-only
pageSize supports up to 100 for exercise templates — a higher limit than other paginated tools. Use search-exercise-templates for a name-based lookup that scans the full catalog without paging manually.

Input parameters

page
integer
default:"1"
Page number to retrieve. Must be ≥ 1.
pageSize
integer
default:"5"
Number of templates per page. Must be between 1 and 100.

Response fields

Each template in the list includes:

get-exercise-template

Read-only. Retrieves complete metadata for a single exercise template by ID.
  • Kind: Read-only

Input parameters

exerciseTemplateId
string
required
The ID of the exercise template to retrieve. Must be a non-empty string. Obtain this from get-exercise-templates, search-exercise-templates, a workout, or a routine.

search-exercise-templates

Read-only. Searches the full exercise template catalog by case-insensitive title substring. Results are served from an in-memory cache that is refreshed at most once every 5 minutes, avoiding repeated full-catalog fetches.
  • Kind: Read-only
Always call search-exercise-templates before creating a workout or routine to resolve exercise names to their exerciseTemplateId values. This is the fastest way to find IDs without paging through the full catalog.

Input parameters

query
string
required
Case-insensitive substring to match against exercise template titles. Must be at least 1 character. For example, "bench" matches “Barbell Bench Press”, “Dumbbell Incline Bench Press”, and similar.
primaryMuscleGroup
string
Optional filter. When provided, only templates whose primary muscle group matches this value are returned. Must be one of the valid muscle group enum values.
refresh
boolean
default:"false"
Set to true to invalidate the in-memory catalog cache and re-fetch all exercise templates from the Hevy API before searching. Use this when you suspect recently created templates are missing from results.

Cache behavior

get-exercise-templates (paginated) always bypasses the cache and fetches directly from the API. The cache is shared only by search-exercise-templates and the hevy://exercise-templates resource.

create-exercise-template

Write (mutation). Creates a custom exercise template in the Hevy account.
  • Kind: Write
Run search-exercise-templates first — Hevy ships hundreds of built-in templates and the exercise you need likely already exists. Retrying on failure, or reusing a title, can create duplicate templates in your catalog.

Input parameters

title
string
required
Display name of the new exercise. Must be at least 1 character.
exerciseType
string
required
How the exercise is tracked. Must be one of the valid exercise type enum values.
equipmentCategory
string
required
Equipment used for the exercise. Must be one of the valid equipment category enum values.
muscleGroup
string
required
Primary muscle group targeted. Must be one of the valid muscle group enum values.
otherMuscles
string[]
default:"[]"
Secondary muscles involved. Each value must be a valid muscle group enum value. Defaults to an empty array.

Example


get-exercise-history

Read-only. Retrieves past performed sets for a single exercise template, optionally filtered by date range.
  • Kind: Read-only
Use get-exercise-history to analyze the performance trend for a single movement — e.g., progressive overload on bench press over 12 weeks. For complete session details, use get-workouts instead.

Input parameters

exerciseTemplateId
string
required
The ID of the exercise template whose history you want. Must be a non-empty string. Use search-exercise-templates to resolve a name to an ID.
startDate
string
Optional start of the date range. Must be an ISO 8601 datetime with timezone offset, e.g. 2024-01-01T00:00:00+00:00. Workouts before this timestamp are excluded.
endDate
string
Optional end of the date range. Must be an ISO 8601 datetime with timezone offset, e.g. 2024-03-31T23:59:59+00:00. Workouts after this timestamp are excluded.

Example


Valid enum values

The following enum values are the only accepted strings for the exerciseType, equipmentCategory, and muscleGroup parameters. All values are taken directly from the server source.

Exercise type (exerciseType)

Equipment category (equipmentCategory)

Muscle group (muscleGroup)

Used for both muscleGroup (primary) and otherMuscles (secondary) fields on create-exercise-template, and for primaryMuscleGroup on search-exercise-templates.