健身数据管理服务器

一个连接Hevy官方API并暴露健身数据给AI助手的模型上下文协议(MCP)服务器,支持标准输入输出和服务器发送事件两种传输模式。

  • by madebydia
  • TypeScript
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 meimakes/hevy-mcp-server

使用说明

Hewy MCP服务器

模型上下文协议(MCP)服务器,连接到官方的Hevy API,并向人工智能助手公开锻炼数据。支持双传输模式:用于Claude Desktop的stdio和用于远程访问的SSE(例如Poke.com)。

由...建造 @madebydia

部署到铁路

请参阅 铁路部署 有关配置详细信息,请参阅下面的部分。

特性

MCP工具

锻炼管理

  • get-workouts -通过日期过滤获取分页锻炼列表
  • get-workout -按ID获取包含完整细节的单次锻炼
  • create-workout -通过练习和套装创建新的锻炼计划
  • update-workout -更新现有训练
  • get-workout-count -获取统计数据的总锻炼次数
  • get-workout-events -获取锻炼更新/删除自日期以来的活动

日常管理

  • get-routines -列出所有已保存的例程
  • get-routine -按ID获取单个例程
  • create-routine -创建新的锻炼计划模板
  • update-routine -更新现有例程
  • delete-routine -删除例程

运动数据

  • get-exercise-templates -浏览可用练习(标准+自定义)
  • get-exercise-template -按ID获取单次锻炼
  • get-exercise-progress -跟踪特定练习随时间的进展
  • get-exercise-stats -获取个人记录和1RM估算

文件夹组织

  • get-routine-folders -列出常规文件夹
  • get-routine-folder -按ID获取文件夹
  • create-routine-folder -创建新文件夹
  • update-routine-folder -更新文件夹名称
  • delete-routine-folder -删除文件夹

先决条件

  1. Hevy PRO订阅 -API访问必需
  2. Hevy API密钥 -得到它在https://hevy.com/settings?developer
  3. Node.js -版本18或更高

安装

1.克隆和安装依赖项

git clone https://github.com/madebydia/hevy-mcp-server
cd hevy-mcp-server
npm install

2.配置环境

cp .env.example .env

编辑 .env 并添加您的Hevy API密钥:

HEVY_API_KEY=your_hevy_api_key_here
HEVY_API_BASE_URL=https://api.hevyapp.com

# Transport configuration
TRANSPORT=stdio                    # stdio | sse | both
PORT=3004                          # Port for SSE/HTTP mode
HOST=127.0.0.1                     # Host for SSE/HTTP mode

# SSE Configuration (for Poke.com)
SSE_PATH=/mcp                      # SSE endpoint path
HEARTBEAT_INTERVAL=30000           # ms - keep connection alive
AUTH_TOKEN=                        # See Security section below

安全:AUTH_TOKEN配置

当使用SSE模式进行远程访问时(例如,通过ngrok访问Poke.com),您必须设置AUTH_TOKEN以防止未经授权访问您的Hewy数据。

使用以下任一方法生成安全令牌:

选项1:使用内置脚本

npm run generate-token

选项2:使用OpenSSL

openssl rand -hex 32

然后将生成的令牌添加到您的 .env 文件:

AUTH_TOKEN=your_generated_token_here

从Poke.com连接时,将令牌包含在Authorization标头中:

Authorization: Bearer your_generated_token_here

安全说明:

  • ✅ 必需 适用于具有公共/ngrok访问权限的SSE模式
  • ❌ 可选的 用于stdio模式(克劳德桌面)
  • ❌ 可选的 仅适用于本地主机上的SSE模式
  • ⚠️ 永远不要承诺你的 .env 文件或共享您的AUTH_TOKEN

3.建设项目

npm run build

用法

适用于克劳德桌面(stdio模式)

1.在开发模式下运行服务器:

npm run dev

2.配置克劳德桌面

编辑您的Claude Desktop配置文件:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 视窗`%APPDATA%\Claude