Garmin健康MCP服务器
直接在Claude Desktop和Claude Code CLI中访问您的Garmin Connect健康数据
一 MCP(模型上下文协议) 服务器,为克劳德提供访问您的Garmin可穿戴健康数据的权限,包括睡眠、恢复、HRV、锻炼等。
特性
- 🛌 睡眠分析:小时数、阶段(浅/深/REM)、质量分数
- 🔋 体能电池:Garmin专有的恢复指标(0-100)
- ❤️ HRV跟踪:用于恢复监测的心率变异性趋势
- 🏃 活动数据:按类型、卡路里、持续时间、速度列出的锻炼
- 📊 健康指标:静息心率、压力水平、最大摄氧量
- 📈 交互式图表:生成漂亮的HTML仪表板
- 🔐 安全:凭据存储在本地,仅连接到Garmin的API
快速开始
先决条件
- 克劳德桌面版 或 Claude 代码命令行界面 安装
- Node.js 18+和npm
- python 3.8+
- 使用已连接设备的活动Garmin Connect帐户
安装
# 1. Clone this repository
git clone https://github.com/eversonl/garmin-health-mcp-server.git
cd garmin-health-mcp-server
# 2. Install Node.js dependencies
npm install
# 3. Install Python dependencies
pip3 install garminconnect fitparse gpxpy
# Or on managed systems:
pip3 install --user garminconnect fitparse gpxpy
# 4. Create .env file with your Garmin credentials
cp .env.example .env
# Edit .env and add your GARMIN_EMAIL and GARMIN_PASSWORD
# 5. Authenticate with Garmin Connect
npm run auth配置Claude桌面
编辑您的Claude Desktop配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 视窗:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
添加此MCP服务器配置:
{
"mcpServers": {
"garmin-health": {
"command": "node",
"args": ["/absolute/path/to/garmin-health-mcp-server/index.js"],
"env": {
"GARMIN_EMAIL": "your-email@example.com",
"GARMIN_PASSWORD": "your-password"
}
}
}
}重要:替换 /absolute/path/to/garmin-health-mcp-server/ 使用您克隆此仓库的实际完整路径。
重新启动克劳德桌面
完全退出并重新启动Claude Desktop,以便加载MCP服务器。
与Claude Code CLI一起使用
对于Claude Code CLI用户,此存储库包括 .mcp.json 启用MCP服务器自动加载的配置文件。
Claude代码的快速设置
- 设置环境变量 使用您的Garmin凭据:
# Windows PowerShell
setx GARMIN_EMAIL "your-email@example.com"
setx GARMIN_PASSWORD "your-password" # Linux/macOS
export GARMIN_EMAIL="your-email@example.com"
export GARMIN_PASSWORD="your-password"- 通过Garmin进行身份验证:
npm run auth- 启动克劳德代码 从任何目录:
claude- 验证MCP服务器是否已加载:
/mcp你应该看看 garmin-health 列为已连接。
- 开始查询您的健康数据:
> “我昨晚睡得怎么样?”
> “我今天的身体电池电量是多少?”
📘 有关详细的Claude Code设置说明,请参阅 CLAUDE_CODE_SETUP.md.
备注:The .mcp.json 文件使用环境变量扩展来保证安全性。更新 args 如果将服务器安装在其他位置,请使用路径。
用法
配置后,向Claude提出以下问题:
“我昨晚睡得怎么样?”
“这周我的身体电池是什么样子的?”
“显示我过去一个月的活动”
“我的HRV是否有所改善?”
“生成过去30天的健康仪表板”
Claude将使用MCP工具获取您的Garmin数据并提供见解。
可用工具
服务器向Claude公开这些工具:
| 工具 | 说明 |
|---|---|
get_sleep_data | 睡眠时间、睡眠阶段、睡眠质量评分 |
get_body_battery | 恢复指标(0-100) |
get_hrv_data | 心率变异性趋势 |
get_heart_rate | 休息时,最大、最小心率 |
get_activities | 锻炼/运动数据 |
get_stress_levels | 全天压力跟踪 |
get_summary | 综合健康概述 |
get_user_profile | 帐户和设备信息 |
generate_chart | 创建交互式HTML可视化 |
故障排除
“找不到MCP服务器”
- 验证中的路径
claude_desktop_config.json是绝对的(以开头/或C:\) - 检查一下
index.js存在于该路径上 - 确保你跑了
npm install在repo目录中
“身份验证失败”
- 跑
npm run auth刷新令牌 - 在中检查您的凭据
.env文件或环境变量 - 尝试登录 Garmin Connect 网站验证您的帐户
“工具未出现在Claude中”
- 完全退出Claude Desktop(不要只是关闭窗口)
- 检查Console.app(macOS)或事件查看器(Windows)中的MCP错误
- 验证Node.js是否可访问:
node --version - 检查Python依赖项是否已安装:
python3 -c "import garminconnect"
“缺少数据”
- 某些指标需要特定的Garmin设备(例如,Body Battery需要具有HRV功能的手表)
- 如果设备未佩戴,历史数据可能存在缺口
- 新帐户的历史记录可能有限
“请求太多”/速率限制
- Garmin限制API请求-等待几分钟后重试
- 使用
get_summary工具,而不是调用多个单独的工具
隐私和安全
- ✅ 凭据存储在本地
.env和claude_desktop_config.json - ✅ 本地缓存会话令牌并自动刷新
- ✅ 仅连接到Garmin的官方API服务器
- ✅ 无云存储或第三方数据共享
- ✅ 开源-自己审核代码
相关项目
- 爪机器人技能 -Clawdbot的自动健康监测和主动签到
- python garminconnect -我们用来访问Garmin的API的Python库
发展
# Run the server directly (for testing)
npm start
# Test authentication
npm run auth
# Run tests
npm test许可证
麻省 理工© 埃弗森
学分
内置:
- @模型上下文协议/sdk -MCP-SDK
- python garminconnect -加明API包装
- fitparse -FIT文件解析
- gpxpy -GPX文件处理
______________________________________________________________________
💖 支持这个项目
如果您发现此MCP服务器有用,请考虑支持其开发:
______________________________________________________________________
问题或议题? 打开一个问题 在GitHub上!
