Back to Browse

Hevy MCP Server

Developer ToolsModerate7.5MCP RegistryLocal
Free

Server data from the Official MCP Registry

Hosted/gateway-ready Hevy fitness MCP: workouts, routines, templates.

About

Hosted/gateway-ready Hevy fitness MCP: workouts, routines, templates.

Security Report

7.5
Moderate7.5Low Risk

Valid MCP server (2 strong, 2 medium validity signals). 5 known CVEs in dependencies Imported from the Official MCP Registry.

5 files analyzed ยท 5 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

HTTP Network Access

Connects to external APIs or services over the internet.

env_vars

Check that this permission is expected for this type of plugin.

What You'll Need

Set these up before or after installing:

Hevy API key (requires Hevy PRO). Get one in the Hevy app under Settings -> Developer.Required

Environment variable: HEVY_API_KEY

Documentation

View on GitHub

From the project's GitHub README.

hevy-mcp-remote: Hosted / gateway-ready MCP for Hevy Fitness

License: MIT Build Docker image ghcr.io

Fork notice. This is an independently-maintained fork of chrisdoc/hevy-mcp, repackaged for multi-tenant MCP gateways. It ships the same Hevy tools wrapped in supergateway as an OCI image that speaks MCP streamable-HTTP over HTTP, instead of stdio. Use the upstream hevy-mcp npm package for local/stdio use in Claude Desktop, Cursor, etc.

A Model Context Protocol (MCP) server for the Hevy fitness tracking app, packaged as a supergateway-wrapped OCI image for hosting behind an MCP gateway. Exposes MCP streamable-HTTP on /mcp and health on /healthz; reads HEVY_API_KEY from the container environment.


๐Ÿ“‹ Table of Contents


๐Ÿš€ Features

  • Workout Management: Fetch, create, and update workouts.
  • Routine Management: Access and manage workout routines.
  • Exercise Templates: Browse available exercise templates with in-memory caching.
  • Folder Organization: Manage routine folders.
  • Webhook Subscriptions: Create, view, and delete webhook subscriptions for workout events.

๐Ÿ Quick Start

Pick the workflow that fits your setup:

ScenarioCommandRequirements
One-off stdio runHEVY_API_KEY=sk_live... npx -y hevy-mcpNode.js โ‰ฅ 24, Hevy API key
Local developmentnpm install && npm run build && npm start.env with HEVY_API_KEY

๐Ÿ› ๏ธ Prerequisites

  • Node.js: v24 or higher (strongly recommended to use the exact version pinned in .nvmrc).
  • npm: v10 or higher.
  • Hevy API key: Required for all operations (available with Hevy PRO).

๐Ÿ“ฆ Installation

Run via npx (Recommended)

You can launch the server directly without cloning:

HEVY_API_KEY=your_hevy_api_key_here npx -y hevy-mcp

Manual Installation

# Clone the repository
git clone https://github.com/chrisdoc/hevy-mcp.git
cd hevy-mcp

# Install dependencies
npm install

# Create .env and add your keys
cp .env.sample .env
# Edit .env and add your HEVY_API_KEY

๐Ÿ”— Integration

Claude Desktop Configuration

To use this server with Claude Desktop, add the following to your claude_desktop_config.json:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json

{
	"mcpServers": {
		"hevy-mcp": {
			"command": "npx",
			"args": ["-y", "hevy-mcp"],
			"env": {
				"HEVY_API_KEY": "sk_live_your_key_here"
			}
		}
	}
}

Cursor Configuration

Add this server under "mcpServers" in ~/.cursor/mcp.json:

{
	"mcpServers": {
		"hevy-mcp": {
			"command": "npx",
			"args": ["-y", "hevy-mcp"],
			"env": {
				"HEVY_API_KEY": "your-api-key-here"
			}
		}
	}
}

โœจ Why hevy-mcp?

  • ๐Ÿš€ High Performance: Built with the Oxc toolchain (oxlint/oxfmt) for near-instant linting and formatting.
  • ๐Ÿ›ก๏ธ Type Safety: Fully type-safe implementation using Zod and Kubb-generated API clients.
  • ๐Ÿ“‰ Observability: Built-in Sentry monitoring for error tracking and performance profiling.
  • โšก Optimized: Includes in-memory caching for exercise templates to reduce API latency.

โš™๏ธ Configuration

Supply your Hevy API key via:

  1. Environment Variable: HEVY_API_KEY (in .env or system environment).
  2. CLI Argument: --hevy-api-key=your_key (after -- in npm scripts).
# Example .env
HEVY_API_KEY=your_hevy_api_key_here

๐Ÿ“ก Sentry Monitoring

hevy-mcp includes Sentry monitoring to observe errors and usage in production. It initializes @sentry/node with tracing enabled and PII collection disabled by default.


๐Ÿณ Running behind an MCP gateway (supergateway contract)

The MCP server itself speaks stdio only. For multi-tenant gateway deployments (e.g. mcp-gateway-poc), this repo ships a Dockerfile that wraps the stdio binary with supergateway so a single container exposes MCP streamable-HTTP.

The image follows the same contract every gateway-hosted MCP uses:

  • MCP streamable-HTTP on 0.0.0.0:$PORT at /mcp
  • Health endpoint at /healthz
  • Stateful sessions (Mcp-Session-Id honored)
  • HEVY_API_KEY is read from the container environment and passed to the spawned stdio child

Images are published to ghcr.io/rwestergren/hevy-mcp from main and from any manually cut GitHub release. Build locally with:

docker build -t hevy-mcp:local .
docker run --rm -e HEVY_API_KEY=sk_live_... -p 8080:8080 hevy-mcp:local
curl http://localhost:8080/healthz

End users running hevy-mcp directly should use the stdio/npx flow above; the Docker image is aimed at gateway operators, not individual clients.


๐Ÿ› ๏ธ Available MCP Tools

CategoryTools
Workoutsget-workouts, get-workout, create-workout, update-workout, get-workout-count, get-workout-events
Routinesget-routines, get-routine-by-id, create-routine, update-routine
Templatesget-exercise-templates, get-exercise-template, search-exercise-templates
Foldersget-routine-folders, get-routine-folder, create-routine-folder
Webhooksget-webhook-subscription, create-webhook-subscription, delete-webhook-subscription

๐Ÿ‘จโ€๐Ÿ’ป Development & Contributing

Quick Commands

  • Build: npm run build
  • Lint/Format: npm run check (uses oxlint/oxfmt)
  • Unit Tests: npx vitest run --exclude tests/integration/**
  • Full Test Suite: npm test (requires HEVY_API_KEY)

For a detailed senior engineer guide, please refer to AGENTS.md.

API Client Generation

The API client is automatically generated from the OpenAPI spec using Kubb:

npm run build:client

๐Ÿ“„ License & Acknowledgements


Contributions are welcome! Please open an issue or PR for any major changes.

Reviews

No reviews yet

Be the first to review this server!

Hevy MCP Server - Hosted/gateway-ready Hevy fitness MCP: workouts, routines, | MCP Marketplace