使用说明
Garmin Connect MCP服务器
一个全面的FastMCP服务器,通过模型上下文协议(MCP)提供对所有Garmin Connect数据和功能的访问。
特性
此服务器提供用于访问和管理Garmin Connect数据各个方面的工具:
用户资料和基本信息
get_full_name()-获取用户的全名get_unit_system()-获取用户的单位系统首选项get_user_profile()-获取所有用户设置get_userprofile_settings()-获取用户设置
设备管理
get_devices()-获取所有可用设备get_device_last_used()-获取设备上次使用信息get_device_settings(device_id)-获取特定设备的设备设置get_device_alarms()-从所有设备获取活动警报列表get_primary_training_device()-获取有关主要训练设备的详细信息get_device_solar_data(device_id, startdate, enddate)-获取兼容设备的太阳能数据
健康和保健数据
get_stats(cdate)-获取特定日期的用户活动摘要get_user_summary(cdate)-获取特定日期的用户活动摘要get_steps_data(cdate)-获取特定日期的步骤数据get_daily_steps(start, end)-获取两个日期之间的步数数据get_heart_rates(cdate)-获取特定日期的心率数据get_rhr_day(cdate)-获取特定日期的静息心率数据get_hrv_data(cdate)-获取特定日期的心率变异性(HRV)数据get_sleep_data(cdate)-获取特定日期的睡眠数据get_stress_data(cdate)-获取特定日期的压力数据get_all_day_stress(cdate)-获取特定日期的全天压力数据get_body_battery(startdate, enddate)-获取日期之间的车身电池值get_body_battery_events(cdate)-获取特定日期的身体电池事件get_body_composition(startdate, enddate)-获取日期之间的身体成分数据get_stats_and_body(cdate)-获取特定日期的活动数据和身体成分get_hydration_data(cdate)-获取特定日期的水分数据get_respiration_data(cdate)-获取特定日期的呼吸数据get_spo2_data(cdate)-获取特定日期的SpO2数据get_floors(cdate)-获取特定日期的楼层数据get_intensity_minutes_data(cdate)-获取特定日期的强度分钟数据get_max_metrics(cdate)-获取最大度量数据(如vo2MaxValue和fitnessAge)get_fitnessage_data(cdate)-获取特定日期的健身年龄数据get_training_readiness(cdate)-获取特定日期的训练准备数据get_training_status(cdate)-获取特定日期的培训状态数据get_hill_score(startdate, enddate)-获取日期之间的山丘分数数据get_endurance_score(startdate, enddate)-获取日期之间的耐力得分数据
体重和身体成分管理
get_weigh_ins(startdate, enddate)-在两次约会之间称重get_daily_weigh_ins(cdate)-获取特定日期的称重信息add_weigh_in(weight, unitKey, timestamp)-添加称重add_weigh_in_with_timestamps(weight, unitKey, dateTimestamp, gmtTimestamp)-添加带有明确时间戳的权重delete_weigh_ins(cdate, delete_all)-删除特定日期的称重delete_weigh_in(weight_pk, cdate)-删除特定称重add_body_composition(timestamp, weight, ...)-添加身体成分数据add_hydration_data(value_in_ml, timestamp, cdate)-添加水合数据(ml)
血压和医疗数据
get_blood_pressure(startdate, enddate)-获取日期之间的血压数据set_blood_pressure(systolic, diastolic, pulse, timestamp, notes)-添加血压测量delete_blood_pressure(version, cdate)-删除特定的血压测量值get_menstrual_calendar_data(startdate, enddate)-获取日期之间的月经日历数据get_menstrual_data_for_date(fordate)-获取特定日期的月经数据get_pregnancy_summary()-获取妊娠总结数据
齿轮和设备管理
get_gear(userProfileNumber)-获取所有用户装备get_gear_defaults(userProfileNumber)-获取用户配置文件的装备默认值get_gear_ativities(gearUUID, limit)-获取使用特定装备的活动get_gear_stats(gearUUID)-获取特定齿轮的统计数据set_gear_default(activityType, gearUUID, defaultGear)-将装备设置为活动类型的默认装备
目标和挑战
get_goals(status, start, limit)-根据状态设定目标get_adhoc_challenges(start, limit)-为当前用户获取临时挑战get_available_badge_challenges(start, limit)-获取可用徽章挑战get_badge_challenges(start, limit)-获取当前用户的徽章挑战get_non_completed_badge_challenges(start, limit)-为当前用户获取未完成的徽章挑战get_earned_badges()-获取当前用户的徽章get_personal_record()-获取当前用户的个人记录get_inprogress_virtual_challenges(start, limit)-为当前用户进行虚拟挑战
锻炼和训练
get_workouts(start, end)-从头到尾进行锻炼get_workout_by_id(workout_id)-按ID获取锻炼download_workout(workout_id)-按ID下载训练get_race_predictions(startdate, enddate, _type)-获取5公里、10公里、半程马拉松和马拉松的比赛预测get_progress_summary_between_dates(startdate, enddate, metric, groupbyactivities)-获取特定日期之间的进度摘要数据
活动管理和上传/下载
get_activities(start, limit, activitytype)-获取最近的活动get_activities_by_date(startdate, enddate, activitytype, sortorder)-获取特定日期之间的活动get_activities_fordate(fordate)-获取特定日期的活动get_activity(activity_id)-获取基本活动信息get_last_activity()-获取最后一个活动get_activity_details(activity_id, maxchart, maxpoly)-获取详细的活动信息get_activity_splits(activity_id)-获取活动的拆分get_activity_typed_splits(activity_id)-获取活动的键入拆分get_activity_split_summaries(activity_id)-获取活动的拆分摘要get_activity_weather(activity_id)-获取活动的天气数据get_activity_hr_in_timezones(activity_id)-获取活动在不同时区的心率数据get_activity_gear(activity_id)-获取用于活动的装备数据get_activity_exercise_sets(activity_id)-为力量训练活动准备运动套装get_activity_types()-获取可用的活动类型download_activity(activity_id, dl_fmt)-以请求的格式下载活动upload_activity(activity_path)-从文件上传FIT格式的活动delete_activity(activity_id)-删除具有指定ID的活动set_activity_name(activity_id, title)-为具有ID的活动设置名称set_activity_type(activity_id, type_id, type_key, parent_type_id)-设置活动类型create_manual_activity(start_datetime, timezone, type_key, distance_km, duration_min, activity_name)-创建手动活动create_manual_activity_from_json(payload)-从JSON有效负载创建手动活动
公用工程和系统方法
get_all_day_events(cdate)-获取特定日期的可用每日事件数据get_daily_wellness_events_data(startdate)-获取特定日期的每日健康活动数据request_reload(cdate)-请求重新加载特定日期的数据query_garmin_graphql(query)-查询Garmin GraphQL端点logout()-将用户注销会话
用法
服务器将启动并可供MCP客户端连接。所有工具都是自动可用的,可以使用适当的参数调用。
配置
更新.env中的以下变量:
GARMIN_EMAIL:您的Garmin Connect电子邮件GARMIN_PASSWORD:您的Garmin Connect密码
备注
- 服务器使用Garmin Connect Python库进行身份验证和数据访问
- 所有日期参数应采用YYYY-MM-DD格式
- 活动ID可以从活动列表方法中获得
- 某些方法可能需要特定的设备类型或数据可用性
