mcpField
G
Garmin Connect Personal API

Garmin Connect Personal API

本地服务
github.com健康医疗03 天前更新

关于 Garmin Connect Personal API

Garmin Connect Personal API MCP 是只读服务,让 AI 助手访问个人 Garmin Connect 训练、恢复和健康数据。它可在本地运行或部署到用户自己的 Cloudflare 账户,并提供详细的活动、睡眠和健康记录。

主要功能

  1. 01只读访问 Garmin Connect 数据
  2. 02活动详情、时间序列与分段
  3. 03睡眠和 HRV 记录
  4. 04每日恢复与健康摘要
  5. 05体重、补水和饮食记录
  6. 06健康活动与周期数据

适用场景

  1. 01查看训练活动及运动指标
  2. 02按日期范围追踪睡眠和 HRV
  3. 03检查每日恢复和心率数据
  4. 04查看补水、营养或周期记录

MCP 相关

通过 MCP 工具只读提供 Garmin Connect Personal API 数据。服务可在本地运行,也可托管于 Cloudflare,供远程 MCP 客户端连接。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"hannta-garmin-connect-personal-api": {
"command": "npx",
"args": [
"-y",
"@hannta/garmin-connect-personal-api-mcp"
],
"env": {
"GARMIN_PERSONAL_API_KEY": "<GARMIN_PERSONAL_API_KEY>"
}
}
}
}
启动命令npx -y @hannta/garmin-connect-personal-api-mcp
需要配置的环境变量
GARMIN_PERSONAL_API_KEY密钥Garmin Connect Personal API key (optional: the auth command saves one instead)

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@hannta/garmin-connect-personal-api-mcp1.1.1

工具

27

收录的工具列表 · 更新于 1 周前

参数类型必填说明
datestring否日历日期,YYYY-MM-DD。默认:用户时区中的今天。

详细介绍

带心率线的手表

Garmin Connect Personal API MCP

与 Garmin 无关,也未获其认可。Garmin 和 Garmin Connect 是 Garmin Ltd. 的商标。

一个只读的 MCP 服务,通过官方 Garmin Connect Personal API,为 AI 助手提供你自己的 Garmin Connect 训练、恢复和健康数据。你可以在自己的计算机上运行,也可以托管在自己的 Cloudflare 账户中,以便随时随地使用。

AI Agent:如需为用户完成设置,请按照 docs/AGENT-SETUP.md 操作。

设置

你需要一个 Garmin Connect Personal API 密钥,可在 Garmin Connect 网站上创建。

本地运行

这是面向 Claude Code、Claude Desktop、Cursor、VS Code 和其他可运行本地服务的客户端的最快方式。需要 Node.js 22+。

将以下内容粘贴到你的编码 Agent 中:

Connect @hannta/garmin-connect-personal-api-mcp

或者自行操作:docs/LOCAL.md。

托管到 Cloudflare

适用于网页版和移动版 Claude,以及任何通过 OAuth 连接远程服务的其他客户端。免费套餐已足够,但有一项已知限制。

然后连接你的 MCP 客户端,例如 Claude、 ChatGPT、Cursor 或 VS Code。

工具

工具返回内容
garmin_get_day一天概览:睡眠、HRV、Body Battery、压力、静息心率、强度分钟数、活动
garmin_get_days日期范围内的每日数据,每天一行,包含每日活动总量和训练负荷
garmin_search_activities日期范围内的活动及 Garmin ID 和最快分段,或按周汇总
garmin_get_activity单项活动的详细数据:配速、心率区间、跑步动态、功率、训练效果、间歇总量、按动作分类的力量训练组数
garmin_get_activity_streams单项活动的时间序列(心率、配速、坡度调整配速、步频、功率、海拔……)
garmin_get_activity_laps每圈和每组间歇一行,数据来自活动的 FIT 文件
garmin_get_sleep单晚睡眠详情:包含最佳范围的评分组成项、睡眠需求及其变化原因、午睡
garmin_get_sleep_summaries日期范围内每晚的睡眠数据
garmin_get_hrv单晚 HRV,包含基线、状态和夜间读数
garmin_get_hrv_summaries日期范围内每晚的 HRV 数据
garmin_get_daily_summaries日期范围内每日的静息心率、Body Battery、压力、强度分钟数和步数
garmin_get_weight日期范围内的称重记录和身体成分
garmin_get_profile个人资料设置和心率区间
garmin_get_body_battery每日 Body Battery:充能、消耗,以及背后的睡眠/活动事件
garmin_get_stress每日压力:平均水平,以及处于静息/低/中/高压力的分钟数
garmin_get_steps每日步数、目标和距离
garmin_get_heart_rate单日静息/最低/最高心率,可选择按 15 分钟取平均值
garmin_get_spo2单日血氧(Pulse Ox),可选择按小时统计并附带海拔
garmin_get_fitness_age健身年龄及其组成项(静息心率、BMI、高强度活动天数/分钟数)
garmin_get_heart_rate_zones各运动类型的心率区间
garmin_get_weight_goals当前生效的体重目标(目标 kg)
garmin_get_activity_workouts活动所遵循的结构化训练:步骤、目标(心率、配速、功率)和重复次数
garmin_get_hydration每日补水数据:摄入量、目标、汗液流失量(ml)
garmin_get_food_log单日饮食记录:每餐和每种食物的摄入热量及宏量营养素与目标的对比
garmin_get_wellness_activities健康活动(例如 Health Snapshot、呼吸训练),包含心率、压力、HRV、SpO2
garmin_get_menstrual_cycle周期日、经期和易孕期、预测及周期分析
garmin_get_menstrual_day单日记录的经量、症状和情绪,以及当天的周期摘要
须知
  • 范围工具默认查询最近 7 天。如果某个范围对单次 Garmin 请求来说过长,错误会说明最大范围,助手会将其拆分为多个请求。
  • 输出采用公制单位,每个字段名都包含单位。日期采用你所在时区的 YYYY-MM-DD 格式;睡眠和 HRV 数据按醒来日期标记。
  • 不会返回位置、性活动和性欲数据。
  • 已知限制:garmin_get_activity_laps 在 Cloudflare 免费方案上处理较长的活动时可能会失败。请参阅已知限制。

开发

需要 Node.js 24+。

npm install
cp .dev.vars.example .dev.vars   # then add GARMIN_API_KEY and OWNER_PASSPHRASE
npm run check                     # typecheck, lint, format check, tests
npm run today                     # print today's recovery data using your key
npm run dev                       # MCP server at http://localhost:8787/mcp
npm run build                     # local server in dist/cli.mjs

要试用本地服务,请将 MCP Inspector 连接到它,并使用 OWNER_PASSPHRASE 登录。

架构和约定:docs/DEVELOPMENT.md。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。