Skip to main content
Glama
stonelasley

super-hevy-mcp

by stonelasley

super-hevy-mcp

MCP server for the Hevy workout tracker — full API coverage, built for serious lifters. Ask Claude about your training history, log workouts, and manage routines straight from chat.

Requirements

Setup

Claude Code

claude mcp add super-hevy -e HEVY_API_KEY=<your-key> -- npx -y super-hevy-mcp

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "super-hevy": {
      "command": "npx",
      "args": ["-y", "super-hevy-mcp"],
      "env": { "HEVY_API_KEY": "<your-key>" }
    }
  }
}

Tools (v0.3)

Tool

Description

get-user-info

Your Hevy profile

list-workouts

Logged workouts, most recent first (limit up to 100)

get-workout

One workout with all exercises and sets

get-workout-count

Total workouts on the account

get-workout-events

Workout updates/deletes since a date (for syncing)

create-workout

Log a completed workout

update-workout

Replace a workout's contents

list-routines

Saved routines (limit up to 100)

get-routine

One routine with prescribed sets

create-routine

Create a routine

update-routine

Replace a routine's contents

list-exercise-templates

Exercise library (built-in + custom), limit up to 100

get-exercise-template

One exercise template by ID

create-exercise-template

Create a custom exercise template

list-routine-folders

Folders used to organize routines (limit up to 100)

get-routine-folder

One routine folder by ID

create-routine-folder

Create a routine folder

get-exercise-history

Every logged set for one exercise, across workouts (progression analysis)

list-body-measurements

Logged body measurements (limit up to 100)

get-body-measurement

One measurement entry by date

create-body-measurement

Log a new measurement entry for a date

update-body-measurement

Replace a measurement entry's contents

get-progressive-overload-report

Top-set/e1RM trend for one exercise, by session

get-volume-by-muscle-group

Working sets/tonnage per muscle group per week

get-training-frequency

Sessions per week and days/week trained per muscle group

Weights are kilograms. Workout sets accept RPE (6-10); routine sets accept rep_range targets. Responses are trimmed (no null noise) to keep context lean.

Analysis (v0.3)

Server-side aggregation tools that pre-crunch training metrics instead of making the LLM re-derive them from raw workout history.

  • get-progressive-overload-report — "Is exercise X progressing?" Fetches GET /v1/exercise_history/{exerciseTemplateId} over a weeks-long window (default 12, 1-52), groups the logged sets by session (workout), and reports per session: top working-set weight, best estimated 1-rep max (e1RM), working-set count, and tonnage. Also returns an overall trend (first vs. last session e1RM, delta, % change, and the window's peak e1RM). Warmup sets are excluded from every metric — only working sets (normal/failure/dropset) count. e1RM uses the Epley formula: weight_kg * (1 + reps / 30).

  • get-volume-by-muscle-group — "How many working sets / how much tonnage per muscle group per week?" (a volume-landmark check). Pages GET /v1/workouts over a weeks-long window (default 8, 1-52), attributes each working set to its exercise's primary muscle group (via GET /v1/exercise_templates/{id}, one fetch per distinct exercise used), and buckets sets/tonnage by ISO-8601 week. Only working sets (normal/failure/dropset) count — warmups are excluded. Tonnage is external weight_kg × reps only (bodyweight lifts still count as sets, at 0 tonnage). Exercises with no known muscle-group mapping are bucketed as "unknown" rather than dropped. Reports each muscle group's weekly_avg_sets/weekly_avg_tonnage_kg (averaged over the full requested window, so they're comparable to published volume landmarks) plus a per-week breakdown, sorted most-trained first. coverage.truncated: true means the workout fetch hit its page cap before covering the full window.

  • get-training-frequency — "How many sessions per week, and how often do I train each muscle group?" Pages GET /v1/workouts over a weeks-long window (default 8, 1-52). sessions/weekly_sessions_avg count distinct workouts per ISO-8601 week. For each muscle group, avg_days_per_week counts distinct calendar days with at least one working set targeting that muscle's primary group (warmups excluded; training a muscle twice in one day still counts as one day). Averages are totals divided by the full requested weeks window. muscle_group_frequency is sorted most-trained first.

v0.3 completes the bodybuilding analysis layer (progressive overload, volume, and frequency). Roadmap: MCP prompts for guided workflows, and body-composition analytics.

Development

npm install
npm test          # unit + integration tests (mocked HTTP)
npm run smoke     # end-to-end against the real API (needs HEVY_API_KEY)
npm run build

License

MIT

-
license - not tested
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/stonelasley/hevy-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server