Hevy MCP Server

1

Add it to Claude Code

Run this in a terminal.

Run in terminal
claude mcp add -e "HEVY_API_KEY=${HEVY_API_KEY}" hevy-mcp -- uv run /path/to/hevy-mcp/server.py
Required:HEVY_API_KEY+ 1 optional
README.md

Connects AI clients to the Hevy workout tracking app

Hevy MCP

An MCP (Model Context Protocol) server for Hevy — the workout tracking app. Connects any MCP-compatible AI client (Claude, Cursor, etc.) to your Hevy account, letting it read your workouts, routines, and exercises, or log new ones on your behalf.

Built with FastMCP and async httpx.

Requirements

  • Python 3.11+
  • uv package manager
  • Hevy Pro subscription (for API access)
  • Hevy API key (Settings > API in the Hevy app)

Setup

# Clone and install
git clone https://github.com/zachsai/hevy-mcp.git
cd hevy-mcp
uv sync

# Configure
cp env.example .env
# Edit .env and add your HEVY_API_KEY

# Run locally
./run.sh

The server starts on http://localhost:8000 with streamable-HTTP transport.

Tools

Read

Tool Description
get_workout_count Total number of logged workouts
list_workouts List workouts with pagination
get_workout Full workout details (exercises, sets, weights)
list_routines List saved routines
get_routine Full routine details
search_exercises Search exercise templates by name

Write

Tool Description
create_workout Log a new workout
update_workout Update an existing workout
create_routine Create a new routine
update_routine Update an existing routine

Architecture

hevy_mcp/
├── server.py           # FastMCP server, Pydantic models, tool definitions
└── utils/
    ├── auth.py         # API key from environment
    └── hevy.py         # Async HTTP client for Hevy API v1
  • Auth: Static API key via api-key header (no OAuth complexity)
  • HTTP client: async httpx with pagination support
  • Models: Pydantic BaseModel for all tool inputs/outputs

Deployment

Docker (any platform)

Includes a Dockerfile for container deployment. The server reads PORT from the environment and exposes a /health_check endpoint.

docker build -t hevy-mcp .
docker run -e HEVY_API_KEY=your_key -e PORT=8080 hevy-mcp

Railway

This project is set up for one-click deployment on Railway. See `RAILWAY_DEPLOY.md` for the full step-by-step playbook covering:

  1. Creating the Railway project
  2. Deploying the Docker container
  3. Setting environment variables (HEVY_API_KEY, ENVIRONMENT)
  4. Generating a public domain
  5. Verifying the deployment (health check + MCP handshake)

The playbook documents the exact Railway MCP tool calls and parameters, so it can be followed manually or used as a reference for building an automated deployment skill with the Railway MCP server.

Development

uv run ruff check --fix   # Lint
uv run ruff format         # Format
uv run python tests/test_http.py   # Integration test (HTTP)
uv run python tests/test_stdio.py  # Integration test (stdio)

Tools (10)

get_workout_countReturns the total number of logged workouts
list_workoutsList workouts with pagination
get_workoutGet full workout details including exercises, sets, and weights
list_routinesList saved workout routines
get_routineGet full details for a specific routine
search_exercisesSearch exercise templates by name
create_workoutLog a new workout session
update_workoutUpdate an existing workout entry
create_routineCreate a new workout routine
update_routineUpdate an existing workout routine

Environment Variables

HEVY_API_KEYrequiredAPI key obtained from Hevy app settings
PORTPort for the server to listen on

Configuration

claude_desktop_config.json
{"mcpServers": {"hevy": {"command": "uv", "args": ["run", "/path/to/hevy-mcp/server.py"], "env": {"HEVY_API_KEY": "your_api_key"}}}}

Try it

How many workouts have I logged in total?
List my last 5 workouts and show me the details of the most recent one.
Search for 'bench press' exercises in my templates.
Create a new workout routine named 'Push Day' with my standard exercises.

Frequently Asked Questions

What are the key features of Hevy MCP?

Read workout history and exercise details. List and manage saved workout routines. Log new workout sessions via natural language. Update existing workout and routine data. Search exercise templates.

What can I use Hevy MCP for?

Quickly logging a workout session after finishing at the gym. Reviewing workout progress and history through an AI interface. Creating and organizing new workout routines using AI assistance. Searching for specific exercise variations to include in a new routine.

How do I install Hevy MCP?

Install Hevy MCP by running: git clone https://github.com/zachsai/hevy-mcp.git && cd hevy-mcp && uv sync

What MCP clients work with Hevy MCP?

Hevy MCP works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep Hevy MCP docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare