用途
MacroFactor MCP 是一个在本地运行的「Fueling & Recovery Decision Engine」(营养补给与恢复决策引擎)。它把 MacroFactor 的营养数据与 Garmin 的训练数据组合起来,让用户可以向 MCP 客户端提出决策类问题,而不是自己在营养、睡眠、身体和训练等多个界面之间手动对比。
它试图回答的核心问题包括:我恢复了吗?我的补给起作用了吗?下周应该改变什么?
主要能力
项目提供四项旗舰工作流,所有示例均使用合成数据:
- recovery_check(我恢复了吗?):结合昨晚的睡眠、HRV、身体电量(body battery)、训练负荷以及昨天的补给情况,生成准备度视图。
- daily_briefing(今天的信号合起来说明了什么?):把一天作为一个整体画面呈现,而不是分散的营养与训练日志。
- weekly_report(下周应该改变什么?):回顾七天的营养、体重、训练、睡眠和训练负荷。
- nutrition_performance_correlation(我的补给起作用了吗?):将营养数据与次日的 Garmin 恢复信号进行对比。它会报告样本量,使样本过小或数据缺失的情况保持可见。
使用方式
- 安装 uv,然后确认打包的服务器可以启动。
- 从 MacroFactor 导出数据,将 .xlsx 文件放入一个本地目录,并将以下配置添加到 MCP 客户端配置中(使用绝对路径)。
- 重启 MCP 客户端。服务器会在启动时导入新的工作簿。运行 setup_check,然后提出上述问题之一。
- 如果桌面客户端找不到 uvx,请把 "uvx" 替换为
which uvx返回的绝对路径。
Garmin 接入:Garmin 是可选的。要启用它,将 GARMINTOKENS 指向一个已存在的本地 Garth/Garmin token 目录,然后运行 sync_garmin。
模式选择:可以仅使用 MacroFactor,也可以使用 MacroFactor + Garmin。
适用场景
适用于希望把营养摄入与训练恢复数据结合起来做判断的用户,尤其是需要回答恢复状态、补给效果和下週调整方向等问题的人。Garmin 相关性工作流需要 MacroFactor 与 Garmin 日期有重叠。
限制
- 平台支持:macOS 和 Linux;Windows 未经测试。
- 需要 Python 3.10 或更新版本。
- v0.1 需要手动从 MacroFactor 导出数据,不连接 MacroFactor API。
- 相关性是观察性的,不能证明某一行为导致了某一结果。
- 导入支持遵循当前 MacroFactor Quick Export 和 All-Time Data 工作簿布局。
- 原始营养、身体、训练和 Garmin 数据保留在本地 DuckDB 数据库中,服务器不上传该数据库。但 MCP 工具结果会发送到服务器所连接的任何模型或客户端。请查看该客户端的数据政策,并避免请求超出你愿意分享范围的细节。
- 这是一个非官方项目,与 MacroFactor 或 Stronger By Science 无关联、未获其背书或支持。它不是医疗建议,不能替代合格健康专业人员的护理。
- 采用 MIT License 发布。
- mcp-name: io.github.NasserAlbusaidi/macrofactor-mcp