garmin-connect-mcp

garmin-connect-mcp

MCP server that connects Garmin Connect to Claude Desktop, allowing users to query health and fitness data (sleep, workouts, heart rate, HRV, stress, Body Battery, etc.) in plain English and also log weight, hydration, and schedule workouts.

Category
访问服务器

README

Garmin Connect for Claude

Ask Claude about your Garmin data in plain English.

"How did I sleep last night?" "Show me my runs from the last two weeks." "Am I recovered enough to train hard today?" "How much did I run last month compared to the month before?"

This connects your Garmin Connect account to the Claude Desktop app, so Claude can read your workouts, sleep, heart rate and other health data and talk about them with you.

You do not need to know how to code to use this. The installer asks you a couple of questions and does the rest.


What you need

  • A Mac or a Windows PC
  • The Claude Desktop app
  • A Garmin Connect account with a Garmin watch or device

Install on a Mac

Open the Terminal app. (Press Cmd + Space, type Terminal, press Enter.)

Copy this line, paste it into the Terminal window, and press Enter:

curl -fsSL https://raw.githubusercontent.com/jharkebusch/garmin-connect-mcp/main/install.sh | bash

It will:

  1. Set up a private, self-contained Python environment (your Mac's own Python is not touched)
  2. Ask for your Garmin email and password, and the security code Garmin sends you
  3. Configure Claude Desktop for you

When it finishes, quit Claude Desktop completely with Cmd + Q and open it again. Closing the window is not enough.

Then just ask Claude about your Garmin data.


Install on Windows

Open PowerShell. (Press the Windows key, type PowerShell, press Enter.)

Copy this line, paste it in, and press Enter:

irm https://raw.githubusercontent.com/jharkebusch/garmin-connect-mcp/main/install.ps1 | iex

It does the same three things as the Mac installer.

When it finishes, quit Claude Desktop completely and open it again. Closing the window leaves it running in the system tray -- right-click the tray icon and choose Quit.

To sign in again later, run:

& "$env:USERPROFILE\.garmin-mcp\Scripts\garmin-mcp-setup.exe"

What Claude can do

Health and wellness

Ask about Tool
A day at a glance get_daily_summary
Sleep, stages and sleep score get_sleep
Daily step counts and totals get_steps
Resting, low and high heart rate get_heart_rate
Heart rate variability and recovery get_hrv
Stress through the day get_stress
Body Battery charge and drain get_body_battery
Whether you are ready to train hard get_training_readiness
VO2 max, fitness age, training status get_vo2max_and_fitness
Body weight over time get_weight_history

Workouts and activities

Ask about Tool
Activities in a period list_activities
Activities on one day get_activities_on_day
Everything about one activity get_activity_details
Your most recent activity get_last_activity
Kilometre or mile splits get_activity_splits
Totals over a period get_date_range_summary
Personal bests get_personal_records
Your Garmin devices get_devices
Saved workout plans list_workouts, get_workout
Your training calendar get_scheduled_workouts

Recording things (these change your Garmin account)

Ask Claude to Tool
Log a body weight log_weight
Log water you drank log_hydration
Build a workout plan create_workout
Put a workout on your calendar schedule_workout

Nothing can delete your data. There is no tool that removes an activity, a workout or a weigh-in, so a mistaken request cannot destroy your training history.


Dates in plain English

Every tool understands everyday phrases, so you can just talk normally:

today · yesterday · last night · 3 days ago · last 7 days · this week · last month · 2026-08-18 · 2026-08-01 to 2026-08-18


Your privacy and security

  • Your password is never saved. It is used once during setup to sign in, and then discarded.
  • Only Garmin's access tokens are stored, in ~/.garminconnect, as a file only your user account can read (0600, inside a 0700 folder).
  • Nothing is sent anywhere except Garmin. There is no telemetry, no analytics and no third-party server. Your data goes from Garmin to your own Mac and nowhere else.
  • Everything runs locally on your machine.
  • Your Garmin data only reaches Anthropic if Claude includes it in a reply, the same as anything else you type into Claude.

Updating

Run the same install command again. It updates in place and keeps you signed in.

If you need to sign in again

Garmin sessions renew themselves and rarely expire. If Claude ever says your login has expired, run this in Terminal:

garmin-mcp-setup

If your Terminal does not recognise that command, use the full path:

~/.garmin-mcp/bin/garmin-mcp-setup

Uninstalling

On a Mac:

rm -rf ~/.garmin-mcp ~/.garminconnect ~/.local/bin/garmin-mcp-setup

On Windows (PowerShell):

Remove-Item -Recurse -Force "$env:USERPROFILE\.garmin-mcp", "$env:USERPROFILE\.garminconnect"

Then remove the "garmin" entry from the mcpServers section of your Claude Desktop config:

  • Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Troubleshooting

Claude does not see the Garmin tools. Quit Claude Desktop fully and reopen it. Closing the window leaves it running in the background -- on a Mac press Cmd + Q, on Windows quit it from the system tray icon.

"Your Garmin account is not connected yet." Run garmin-mcp-setup in Terminal.

"Too many requests." Garmin rate-limits sign-in attempts. Wait about 15 minutes.

A number is missing from a reply. Missing means your device did not record it. Some metrics (HRV, Body Battery, training readiness) need a compatible Garmin watch worn overnight. The tools leave a metric out rather than guessing a value.


For developers

git clone https://github.com/jharkebusch/garmin-connect-mcp.git
cd garmin-connect-mcp
uv venv --python 3.12 && VIRTUAL_ENV=.venv uv pip install -e ".[dev]"
VIRTUAL_ENV=.venv uv run pytest

Layout:

  • src/garmin_mcp/server.py — MCP server and tool registration
  • src/garmin_mcp/session.py — authenticated Garmin client, thread offload
  • src/garmin_mcp/dates.py — plain-English date parsing
  • src/garmin_mcp/format.py — trims Garmin JSON into readable text
  • src/garmin_mcp/tools/ — the tools themselves
  • src/garmin_mcp/setup_cli.py — interactive login and Claude configuration

Two design notes:

  • garminconnect is synchronous, so every call is pushed to a worker thread. Otherwise one slow Garmin request stalls the whole server.
  • Login cannot happen inside a tool call, because Garmin's two-factor step needs an interactive prompt. Setup writes a token file; the server only ever reads it.

A caveat worth knowing

Garmin does not publish a public API. This uses the same interface the Garmin mobile app uses, via the garminconnect library. It works well, but Garmin can change that interface at any time and temporarily break third-party tools. If that happens, re-running the installer picks up the fix once the underlying library ships one.

This project is not affiliated with, endorsed by, or connected to Garmin Ltd. Use it with your own account and your own data.

Licence

MIT — see LICENSE.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选