Hevy MCP (Remote)

السجل الرسمي الصحة

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

ماذا يمكنك أن تفعل مع Hevy MCP (Remote)؟

  • 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.

التثبيت

أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: ‏.cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).

OCI package ghcr.io/rwestergren/hevy-mcp:0.1.6
Claude Code
claude mcp add hevy-mcp-remote -e 'HEVY_API_KEY=<your hevy_api_key>' -- docker run -i --rm ghcr.io/rwestergren/hevy-mcp:0.1.6
إعداد JSON (Claude Desktop وCursor وVS Code)
{
    "mcpServers": {
        "hevy-mcp-remote": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "ghcr.io/rwestergren/hevy-mcp:0.1.6"
            ],
            "env": {
                "HEVY_API_KEY": "<your hevy_api_key>"
            }
        }
    }
}

متغيرات البيئة

  • HEVY_API_KEY إلزامي سري Hevy API key (requires Hevy PRO). Get one in the Hevy app under Settings -> Developer.

التوثيق

مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.

المحتويات
  1. hevy-mcp-remote: Hosted / gateway-ready MCP for Hevy Fitness
  2. 📋 Table of Contents
  3. 🚀 Features
  4. 🏁 Quick Start
  5. 🛠️ Prerequisites
  6. 📦 Installation
  7. 🔗 Integration
  8. ✨ Why hevy-mcp?
  9. ⚙️ Configuration
  10. 🐳 Running behind an MCP gateway (supergateway contract)
  11. 🛠️ Available MCP Tools
  12. 👨‍💻 Development & Contributing
  13. 📄 License & Acknowledgements

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

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

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.

الأسئلة الشائعة

ما هو Hevy MCP (Remote)؟

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

كيف أثبّت Hevy MCP (Remote)؟

يعمل على جهازك. في Claude Code: claude mcp add hevy-mcp-remote -e 'HEVY_API_KEY=<your hevy_api_key>' -- docker run -i --rm ghcr.io/rwestergren/hevy-mcp:0.1.6. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.

هل يحتاج Hevy MCP (Remote) إلى مفتاح API؟

نعم. يتطلب HEVY_API_KEY، وتضبطها في إعداداته.

هل Hevy MCP (Remote) مفتوح المصدر؟

نعم. شيفرته متاحة على GitHub بترخيص MIT.

من يصون Hevy MCP (Remote)؟

ينشره rwestergren. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.

من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.