hevy-coach-mcp
MCP server for Hevy that fetches live workout data and computes analytics like e1RM, PRs, volume, and consistency, while enabling writes for routines, folders, and body measurements without modifying workout history.
README
hevy-coach-mcp
An MCP server for Hevy (the workout tracking app). It fetches your workouts, routines and exercise templates live from Hevy — no local cache or database — then does the analytics math (e1RM, PRs, volume, consistency, period comparisons) so your MCP client can reason over real numbers instead of guessing. It writes back what you ask it to — routines, folders, a bodyweight — and never touches your workout history.
Requires Hevy PRO and a Hevy API key (Hevy app → Settings → API).
Install
claude mcp add hevy -e HEVY_API_KEY=your_key_here -- npx -y hevy-coach-mcp
Or add it manually to your client's MCP config:
{
"mcpServers": {
"hevy": {
"command": "npx",
"args": ["-y", "hevy-coach-mcp"],
"env": { "HEVY_API_KEY": "your_key_here" }
}
}
}
This works in Claude Desktop (claude_desktop_config.json), Claude Code (.mcp.json or the command above), Cursor (.cursor/mcp.json), and Windsurf (~/.codeium/windsurf/mcp_config.json) — same shape everywhere.
Your API key stays local: it's read from the HEVY_API_KEY environment variable and never leaves your machine except in calls to Hevy's own API.
There's also a hosted mode over Streamable HTTP with OAuth, for clients that can't spawn a
local process (Claude.ai, ChatGPT). Point them at https://hevy-mcp-alpha.vercel.app/mcp
and they'll run the OAuth flow themselves. docs/CONNECTOR.md covers
both setups client by client, plus self-hosting, example questions and privacy details.
First use
Run health-check any time to confirm the connection. Every other tool fetches live from Hevy — there's nothing to sync or warm up first.
Tools
Fifteen read tools, all marked readOnlyHint:
health-check— connection statusget-workouts,get-workout— list/inspect workoutslist-routines,get-routine— list/inspect routineslist-routine-folders— the folders routines are organised into, with their IDssearch-exercises,get-exercise-history— resolve an exercise by name and see its logged historyget-progress,get-records— estimated-1RM trend and PRs (1/3/5/8RM) per exercise;get-progresscan also report each session against the bodyweight you were carryingget-volume-report— effective sets and tonnage per muscle group per weekget-consistency— training frequency, streak, longest gapcompare-periods— volume/workout-count diff between two date rangesget-body-measurements— logged bodyweight and measurements, newest firstget-bodyweight-trend— weight change over a range: total, percentage and rate per week
Four write tools, declared as writes so your client asks first:
create-routine— build a new routine from exercise names, optionally into a folder named rather than numberedupdate-routine— edit an existing routine; passing an exercise list replaces the old one outright (destructiveHint)create-routine-folder— add a folder; a title that already exists is never created twicelog-body-measurement— record a bodyweight or measurement for a date you give it; re-logging a date keeps whatever else was stored that day
Resources
hevy://profile, hevy://routines, hevy://exercises, hevy://stats/summary, hevy://workouts/recent — cheap live snapshots for a client to read without a tool call.
Prompts
weekly-review, program-audit, deload-check, prepare-session — guide the client through calling the right tools for common training questions.
For the layer above those — a standing system prompt that turns the numbers into decisions — see docs/COACH-PROMPT.md.
Privacy
Nothing about your account is stored — every tool call fetches fresh from Hevy's API using your own key, and nothing about your account is sent anywhere else.
Four tools write to Hevy: create-routine, update-routine, create-routine-folder and log-body-measurement, all declared as writes so your client asks before running them. Nothing writes to your workout history — that is the line, and it does not move: a logged workout is what every number here is computed from, so it can only be changed by you, in the app. Hevy's API has no delete endpoint, so nothing this server creates can be removed from here either. Note that a Hevy API key has no scopes — it grants full account access no matter what this server chooses to do with it.
Contributing
Clone, yarn install, and copy .env.example to .env.local. Validate any change with
yarn typecheck && yarn test && yarn build — the same three commands CI runs.
AGENTS.md is the full guide to the architecture, conventions and the
decisions worth knowing before changing anything. It is written for AI coding agents, but
it is the fastest way for a human to get oriented too.
License
MIT
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。
mcp-server-qdrant
这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。