hevy-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HEVY_API_KEY | Yes | Your Hevy API key from https://hevy.com/settings?developer |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get-workoutsA | Get a paginated list of workouts (most recent first). |
| get-workoutA | Get a single workout's complete details by its ID. |
| get-workout-countA | Get the total number of workouts on the account. |
| get-workout-eventsA | Get a paged list of workout events (updates or deletes) since a given date. Useful for syncing workout changes. |
| create-workoutB | Log a new (completed) workout with exercises and sets. |
| update-workoutB | Update an existing workout by ID. The full workout is overwritten. |
| get-routinesC | Get a paginated list of routines. |
| get-routineA | Get a routine by its ID. |
| create-routineA | Create a new workout routine (a plan, not a logged workout). |
| update-routineA | Update an existing routine by ID. The full routine is overwritten. |
| get-exercise-templatesA | Get a paginated list of exercise templates (built-in and custom) available on the account. |
| get-exercise-templateB | Get a single exercise template by ID. |
| create-exercise-templateC | Create a new custom exercise template. |
| get-routine-foldersB | Get a paginated list of routine folders on the account. |
| get-routine-folderB | Get a single routine folder by ID. |
| create-routine-folderB | Create a new routine folder. The folder is created at index 0 and all other folders shift down. |
| get-exercise-historyA | Get logged history for a specific exercise template, optionally filtered by date range. Useful for progress tracking (weights, reps over time). |
| get-body-measurementsA | Get a paginated list of body measurements (weight, body fat, girths). |
| get-body-measurementA | Get a single body measurement entry by date. |
| create-body-measurementA | Create a body measurement entry for a given date (all measurement fields optional; weights/masses in kg, girths in cm). Fails with 409 if an entry already exists for that date. |
| update-body-measurementA | Update an existing body measurement entry for a date. All fields are overwritten — omitted fields are cleared. |
| get-user-infoA | Get info about the authenticated Hevy user. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 22 tools
Each tool has a clearly distinct purpose covering different resources (workouts, routines, folders, exercise templates, body measurements, user info) and actions (create, get, update, plus specialized queries like events and history). No two tools are ambiguous.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., create_workout, get_exercise_template, update_body_measurement). There are no deviations or mixed conventions.
22 tools is on the high side but justified by the broad scope of fitness tracking (workouts, routines, exercises, measurements, account info, syncing). Each tool serves a distinct purpose, and the count is within a reasonable range for a comprehensive MCP server.
The set covers create, read, and update operations for most resources, but delete operations are entirely missing (no delete_workout, delete_routine, delete_body_measurement, etc.). This is a significant gap that would cause agent failures when cleanup or removal is needed.