用途
xert-mcp 是一个模型上下文协议(MCP)服务器,作用是把 Claude 连接到 XERT API,让用户可以通过对话方式访问 XERT 平台上的体能签名、训练负荷、训练课程和活动数据。
主要能力
- 体能签名:获取当前 FTP、LTP、HIE 和峰值功率(PP)。
- 训练状态:查看新鲜度、训练负荷和推荐 XSS。
- 每日训练课程:获取 AI 驱动的训练课程推荐。
- 训练课程:列出、查看详情并导出为 ZWO/ERG 格式。
- 活动:浏览活动,包含完整 XSS 指标和 MPA 数据。
- 上传:上传 FIT 文件以进行分析。
使用方式
- 前置条件:Node.js 18 或更高版本;一个 XERT 账号(免费或付费)。
- 克隆仓库:
git clone https://github.com/Milofax/xert-mcp.git,然后cd xert-mcp。 - 安装依赖:
npm install。 - 认证 XERT:运行
npm run setup-auth,按提示输入 XERT 邮箱和密码。令牌会保存到.env。 - 构建项目:
npm run build。 - 添加到 Claude Desktop 配置:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:%APPDATA%\Claude\claude_desktop_config.json将配置中的/path/to/xert-mcp替换为实际安装路径。 - 重启 Claude Desktop 以加载该服务器。
也可以通过 Docker 运行服务器。需先在本地运行设置脚本完成认证,这会生成 xert-tokens.json,其中包含访问令牌和刷新令牌。
可用查询示例
可以向 Claude 提问,例如:
- “我当前的 FTP 和训练状态是什么?”
- “显示我今天的训练课程。”
- “列出我过去 7 天的活动。”
- “我昨天骑行的 XSS 构成是怎样的?”
- “我这周有突破吗?”
- “显示我保存的训练课程。”
- “把我的‘Sunday Endurance’训练课程导出为 ZWO 文件。”
术语说明
- FTP:功能性阈值功率(1 小时可持续功率)。
- LTP:较低阈值功率(燃脂阈值)。
- HIE:高强度能量(无氧工作能力)。
- PP:峰值功率(最大瞬时功率)。
- XSS:Xert 疲劳分数(训练负荷指标)。
- MPA:最大可用功率(实时功率上限)。
令牌管理
服务器会自动处理令牌:访问令牌 7 天后过期,刷新令牌 6 个月后过期;令牌存储在自动创建的 xert-tokens.json 中;遇到 401 错误时令牌会自动刷新,新令牌会被持久化以在服务器重启后继续使用。如果认证彻底失败,重新运行 npm run setup-auth。
当使用 mcp-funnel 或类似工具时,来自 xert-tokens.json 的令牌优先于环境变量,以确保即使环境变量中保存的是旧值,也能使用刷新后的令牌。
适用场景与限制
适用于希望通过 Claude 以自然语言查询和管理 XERT 骑行训练数据的用户。需要自备 XERT 账号并完成本地认证与配置。关于费用、平台兼容性或其他未在资料中提及的信息,暂未提供。