hevy-mcp
by SrdjanCodes
README.md
# hevy-mcp
A Python [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server for the [Hevy](https://hevy.com) fitness app API. Gives Claude (or any MCP-compatible AI) full access to your Hevy workout data — log workouts, manage routines, track body measurements, and more.
## Features
- **25 tools** covering every endpoint of the [Hevy API](https://api.hevyapp.com/docs/)
- **No build step** — pure Python, just install and run
- **Full CRUD** — create, read, update workouts, routines, exercise templates, folders, measurements, and webhooks
## Tools
| Category | Tools |
|---|---|
| User | `get_user_info` |
| Workouts | `get_workouts`, `get_workout`, `get_workout_count`, `get_workout_events`, `create_workout`, `update_workout` |
| Routines | `get_routines`, `get_routine`, `create_routine`, `update_routine` |
| Routine Folders | `get_routine_folders`, `get_routine_folder`, `create_routine_folder` |
| Exercise Templates | `get_exercise_templates`, `get_exercise_template`, `create_exercise_template` |
| Exercise History | `get_exercise_history` |
| Body Measurements | `get_body_measurements`, `get_body_measurement`, `create_body_measurement`, `update_body_measurement` |
| Webhooks | `get_webhooks`, `create_webhook`, `delete_webhook` |
## Requirements
- Python 3.12+
- Hevy Pro account (required for API access)
- API key from [hevy.com/settings?developer](https://hevy.com/settings?developer)
## Installation
```bash
git clone https://github.com/srdjancodes/hevy-mcp
cd hevy-mcp
pip install -r requirements.txt
```
## Configuration
### Claude Desktop
Add to `claude_desktop_config.json`:
**macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
```json
{
"mcpServers": {
"hevy": {
"command": "python",
"args": ["/absolute/path/to/hevy-mcp/server.py"],
"env": {
"HEVY_API_KEY": "your-api-key-here"
}
}
}
}
```
Restart Claude Desktop. You should see the Hevy server listed under the tools icon in the chat.
### Environment variable
Alternatively, set `HEVY_API_KEY` in your environment and run directly:
```bash
export HEVY_API_KEY=your-api-key-here
python server.py
```
## Usage examples
Once connected, you can ask Claude things like:
- *"Show me my last 5 workouts"*
- *"Log a chest workout I did today — bench press 3x8 at 100kg, incline dumbbell 3x10 at 30kg"*
- *"Create a Push/Pull/Legs routine"*
- *"What's my body weight trend over the last month?"*
- *"Find the exercise template ID for Romanian deadlift"*
- *"Show me all my bench press sets from the last 3 months"*
## Tech stack
- [FastMCP](https://github.com/jlowin/fastmcp) — Python MCP server framework
- [httpx](https://www.python-httpx.org/) — HTTP client
- [Hevy API](https://api.hevyapp.com/docs/) — official REST API
## License
MIT
This server cannot be deployed
Maintenance
ActivitySlowing
ResponsivenessNo issues