{"id":"d6e7137d-a3db-4724-bd94-6e2c5571c1ec","slug":"hevy-coach","kind":"mcp","name":"hevy-coach","summary":"MCP server and typed SDK for Hevy: an AI strength coach with 26 tools, both on npm.","owner":"furkantanyol","repoUrl":"https://github.com/furkantanyol/hevy-coach","license":"MIT","licenseTier":"permissive","trust":"community","stars":2,"match":null,"fewStars":true,"format":"mcp","createdAt":"2026-02-28T19:54:35.000Z","addedAt":"2026-10-21T04:17:03.285Z","logoUrl":"https://avatars.githubusercontent.com/u/14263631?u=a7784c6015585b995fcd72beaa8724cbd2debfaf&v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["developer-tools","cloud-infra"],"tags":["claude","fitness","hevy","sdk","strength-training","typescript"],"runtime":"binary","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-26T12:35:33.008Z","sample":false,"url":"https://conduits.dev/tools/hevy-coach","language":"TypeScript","transports":["stdio"],"install":{},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"# HevyCoach\n\nAn MCP server and a typed SDK for the [Hevy](https://hevyapp.com) workout app API, so an AI assistant can act as your strength coach.\n\n## What is inside\n\n| Package | What it is | Install |\n|---|---|---|\n| [`hevy-coach`](packages/mcp-server) | MCP server with 26 tools for workouts, routines, exercises and body measurements, plus coaching analysis. | `npx hevy-coach` |\n| [`hevy-sdk`](packages/hevy-sdk) | Typed, fetch-only client for the Hevy public API. Pagination, delta sync, retries. Node 20+ and React Native. | `npm i hevy-sdk` |\n\nBoth are generated from and verified against the live Hevy API (`docs/api/`).\n\n## Quick start\n\nYou need a Hevy API key (Hevy Settings → API) and an MCP-capable assistant. Node 22.18 or newer.\n\nClaude Code:\n\n```bash\nclaude mcp add hevy-coach -e HEVY_API_KEY=your-hevy-api-key -- npx -y hevy-coach\n```\n\nClaude Desktop (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):\n\n```json\n{\n  \"mcpServers\": {\n    \"hevy-coach\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"hevy-coach\"],\n      \"env\": { \"HEVY_API_KEY\": \"your-hevy-api-key\" }\n    }\n  }\n}\n```\n\nTo give the assistant a coaching persona, paste [`prompts/COACH.md`](prompts/COACH.md) into a Claude Project's instructions. Guides for [ChatGPT](prompts/CHATGPT.md) and [Gemini](prompts/GEMINI.md) are in `prompts/`. For web clients, the package also ships an HTTP transport (`hevy-coach-http`): see the [server README](packages/mcp-server/README.md#http-transport).\n\n## Tools\n\nWorkouts\n\n| Tool | Purpose |\n|---|---|\n| `get-workouts` | List logged workouts. |\n| `get-workout` | Get one workout with every exercise and set. |\n| `get-workout-count` | Total number of logged workouts. |\n| `get-workout-events` | Workouts updated or deleted since a timestamp, for syncing. |\n| `create-workout` | Log a workout. |\n| `update-workout` | Update a logged workout. |\n\nRoutines\n\n| Tool | Purpose |\n|---|---|\n| `get-routines` | List routines with their exercises and target sets. |\n| `get-routine` | Get one routine. |\n| `create-routine` | Create a routine. |\n| `update-routine` | Replace a routine by id. |\n| `get-routine-folders` | List routine folders. |\n| `get-routine-folder` | Get one routine folder. |\n| `create-routine-folder` | Create a routine folder. |\n\nExercises\n\n| Tool | Purpose |\n|---|---|\n| `get-exercise-templates` | List exercise templates. |\n| `get-exercise-template` | Get one exercise template. |\n| `get-exercise-history` | Logged sets for one exercise. |\n| `create-exercise-template` | Create a custom exercise template. |\n\nBody measurements and user\n\n| Tool | Purpose |\n|---|---|\n| `get-body-measurements` | List body measurements. |\n| `get-body-measurement` | Get the measurement for one date. |\n| `log-body-measurement` | Log or overwrite the measurement for a date. |\n| `get-user-info` | Get the account profile. |\n\nCoaching\n\n| Tool | Purpose |\n|---|---|\n| `analyze-workout` | Compare a completed workout with the plan and get per-exercise recommendations. |\n| `get-training-summary` | Aggregate the last N workouts: sessions, sets, duration, rest days. |\n| `get-exercise-progression` | Session-by-session max weight, reps, volume and estimated 1RM (Epley). |\n| `find-exercise` | Find an exercise template by name. |\n| `batch-find-exercises` | Resolve many exercise names to template ids in one call. |\n\n## SDK\n\n```bash\nnpm i hevy-sdk\n```\n\n```ts\nimport { createHevyClient } from \"hevy-sdk\";\n\nconst hevy = createHevyClient({ apiKey: process.env.HEVY_API_KEY! });\n\nconst { upserts, deletes, cursor } = await hevy.workouts.changes(lastCursor);\nconst history = await hevy.exerciseHistory.get(\"D04AC939\", { startDate: \"2026-01-01\" });\n```\n\nFull API in the [SDK README](packages/hevy-sdk/README.md).\n\n## Development\n\n```bash\npnpm install\npnpm build\npnpm test\npnpm validate    # format, lint, build, typecheck, test\n```\n\n```\npackages/hevy-sdk      the client\npackages/mcp-server    the MCP server\nprompts/               coaching persona and assistant setup guides\ndocs/api/              OpenAPI snapshot and probe results\ndocs/adr/              decisions\n```\n\n## License\n\nMIT. Not affiliated with Hevy.\n"}