Hewy MCP服务器
MCP服务器 Hevy 健身API,具有HTTP传输和会话管理。完全用Rust编写,用于低内存管理。此外,适当的异步支持!!!
Docker快速入门
docker pull ghcr.io/zelosleone/hevy-mcp-server:latest
docker run -e HEVY_API_KEY=your-api-key -p 5000:5000 ghcr.io/zelosleone/hevy-mcp-server:latest需求
- Hevy PRO订阅
- 来自的Hevy API密钥https://hevy.com/settings?developer
配置
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
HEVY_API_KEY | 没有来自Hevy开发人员设置的 | -- | API键。启用单用户模式。如果未设置,每个客户端必须提供 ?apikey=xxx url参数。 |
HEVY_HTTP_ADDR | 没有 | 127.0.0.1:3000 (来源)/ 0.0.0.0:5000 (Docker) | 绑定HTTP服务器的套接字地址 |
HEVY_MCP_PATH | 没有 | / | MCP端点的HTTP路由路径。领先 / 如果缺失,则自动添加。 |
HEVY_SESSION_TIMEOUT_SECS | 没有 | 3600 | 会话到期前的不活动秒数 |
操作模式
单用户模式
设置 HEVY_API_KEY 环境变量。所有会话都共享此密钥——不需要查询参数。
HEVY_API_KEY=your-api-key ./target/release/hevy-mcp-server多用户模式
离开 HEVY_API_KEY 未设置。在初始化过程中,每个客户端都必须传递自己的密钥作为查询参数:
POST /?apikey=xxx如果两种方法都不提供密钥,服务器将返回错误。
HTTP传输
服务器在配置的路径上公开两个端点(默认 /):
POST {path} --MCP请求
发送JSON-RPC请求和通知。第一个请求必须是 initialize 电话。该回复包括 Mcp-Session-Id 必须在所有后续请求中发送的标头。
POST /
Content-Type: application/json
Mcp-Session-Id: 会话生命周期
- 每个会话都会创建一个新会话
initialize请求,并通过以下方式返回UUIDMcp-Session-Id响应标头。 - 所有非初始化请求必须包括
Mcp-Session-Id头球没有它的请求将被拒绝。 - 会话在之后会自动清理
HEVY_SESSION_TIMEOUT_SECS不活动秒数(默认值3600)。后台任务每60秒检查一次过期的会话。 - 会话也可以通过以下方式明确删除
DELETE终点。
可用工具
锻炼
get_workouts--按页码列出训练。参数:page(1-索引),page_size(最多10个)。get_workouts_count--获取帐户上的锻炼总数。get_workout_events--列出自时间戳以来的锻炼更新/删除事件。参数:page,page_size(最多10个),since(ISO 8601)。get_workout--按ID获取单个训练。返回包括练习和训练集在内的完整详细信息。create_workout--制定一项锻炼计划。必修的:title,start_time,end_time(ISO 8601),exercises随着sets.可选:is_private,description.update_workout--用ID替换现有训练。字段与create_workout加id.
惯例
get_routines--列出带分页的例程。参数:page,page_size(最多10个)。get_routine--按ID获取单个例程,包括练习和设置模板。create_routine--创建一个例程(锻炼模板)。必修的:title,folder_id,exercises随着sets.可选:notes.update_routine--用ID替换现有例程。字段与create_routine加id.
练习模板
get_exercise_templates--列出Hevy库中的练习模板。参数:page,page_size(最多100)。get_exercise_template--按ID获取运动模板,包括肌肉群和设备。create_exercise_template--创建自定义练习模板。必修的:title,exercise_type,equipment_category,muscle_group.可选:other_muscles.
常规文件夹
get_routine_folders--列出带分页的常规文件夹。参数:page,page_size(最多10个)。get_routine_folder--按ID获取例程文件夹。create_routine_folder--创建一个文件夹来组织例程。必修的:title.
运动历史
get_exercise_history--获取锻炼模板的锻炼历史记录。必修的:exercise_template_id.可选:start_date,end_date(ISO 8601)。
来源
cargo build --release
HEVY_API_KEY=your-api-key ./target/release/hevy-mcp-server服务器绑定到 127.0.0.1:3000 默认情况下。覆盖 HEVY_HTTP_ADDR:
HEVY_API_KEY=your-api-key HEVY_HTTP_ADDR=0.0.0.0:8080 ./target/release/hevy-mcp-server许可证
MIT许可证-请参阅 许可证 了解详情。
参考文献
- https://api.hevyapp.com/docs/
