TI

tyler-irving/garmin-mcp

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

5 stars 8 forks 质量 80 趋势 21MIT

An MCP server that exposes your Garmin Connect health & fitness data to Claude — sleep, HRV, training load, body battery, and more — plus an opt-in tool to build strength workouts.

概览

An MCP server that exposes your Garmin Connect data to Claude as tools. Ask things like "how did I sleep last night?" or "summarise my training load this week" and Claude answers using your real Garmin data instead of you copy-pasting screenshots from the app. Demo uses sample data. Regenerate with uv run --with pillow python scripts/make_demo_gif.py . Single-user, and read-only by default — with one write path for creating strength workouts (see Write tools). Two ways to run it: Every response is a Pydantic model serialised to JSON, with null for fields Garmin did not record. These data in your Garmin account and are disabled unless you set GARMIN_WRITE_ENABLED=1. All other tools stay read-only regardless. Workflow: call preview_strength_workout, review the resolved exercises, then pass its confirmation_token to create_strength_workout (the token is bound to the exact workout previewed).

README

以下为原文 README 节选,完整内容请查看原文。

garmin-mcp

An MCP server that exposes your Garmin Connect data to Claude as tools. Ask things like “how did I sleep last night?” or “summarise my training load this week” and Claude answers using your real Garmin data instead of you copy-pasting screenshots from the app.

Demo uses sample data. Regenerate with uv run --with pillow python scripts/make_demo_gif.py.

Single-user, and read-only by default — with one opt-in write path for creating strength workouts (see Write tools). Two ways to run it:

Mode Where it runs Works with Setup
Local (stdio) Your own machine Claude Desktop One command
Self-hosted HTTP Cloud Run (or anywhere) Claude.ai web, mobile, Desktop ~10 min, ~$0/mo

Tools

Tool What it returns
get_daily_briefing One-call morning snapshot — fuses sleep, HRV, Body Battery, readiness, training load, and resting HR (plus RHR vs. your baseline) so Claude can reason across them in a single shot. Each section degrades to null if unavailable.
get_sleep Sleep duration, stages (deep / light / REM / awake), score, overnight HRV.
get_recent_activities List of recent activities with type, duration, distance, average heart rate.
get_activity_details Full metrics for one activity, including splits, HR zones, and power.
get_training_load Daily training load with acute (ATL), chronic (CTL), ACWR, and current status.
get_training_readiness Daily readiness score 0-100 with contributing factors (sleep, HRV, recovery).
get_hrv_status Current HRV status, baseline range, and the last 7 nights of readings.
get_body_battery Body battery values across the day with min, max, charged, drained.
get_steps_and_calories Daily step count, distance, calories, floors, and intensity minutes.
在 GitHub 查看完整 README

安装

uvx garmin-mcp
新手?先看 mcpskill.org 教程 →

配置

{ "mcpServers": { "garmin": { "command": "uvx", "args": ["garmin-mcp"] } } }