Garmin MCP和培训
一个全面的模型上下文协议(MCP)服务器,用于与Garmin Connect API交互,并通过力量训练程序的训练示例和训练模板进行了增强。
概述
该项目提供了一个用于与Garmin Connect API交互的服务器,允许用户管理他们的Garmin数据,包括锻炼、健康指标等。它包括力量训练的实际例子和一个对应表,以方便训练的创建。
特性
- MCP服务器集成:全模型上下文协议服务器,可与Claude Desktop无缝集成
- Garmin Connect API:使用python garminconnect包与Garmin Connect直接交互
- 训练样本:力量训练计划的预制锻炼模板
- 运动数据库:具有Garmin兼容格式的综合锻炼库
- 锻炼模板:针对不同肌肉群的即用型训练课程
入门指南
先决条件
- Python 3.x
- 所需的Python包(通过安装
uv sync) - Garmin Connect帐户
- 用途 Python Garmin连接包 与Garmin Connect API交互
环境设置
- 创建一个
.env根目录中的文件.env_template包含以下变量的文件:
GARMIN_EMAIL=your_email@example.com
GARMIN_PASSWORD=your_password- 安装依赖项:
uv sync- 为Garmin Connect生成令牌:
python example.py运行服务器
使用MCP检查器
mcp dev garmin_mcp_server.py在Claude Desktop中注册MCP服务器
mcp install garmin_mcp_server.py训练样本
该库包括几个为力量训练计划设计的预建训练课程:
可用锻炼
- 🏋️ 推送完成 (
push_complete_final.py)
- 完成推压日训练 - 目标:胸部、肩部、三头肌 - 包括复合和隔离练习
- 🏋️ 推式雕刻格式 (
push_sculpt_format.py)
- 针对Sculpt项目的推送训练格式 - 基于Alan Ritchson的训练结构 - 针对肌肉锻炼进行了优化
- 🎯 Reacher-背部和自行车 (
reacher_dos_biceps.py)
- 以拉力为重点的训练课程 - 目标:背部、二头车、后三角车 - 全面的拉动动作
- 🦵 腿和腹肌-Ritchson (
legs_abs_ritchson.py)
- 下半身和核心训练 - 目标:腿部、臀肌、腹部 - 高强度腿部训练
- 🏗️ 完成推送训练创建器 (
create_complete_push_workout.py)
- 自动推送锻炼生成器 - 可定制的重复范围和休息时间 - 军用压力机、台式压力机及配件
练习库和对应表
该存储库包括一个具有Garmin兼容格式的综合锻炼数据库。每个练习包括:
- 练习名称和描述
- 目标肌肉群
- 代表范围和休息时间
- 适当的进度计划
- Garmin Connect API格式
练习类别
- 推送动作:卧推、肩推、三头肌练习
- 拉动动作:划船、引体向上、二头肌锻炼
- 腿部运动:深蹲、弓步、腿部压力变化
- 核心与核心:平板、仰卧起坐、旋转运动
- 心脏整合:HIIT协议和调节
文件结构
garmin_mcp/
├── garmin_mcp_server.py # Main MCP server
├── garmin_mcp_server_fixed.py # Enhanced server version
├── garmin_mcp_server_safe.py # Safe mode server
├── example.py # Basic usage example
├── training_examples/
│ ├── push_complete_final.py # Complete push workout
│ ├── push_sculpt_format.py # Sculpt-formatted push
│ ├── reacher_dos_biceps.py # Back & biceps session
│ ├── legs_abs_ritchson.py # Legs & abs workout
│ └── create_complete_push_workout.py # Push generator
├── examples_garmin_data/ # Sample Garmin data
├── scripts/
│ ├── connect_garmin.sh # Connection script
│ ├── install_mcp.sh # MCP installation
│ ├── test_server.sh # Server testing
│ └── workout_tools_guide.sh # Workout tools guide
└── python-garminconnect/ # Garmin Connect API library使用示例
创建自定义训练
from garmin_mcp_server import GarminMCPServer
# Initialize server
server = GarminMCPServer()
# Create custom workout
workout = server.create_workout({
'name': 'Custom Push Day',
'exercises': [
{'name': 'Bench Press', 'sets': 4, 'reps': '8-12'},
{'name': 'Shoulder Press', 'sets': 3, 'reps': '10-15'},
{'name': 'Tricep Dips', 'sets': 3, 'reps': '12-15'}
]
})
# Push to Garmin Connect
server.upload_workout(workout)检索训练数据
# Get recent activities
activities = server.get_activities(limit=10)
# Get body composition
body_data = server.get_body_composition()
# Get heart rate data
hr_data = server.get_heart_rate_data('2024-01-01')贡献
欢迎投稿!请随时提交拉取请求、报告错误或建议新功能。
许可证
该项目是开源的,可在 MIT许可证.
鸣谢
- 内置于 python garminconnect
- 灵感来自 garmin_mcp
- 基于经过验证的力量训练方法的训练计划
支持
对于问题和疑问:
- 检查GitHub上的现有问题
- 创建具有详细描述的新问题
- 包括您的环境设置和错误消息
______________________________________________________________________
*准备好将您的Garmin培训提升到一个新的水平!* 🏋️♂️💪
