🏃 Garmin MCP Lite

其他語言: English, 簡體中文.
一個輕量級 Garmin Model Context Protocol (MCP) 服務器,專為耐力運動員設計。
它提供 12 個精心篩選的端點,用於深入分析跑步、騎行、游泳和健康數據——以簡潔、專注的工具集替代臃腫的 80+ 端點方案。
[面向 AI 助手與 LLM]
你正在與 Garmin MCP(Model Context Protocol)服務器交互。
- 數據新鮮度:當用戶詢問近期訓練或健康指標時,始終查詢數據。
- 參數調優:在
garmin_activity_detail 等工具中使用 fields 參數來限制響應負載並節省上下文窗口(例如 ["splits", "hrZones"])。
- 只讀:此服務器提供對 Garmin Connect 的只讀訪問。你無法修改用戶數據。
- 不索要密碼:絕不要向用戶詢問 Garmin 密碼。認證通過本地令牌在帶外處理。
- 健康提示:
garmin_health 現在支持 metric 參數——使用 "steps"、"sleep"、"hrv"、"spo2"、"body_battery" 等來查詢特定數據並節省上下文窗口。
🧰 核心工具(12 個)
🏃 活動與訓練
| 工具 |
功能 |
garmin_activities |
列出跑步/騎行/游泳/潛水記錄,支持日期與類型篩選。 |
garmin_activity_detail |
獲取單次活動詳情(配速、心率區間、分段、GPS 等)。 |
garmin_training_plan |
獲取今天或指定日期的計劃訓練安排。 |
garmin_training_status |
獲取訓練狀態、VO2Max、急性負荷、負荷焦點分佈(有氧/無氧)、恢復時間以及訓練準備度評分。 |
garmin_weekly_stats |
獲取每週/每月/每年的訓練量統計。 |
garmin_coach |
查看當前 Garmin Coach 訓練計劃概覽。 |
💚 健康與福祉
| 工具 |
功能 |
garmin_health |
獲取綜合健康指標:睡眠質量、HRV 狀態、壓力、身體電量、SpO2、呼吸頻率、強度分鐘、每日步數、爬樓層數和靜息心率。支持 metric 參數進行定向查詢。 |
garmin_hr_trend |
獲取最近 7/30/90 天的靜息心率趨勢。 |
🎯 目標與挑戰
| 工具 |
功能 |
garmin_events |
獲取你的比賽日曆:即將到來的比賽日期、目標距離和目標完賽時間。 |
garmin_challenges |
獲取進行中的挑戰:虛擬攀登、月度徽章挑戰及其完成百分比。 |
⌚ 設備與裝備
| 工具 |
功能 |
garmin_gear |
獲取你的跑鞋/自行車裝備列表及其真實累計里程。 |
garmin_device |
獲取已連接設備信息:固件版本、更新可用性、主要設備狀態和註冊日期。 |
🚀 快速開始(通過 PyPI 與 uv)
運行此服務器最簡單的方式是使用 uvx(無需克隆倉庫)。
1. 認證(僅首次)
為什麼不直接把密碼放進 AI 配置?
Garmin 有嚴格的安全措施。從新位置/MCP 服務器登錄通常會觸發 Cloudflare CAPTCHA 或 MFA 郵件驗證碼。如果密碼放在 Claude 的後臺配置中,AI 助手在被挑戰時會靜默凍結或失敗,而你無法輸入驗證碼。
因此,此插件採用安全的兩步策略:先在終端運行登錄腳本。如果遇到挑戰,你可以交互式輸入 MFA 驗證碼。成功後,會話令牌會緩存在本地(有效期約 1 年)。
GARMIN_EMAIL="your@email.com" GARMIN_PASSWORD="your_password" uvx --with garmin-mcp-lite garmin-mcp-lite-login
(💡 中國區用戶:如果你的賬號註冊於 Garmin 中國(garmin.cn),請在命令前加上 GARMIN_IS_CN=true。)
2. 配置 AI 助手
認證完成後,將服務器添加到支持 MCP 的 AI 助手。
Claude Desktop
將以下內容添加到你的 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"garmin-lite": {
"command": "uvx",
"args": [
"garmin-mcp-lite"
]
}
}
}
Cursor / Windsurf / Gemini CLI / 其他 MCP 客戶端
使用與上面完全相同的 command 和 args。服務器會自動從 ~/.garmin-mcp-lite/garmin_tokens.json 加載緩存的令牌。
🛠️ 手動安裝(面向開發者)
如果你想修改代碼:
git clone https://github.com/Golden0Voyager/garmin-mcp-lite.git
cd garmin-mcp-lite
uv sync
GARMIN_EMAIL="your@email.com" GARMIN_PASSWORD="your_password" python -m garmin_mcp_lite.login
python -m garmin_mcp_lite.server
💬 示例查詢
連接後,你可以向 AI 助手提出自然語言問題,例如:
- “我本週的訓練負荷焦點是什麼?”
- “顯示我六月的比賽目標,以及我當前預測的完賽時間。”
- “我的 Grossglockner 虛擬攀登挑戰進展如何?”
- “我的 Descent G1 固件是最新的嗎?”
- “我今天走了多少步?是否在達成每日目標?”
- “分析我昨晚的睡眠質量。”
📊 與其他 Garmin MCP 對比
| 對比項 |
Taxuspt/garmin_mcp |
garmin_mcp_lite |
| 工具數量 |
80+ |
12 |
| 命名 |
mcp_garmin_get_activities_by_date |
garmin_activities |
| 深度查詢 |
否 |
fields 參數控制細節粒度 |
| 訓練負荷 |
基礎 |
急性負荷 + 負荷焦點分佈 |
| 健康深度 |
基礎 |
SpO2、呼吸、強度分鐘、步數 |
| 賽事/挑戰 |
否 |
賽事日曆 + 挑戰進度 |
| 寫操作 |
較多(體重/營養/裝備) |
只讀 |
📄 許可證
MIT © 2026 Haining Yu
本項目基於優秀的 garminconnect 庫構建。它不是 Garmin 官方產品。使用本工具時,請遵守 Garmin Connect 的服務條款。