Garmin Connect MCP服务

Garmin Connect MCP服务是一个通过MCP协议访问Garmin Connect健康数据的服务器,提供61种工具覆盖活动、健康、睡眠、身体成分、性能训练等7个类别。

  • by Nicolasvegam
  • TypeScript
  • 本地部署
  • 185 星标
  • 更新于
在 GitHub 查看 Nicolasvegam/garmin-connect-mcp

使用说明

garmin连接mcp

Garmin Connect的MCP服务器。从Claude Code、Claude Desktop、Cursor、Windsurf或任何MCP客户端访问您的健身、健康和训练数据。

61工具 涵盖7个类别:活动、日常健康、趋势、睡眠、身体成分、表现/训练和个人资料/设备。

API端点和基于 python-garminconnect 通过 网络瘾君子.

需求

  • Node.js 20+
  • Garmin Connect帐户(电子邮件和密码)

安装

克劳德代码

claude mcp add garmin -e GARMIN_EMAIL=you@email.com -e GARMIN_PASSWORD=yourpass -- npx -y @nicolasvegam/garmin-connect-mcp

克劳德桌面

增添 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)或 %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "garmin": {
      "command": "npx",
      "args": ["-y", "@nicolasvegam/garmin-connect-mcp"],
      "env": {
        "GARMIN_EMAIL": "you@email.com",
        "GARMIN_PASSWORD": "yourpass"
      }
    }
  }
}

光标

增添 .cursor/mcp.json 在项目根目录中:

{
  "mcpServers": {
    "garmin": {
      "command": "npx",
      "args": ["-y", "@nicolasvegam/garmin-connect-mcp"],
      "env": {
        "GARMIN_EMAIL": "you@email.com",
        "GARMIN_PASSWORD": "yourpass"
      }
    }
  }
}

帆板运动

增添 ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "garmin": {
      "command": "npx",
      "args": ["-y", "@nicolasvegam/garmin-connect-mcp"],
      "env": {
        "GARMIN_EMAIL": "you@email.com",
        "GARMIN_PASSWORD": "yourpass"
      }
    }
  }
}

任何MCP客户端

使用环境变量运行服务器:

GARMIN_EMAIL=you@email.com GARMIN_PASSWORD=yourpass npx -y @nicolasvegam/garmin-connect-mcp

服务器通过stdio使用 模型上下文协议.

可用工具

活动(12个工具)

工具 说明
get_activities 按页码列出最近的活动
get_activities_by_date 在日期范围内搜索活动
get_last_activity 获取最新活动
count_activities 获取活动总数
get_activity 特定活动的汇总数据
get_activity_details 详细指标:人力资源、速度、提升时间序列
get_activity_splits 每公里或每英里分割数据
get_activity_weather 活动期间的天气状况
get_activity_hr_zones 每个心率区的时间
get_activity_exercise_sets 力量训练组合(重复次数、重量)
get_activity_types 所有可用的活动类型
get_progress_summary 按活动类型划分的日期范围内的健身统计数据

日常健康(14个工具)

工具 说明
get_daily_summary 完整的每日总结(步数、卡路里、距离等)
get_steps 日期的步数
get_steps_chart 全天的日内步骤数据
get_heart_rate 心率数据(静息、最大、区域、时间序列)
get_resting_heart_rate 约会时的静息心率
get_stress 压力水平和时间序列
get_body_battery 车身电池电量(日期范围)
get_body_battery_events 一天的电池充电/放电事件
get_respiration 呼吸频率数据
get_spo2 血氧饱和度
get_intensity_minutes 中等/剧烈强度分钟
get_floors 楼层攀升图表数据
get_hydration 每日水合作用/饮水量
get_daily_events 日常健康活动

趋势(4种工具)

工具 说明
get_daily_steps_range 日期范围内的每日步数
get_weekly_steps 每周步骤聚合
get_weekly_stress 周应力总量
get_weekly_intensity_minutes 每周强度分钟数

睡眠(2个工具)

工具 说明
get_sleep_data 睡眠阶段、分数、床/醒时间
get_sleep_data_raw HR和SpO2的原始睡眠数据

车身构造(5个工具)

工具 说明
get_body_composition 体重、BMI、体脂百分比、肌肉质量(日期范围)
get_latest_weight 最近的体重条目
get_daily_weigh_ins 所有人都在为约会称重
get_weigh_ins 在日期范围内称重记录
get_blood_pressure 血压读数(日期范围)

绩效与培训(11个工具)

工具 说明
get_vo2max VO2最大估计值(跑步/骑行)
get_training_readiness 训练准备度得分
get_training_status 培训状态和负荷
get_hrv 心率变异性
get_endurance_score 耐力体能得分
get_hill_score 爬坡表现得分
get_race_predictions 5K/10K/半程/全程马拉松预测
get_fitness_age 估计健身年龄
get_personal_records 所有个人记录
get_lactate_threshold 乳酸阈值心率和步速
get_cycling_ftp 功能阈值功率(循环)

配置文件和设备(13个工具)

工具 说明
get_user_profile 用户社交资料和偏好
get_user_settings 用户设置、测量系统、睡眠时间表
get_devices 已注册的Garmin设备
get_device_settings 特定设备的设置
get_device_last_used 上次使用的设备信息
get_primary_training_device 主要训练设备
get_device_solar_data 太阳能充电数据
get_gear 所有履带式装备/设备
get_gear_stats 装备项目的使用统计数据
get_goals 积极的目标和进展
get_earned_badges 获得徽章和成就
get_workouts 保存的训练
get_workout 按ID列出的具体锻炼

认证

通过环境变量使用Garmin Connect凭据(电子邮件/密码)。OAuth令牌缓存在 ~/.garmin-mcp/ 以避免对每个请求进行重新身份验证。

MFA(多因素身份验证)

如果您的Garmin帐户启用了MFA(具有心电图功能的设备需要),您需要在使用MCP服务器之前运行一次交互式设置:

GARMIN_EMAIL='you@email.com' GARMIN_PASSWORD='yourpass' npx -y @nicolasvegam/garmin-connect-mcp setup

这将:

  1. 登录Garmin Connect
  2. 提示您输入发送到您的电子邮件或身份验证器应用程序的MFA代码
  3. 将OAuth令牌保存到 ~/.garmin-mcp/

设置后,MCP服务器将自动使用保存的令牌——在令牌过期之前不需要MFA提示。当他们这样做时,只需再次运行setup命令。

发展

git clone https://github.com/Nicolasvegam/garmin-connect-mcp.git
cd garmin-connect-mcp
npm install
npm run build

要在本地进行测试:

GARMIN_EMAIL=you@email.com GARMIN_PASSWORD=yourpass npm start

学分

许可证

麻省理工学院