mcpField
G
Garmin Connect Personal API

Garmin Connect Personal API

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

关于 Garmin Connect Personal API

Garmin Connect Personal API 是面向 AI 助手的非官方只读 MCP 服务,用于查询 Garmin Connect 健康与活动数据。它通过 Garmin Personal API 提供个人指标,不能修改账户内容。

主要功能

  1. 01睡眠、HRV 和心率数据
  2. 02步数、压力和 Body Battery
  3. 03活动搜索与详情
  4. 04体重、营养和月经周期数据

适用场景

  1. 01比较不同日期范围的睡眠
  2. 02查看月度 HRV 趋势
  3. 03汇总近期跑步活动
  4. 04分析睡眠时长与压力的关系

MCP 相关

它将 Garmin Connect Personal API 数据作为工具提供给 MCP 客户端。服务为只读模式,并使用 Garmin Personal API 密钥进行身份验证。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"dynamicsninja-garmin-connect-personal-api": {
"command": "npx",
"args": [
"-y",
"garmin-connect-personal-api-mcp"
],
"env": {
"GARMIN_PERSONAL_API_KEY": "<GARMIN_PERSONAL_API_KEY>"
}
}
}
}
启动命令npx -y garmin-connect-personal-api-mcp
需要配置的环境变量
GARMIN_PERSONAL_API_KEY密钥Garmin Connect Personal API key from connect.garmin.com/app/settings/personalApiToken. Optional if the key is saved in ~/.config/garmin/connect-personal-api-key.

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

安装包
npmgarmin-connect-personal-api-mcp1.0.0

工具

24

收录的工具列表 · 更新于 5 天前

参数类型必填说明
limitinteger否活动数量上限。默认值为 20。
startinteger否从 0 开始的结果偏移量。默认值为 0。
endDatestring否仅包含此日期或之前的活动,格式为 YYYY-MM-DD。
startDatestring否仅包含此日期及之后的活动,格式为 YYYY-MM-DD。
activityTypestring否活动类型筛选条件,例如 running、cycling 或 hiking。

详细介绍

Garmin Connect Personal API MCP 服务

npm License

非官方。 这是一个社区项目,与 Garmin 无关,也未获 Garmin 认可。

这是一个 MCP 服务,可让 Claude 和其他 AI 助手通过 Garmin 官方的 Personal API读取你的 Garmin Connect 数据。你可以提出这类问题:

  • “我本周的睡眠情况与上周相比如何?”
  • “这个月我的 HRV 是在上升还是下降?”
  • “总结一下我最近五次跑步。”
  • “在睡眠少于 6 小时的日子里,我的压力情况如何?”

它基于 garmin-connect-personal-api-js 构建,且为只读服务:无法更改你账户中的任何内容。

设置

  1. 在 Garmin Connect上创建 Personal API 密钥。
  2. 按照下方说明,将此服务添加到你的 AI 客户端,并将密钥设为 GARMIN_PERSONAL_API_KEY。你需要 Node.js 20.4 或更高版本。
Claude Desktop

打开 Settings → Developer → Edit Config,然后添加:

{
  "mcpServers": {
    "garmin": {
      "command": "npx",
      "args": ["-y", "garmin-connect-personal-api-mcp"],
      "env": {
        "GARMIN_PERSONAL_API_KEY": "your-personal-api-key"
      }
    }
  }
}

之后重启 Claude Desktop。

Claude Code
claude mcp add garmin --env GARMIN_PERSONAL_API_KEY=your-personal-api-key -- npx -y garmin-connect-personal-api-mcp
其他 MCP 客户端

将 GARMIN_PERSONAL_API_KEY 设好后,以 stdio 服务的方式运行 npx -y garmin-connect-personal-api-mcp。

避免将密钥放在客户端配置中

你可以将密钥保存到 ~/.config/garmin/connect-personal-api-key(Windows 上为 %USERPROFILE%\.config\garmin\connect-personal-api-key),并在配置中省略 env,以此替代环境变量。这与 gc-personal CLI 使用的是同一个密钥文件。

工具

工具数据
get_daily_sleep_summaries每晚一份摘要:时长、睡眠阶段、睡眠评分
get_daily_sleep某一晚的详细睡眠数据
get_daily_summaries每日步数、卡路里、心率、压力、Body Battery、强度分钟数
get_daily_hrv、get_daily_hrv_summaries某一晚的心率变异性,或日期范围内每晚的心率变异性
get_daily_heart_rate、get_heart_rate_zones某一天的心率采样数据,以及心率区间
get_daily_stress、get_daily_steps、get_daily_hydration日期范围内的每日统计数据
get_daily_body_battery、get_daily_spo2Body Battery 和 SpO2
search_activities、get_activity、get_activity_workouts活动及其详情
get_weight_measurements、get_effective_weight_goals、get_daily_food_logs体重、目标和营养
get_fitness_age、get_user_profile_settings体能年龄和个人资料设置
get_menstrual_cycle_summary、get_menstrual_cycle_day_view月经周期数据
get_wellness_activity_summaries健康活动摘要
api_get其他任意 Personal API GET 端点

日期使用 YYYY-MM-DD 格式,默认为今天。日期范围包含起止日期。

工作原理

服务会将你的 API 密钥换成 Bearer 令牌,并将其缓存在 ~/.config/garmin/connect-personal-api-bearer-token.json中,与 gc-personal CLI 共用。令牌会在过期前续期;如果令牌遭拒,会自动替换。

你的数据会从 Garmin 传输到你连接的 AI 客户端,因此受该客户端的隐私条款约束。

许可证

Apache 2.0。请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

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

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