by chrisdoc
Manage your Hevy workouts, routines, folders, and exercise templates. Create and update sessions faster, organize plans, and search exercises to build workouts quickly. Stay synced with changes so your training log is always up to date.
# Add to your Claude Code skills
git clone https://github.com/chrisdoc/hevy-mcpGuides for using mcp servers skills like hevy-mcp.
Last scanned: 5/30/2026
{
"issues": [
{
"type": "npm-audit",
"message": "@kubb/cli: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "@kubb/core: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "@kubb/oas: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "@kubb/plugin-client: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "@kubb/plugin-faker: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "@kubb/plugin-oas: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "@kubb/plugin-ts: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "@kubb/plugin-zod: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "@kubb/react-fabric: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "brace-expansion: brace-expansion: Zero-step sequence causes process hang and memory exhaustion",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "express-rate-limit: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "ip-address: ip-address has XSS in Address6 HTML-emitting methods",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "picomatch: Picomatch: Method Injection in POSIX Character Classes causes incorrect Glob Matching",
"severity": "high"
},
{
"type": "npm-audit",
"message": "ws: ws: Uninitialized memory disclosure",
"severity": "medium"
}
],
"status": "WARNING",
"scannedAt": "2026-05-30T15:20:52.259Z",
"npmAuditRan": true,
"pipAuditRan": true
}See how hevy-mcp compares with popular alternatives.
hevy-mcp is an open-source mcp servers skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by chrisdoc. Manage your Hevy workouts, routines, folders, and exercise templates. Create and update sessions faster, organize plans, and search exercises to build workouts quickly. Stay synced with changes so your training log is always up to date. It has 507 GitHub stars.
hevy-mcp returned warnings in SkillsLLM's automated security scan. It has no critical vulnerabilities, but review the flagged issues in the Security Report section before adding it to your workflow.
Clone the repository with "git clone https://github.com/chrisdoc/hevy-mcp" and add it to your Claude Code skills directory (see the Installation section above).
hevy-mcp is primarily written in TypeScript. It is open-source under chrisdoc on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other MCP Servers skills you can browse and compare side by side. Open the MCP Servers category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh hevy-mcp against similar tools.
No comments yet. Be the first to share your thoughts!
Top skills in this category by stars
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
Talk to your Hevy workout data from Claude, Cursor, Codex, and other MCP clients.
Connect to the hosted MCP · Use the Hevy CLI · Watch the 18-second demo · Explore all 23 tools
Prefer the terminal? The separate
@chrisdoc/hevy-cli
package reads workouts, routines, exercises, and body measurements directly
from the Hevy API, and can create or update those resources with explicit
confirmation. Deletion is not supported.
npm install -g @chrisdoc/hevy-cli
export HEVY_API_KEY=your-hevy-api-key
hevy workouts list --page-size 10
hevy summary --weeks 4
Add --json to any command for scripts and pipelines. The CLI is a standalone
Hevy API client, not an MCP wrapper. See
packages/cli/README.md for the full command
reference, pagination behavior, and exit codes.
hevy-mcp is an open-source Model Context Protocol (MCP)
server for the Hevy fitness and workout tracking
app. It lets AI assistants read, analyze, create, and update your Hevy workouts,
routines, exercise templates, and body measurements through authenticated Hevy
API requests.
The repository is organized as a private workspace with explicit runtime
boundaries: @hevy-mcp/hevy-client owns the web-safe Hevy client,
@hevy-mcp/operations owns reusable Hevy domain operations,
@hevy-mcp/core owns MCP tools and server construction, hevy-mcp is the
published Node.js stdio adapter, @hevy-mcp/worker is the private Cloudflare
HTTP/OAuth adapter, and @chrisdoc/hevy-cli is the standalone CLI. Node and
CLI are the public packages.
The public HevyClient remains Promise-based, while
@hevy-mcp/operations provides Effect-first domain programs for reads,
mutations, and composite workflows. Effect is also the control structure for
the request runtime: @hevy-mcp/hevy-client owns retry schedules, per-attempt
timeouts, and interruption, rather than using Effect only as a delay
calculator. MCP tools and CLI commands collapse each invocation once at their
Promise adapter boundary. The MCP catalog contains 23 tools.
The runtime has three nested scopes:
These scopes do not change the supported Promise façades. Public
HevyClient methods, createHevyMcpServer, createNodeMcpServer,
runStdioServer / runServer, operation .execute(), and CLI
execute / runCli remain usable without requiring callers to construct
Effect programs.
The Worker adapter is not Effect-wide: its OAuth, bindings, and request
handling remain platform-specific Promise code; only the validation-cache
retry is Effect-controlled. Tool input and response contracts remain Zod
contracts, environment and CLI parsing remain throwing parsers, and generated
Kubb API functions and .kubb internals are not public API.
A Hevy API key, available with Hevy PRO, is required.
In the demo, the assistant retrieves real Hevy data and answers a multi-part training question with evidence from the user's workout history.
npx, bunx,
or the official Docker image.Try asking:
Analyze my training over the last six weeks. Show workouts per week, my most frequently trained exercises, any obvious gaps or inconsistencies, and cite the workout evidence you used.
Find my push-day routine and show its exercises and sets.
Compare my recent body measurements with my training consistency.
Create a completed workout from my saved routine. Ask me for any missing set results before writing it to Hevy.
The repository includes a Claude plugin that connects to the hosted OAuth-enabled MCP endpoint without embedding a user's Hevy API key.
In Claude, open Settings → Connectors → Add custom connector and enter:
https://mcp.hevy-mcp.dev/mcp
Complete the OAuth flow and enter the Hevy API key when prompted. The same remote endpoint can be used by Claude Desktop and other clients that support remote MCP connectors.
The Claude plugin is defined by .claude-plugin/plugin.json
and .mcp.json. Install it from this public repository or from
the Claude Plugin Directory after publication. It adds the hosted Hevy MCP
connector and the Hevy workout skill.
See the privacy policy for the hosted service's data handling details.
Create an API key in Hevy's API settings, then keep it somewhere secure. API access currently requires a Hevy PRO subscription.
hevy-mcp to your clientThe hosted Cloudflare endpoint is the fastest way to start. It runs remotely, so your client does not need Node.js, Bun, Docker, or a local server process.
Production URL:
https://mcp.hevy-mcp.dev/mcp
The endpoint uses Streamable HTTP. Send your Hevy API key as a bearer token on every request.
Codex CLI, the Codex desktop app, and the IDE extension share the same MCP configuration. Make your Hevy API key available in the environment that starts Codex, then add the hosted server:
export HEVY_API_KEY=your-hevy-api-key
codex mcp add hevy \
--url https://mcp.hevy-mcp.dev/mcp \
--bearer-token-env-var HEVY_API_KEY
Codex stores the environment variable name, not the key itself, in its MCP
configuration. Restart Codex or begin a new session, then run codex mcp list
to verify the server is configured.
Clients that accept a remote MCP URL and fixed headers commonly use this shape:
{
"mcpServers": {
"hevy": {
"url": "https://mcp.hevy-mcp.dev/mcp",
"headers": {
"Authorization": "Bearer your-hevy-api-key"
}
}
}
}
Exact configuration keys vary by client. The hosted server requires support for
Streamable HTTP and a fixed Authorization header.
[!IMPORTANT] Treat the bearer value like a password. The Worker validates it with Hevy for each request, does not store it, and forwards it to Hevy only as the required
api-keyheader.
Choose local stdio if you prefer to run the server on your own machine or your client cannot attach a fixed authorization header to remote MCP requests.
codex mcp add hevy \
--env HEVY_API_KEY=your-hevy-api-key \
-- npx -y hevy-mcp
Add this mcpServers entry to your client configuration:
{
"mcpServers": {
"hevy": {
"command": "npx",
"args": ["-y", "hevy-mcp"],
"env": {
"HEVY_API_KEY": "your-hevy-api-key"
}
}
}
}
There are two ways to configure the Hevy MCP server for Google Antigravity (agy):
This utilizes the built-in plugin system:
The plugin reads the repository-root mcp_config.json to start the local
stdio server. That configuration inte