hevy http mcp
HTTP模型上下文协议(MCP)服务器 Hevy 运动跟踪器API。 这个项目的灵感来自 @chrisdoc的hevy mcp该解决方案侧重于stdio传输,我需要HTTP,因此这个项目诞生了。
如果你想将你的锻炼数据连接到人工智能聊天机器人,这个MCP很有用,比如 戳.
通过HTTP传输将所有核心Hevy API操作(训练、常规、训练模板、常规文件夹)显示为MCP工具,因此任何兼容MCP的客户端都可以远程连接。
技术栈
先决条件
- 包子 v1.0+
- A. Hevy Pro 具有API密钥的帐户(在 )
快速开始
# Clone the repository
git clone hevy-http-mcp
cd hevy-http-mcp
# Install dependencies
bun install
# Create your .env from the example
cp .env.example .env
# Edit .env and fill in HEVY_API_KEY and MCP_API_KEY
# Start the server
bun run startMCP端点将在 http://localhost:3000/mcp.
开发模式(热重载)
bun run dev检查员
bun run inspect打开指向本地服务器的MCP检查器UI。
配置
所有配置都是通过环境变量(或 .env 文件)。
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
HEVY_API_KEY | 是 | - | 您的Hevy API密钥 |
MCP_API_KEY | 是 | -- | 客户端必须发送密钥才能与此MCP服务器进行身份验证 |
PORT | 没有 | 3000 | HTTP端口 |
HOST | 没有 | 127.0.0.1 | HTTP主机 |
LOG_LEVEL | 没有 | info | 记录冗长(debug, info, warn, error) |
认证
每一个请求 /mcp 必须包括 Authorization 头球
Authorization: Bearer 接收没有有效密钥的请求 401 或 403 响应。
MCP客户端配置
光标/克劳德桌面(可流式HTTP)
{
"mcpServers": {
"hevy": {
"url": "http://localhost:3000/mcp",
"headers": {
"Authorization": "Bearer "
}
}
}
}可用工具
锻炼
| 工具 | 说明 |
|---|---|
get-workouts | 分页的锻炼列表 |
get-workout | 按ID列出的单次锻炼 |
create-workout | 创建新的锻炼计划 |
update-workout | 更新现有训练 |
get-workout-count | 训练总数 |
get-workout-events | 训练更新/删除事件(分页) |
惯例
| 工具 | 说明 |
|---|---|
get-routines | 分页的例程列表 |
get-routine-by-id | 按ID列出的单个例程 |
create-routine | 创建新例程 |
update-routine | 更新现有例程 |
练习模板
| 工具 | 说明 |
|---|---|
get-exercise-templates | 分页的练习模板列表 |
get-exercise-template | 按ID列出的单个模板 |
常规文件夹
| 工具 | 说明 |
|---|---|
get-routine-folders | 分页文件夹列表 |
create-routine-folder | 创建新文件夹 |
get-routine-folder | 按ID列出单个文件夹 |
项目结构
hevy-http-mcp/
├── .env.example # Environment variable template
├── package.json
├── tsconfig.json
├── README.md
└── src/
├── index.ts # Entry point — Elysia server + MCP plugin setup
├── config.ts # Environment variable loading & validation
├── logger.ts # Structured logger with levels
├── hevy/
│ ├── index.ts # Re-exports
│ ├── client.ts # Hevy API client (ofetch)
│ └── types.ts # TypeScript types for all Hevy API entities
└── tools/
├── index.ts # Re-exports all tool registrations
├── helpers.ts # Shared MCP response builders + error wrapper
├── workouts.ts # Workout tools
├── routines.ts # Routine tools
├── templates.ts # Exercise template tools
└── folders.ts # Routine folder tools安全
注: 这个项目是用Claude编码的。人工智能可能会出错,因此我不能保证代码是100%安全的
- 代码中没有秘密 --所有凭据都是从环境变量加载的。
.env被忽视;仅.env.example(带有占位符值)已提交。- MCP端点受API密钥认证保护;未经身份验证的请求在到达任何工具处理程序之前都会被拒绝。
- Hevy API密钥仅在服务器端发送到
api.hevyapp.com并且永远不会暴露于MCP客户端。
许可证
麻省理工学院
