Skip to main content
Glama
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