Garmin MCP应用程序
将您的Garmin手表连接到Claude Desktop。探索交互式图表。
安装
- 下载最新
.mcpb文件来自 发布 - 将其拖到Claude Desktop中进行安装
- 向Claude询问有关您的Garmin数据的任何信息——它会提示您在首次使用时登录
你能做什么
询问克劳德你的健康、训练和健身情况——它会读取你的Garmin数据,并在对话中显示交互式图表。
- 回顾你的一天 --步数、心率、睡眠、压力、身体电池和心率变异性
- 分析你的锻炼 --活动细节、速度分段、人力资源区域和培训效果
- 追踪你的健康状况 --训练准备、训练负荷、最大摄氧量趋势和比赛预测
- 计划你的训练 --创建结构化训练,将其安排在Garmin日历上,或编辑现有训练
你能想象什么
规划你的活动
可视化培训准备情况
Full list of supported Garmin Connect data
| 类别 | 数据 |
|---|---|
| 日常健康 | 步数、心率、睡眠阶段、压力、身体电池、心率变异性 |
| 活动 | 活动列表、活动详细信息、每公里/英里分段、区域人力资源时间 |
| 训练 | 训练准备、训练状态和负荷、最大摄氧量、比赛预测 |
| 简介 | 年龄、体重、身高、心率区、乳酸阈值 |
| 训练 | 列出、创建、更新、删除和安排训练 |
隐私和安全
此应用程序不会存储或收集任何数据。 您的数据直接在您的机器和Garmin Connect API之间流动-没有中间服务器。
Learn more
- 您的凭据将保密。 您通过Claude Desktop内提供的安全登录表单登录。登录和MFA工具仅标记为应用程序(
visibility: ["app"]),这意味着克劳德(法学硕士)不能称呼他们 永远看不到您的电子邮件、密码或MFA代码. - 克劳德不知道你是谁。 LLM只接收您要求的健康/健身数据(步数、睡眠等),它无法访问您的Garmin帐户凭据或OAuth令牌。
- 令牌存储在本地。 OAuth令牌保存在您的计算机上
~/.garminconnect/具有限制性文件权限(0600).除了Garmin Connect API之外,它们从不发送到任何其他地方。 - 您可以随时注销。 注销会清除计算机中所有已保存的令牌。
______________________________________________________________________
Developer / Contributor Guide
入门指南
git clone https://github.com/chenhunghan/garmin-mcp-app.git
cd garmin-mcp-app
npm installnpm install 通过以下方式自动设置git挂钩 学前班:
- 提交消息 --强制执行 常规承诺 通过承诺
- 预推 --运行lint、格式检查、类型检查和测试(与CI相同)
故障排除: core.hooksPath
如果 npm install 警告关于 core.hooksPath,prek无法安装git挂钩。通过取消设置本地配置来修复它:
git config --unset-all --local core.hooksPath
npm run prepare发展
npm run dev # watch-build server + UI
npm run dev:ui # standalone UI dev at localhost:5173
npm run test:lib # run garmin-connect tests
npm run pack # build + package .mcpb bundlenpm run dev:ui 打开 http://localhost:5173 React UI在进程中连接到真正的MCP服务器。您可以根据实际的Garmin API测试登录、MFA和注销,而无需部署到Claude Desktop。
在Claude Desktop中进行测试
跑 npm run build (一次性)或 npm run dev (观看实时重建模式),然后添加到 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"garmin-mcp": {
"command": "node",
"args": ["/absolute/path/to/garmin-mcp-app/dist/index.js"]
}
}
}重新启动克劳德桌面。让Claude检查您的Garmin身份验证——它将在iframe中呈现应用程序UI,并运行真正的登录/MFA流。
建筑
- MCP服务器 (
src/server.ts)--基于stdio的Node.js服务器,注册工具+UI资源 - React用户界面 (
src/app.tsx)--在主机的沙盒iframe中呈现,通过postMessage - garmin连接 (
packages/garmin-connect/)-Garmin Connect OAuth+API的TypeScript客户端库
承诺公约
承诺必须遵循常规承诺格式:
type(optional-scope): description允许的类型: feat, fix, chore, docs, ci, refactor, test
