npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

hevy-mcp

v1.23.8

Published

A Model Context Protocol (MCP) server implementation that interfaces with the Hevy fitness tracking app and its API.

Downloads

6,564

Readme

hevy-mcp: Model Context Protocol Server for Hevy Fitness API

License: MIT Build and Test Codecov npm version

A Model Context Protocol (MCP) server implementation that interfaces with the Hevy fitness tracking app and its API. This server enables AI assistants like Claude Desktop and Cursor to access and manage workout data, routines, and exercise templates through the Hevy API (requires PRO subscription).


📋 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:

| Scenario | Command | Requirements | | :-------------------- | :------------------------------------------ | :------------------------- | | One-off stdio run | HEVY_API_KEY=sk_live... npx -y hevy-mcp | Node.js ≥ 24, Hevy API key | | Local development | npm 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.


Stdio Only

As of version 1.18.0, hevy-mcp only supports stdio transport. HTTP/SSE transport has been completely removed to simplify the codebase and focus on the native MCP experience.

Docker

Docker-based workflows are retired. The provided Dockerfile now exits with a message pointing to the stdio-native experience. Legacy GHCR images are no longer updated.


🛠️ Available MCP Tools

| Category | Tools | | :------------ | :----------------------------------------------------------------------------------------------------------- | | Workouts | get-workouts, get-workout, create-workout, update-workout, get-workout-count, get-workout-events | | Routines | get-routines, get-routine-by-id, create-routine, update-routine | | Templates | get-exercise-templates, get-exercise-template, search-exercise-templates | | Folders | get-routine-folders, get-routine-folder, create-routine-folder | | Webhooks | get-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.