Garmin Connect Personal API
io.github.hanntaPublished by GitHub account hanntav1.1.1Updated Nov 7, 2026
Read-only Garmin Connect data on Garmin's official Personal API: training, sleep, HRV, recovery.
Overview
Read-only MCP server that lets an assistant query your own Garmin Connect training, sleep, HRV, recovery and wellness data via Garmin's official Personal API.
- What you can do
- Review a day or date range at a glance: sleep, HRV, Body Battery, stress, resting heart rate, steps, intensity minutes and activities
- Search activities and inspect one in depth: pace, heart-rate zones, running dynamics, power, training effect, laps and interval reps, time-series streams, structured workouts
- Read sleep and HRV detail per night, including score components, sleep need and baseline status
- Pull daily summaries, heart rate, SpO2, stress, hydration, food log, weight and body composition, fitness age, heart-rate zones and weight goals
- Read wellness sessions and menstrual cycle data, including logged flow, symptoms and moods
- When to use it
- Useful when you want an assistant to interpret your own Garmin training and recovery data, for example reviewing a training block, comparing sleep and HRV trends, or explaining why recovery changed. It is read-only, so it suits analysis and coaching conversations rather than editing anything in Garmin Connect.
- Requirements
- A Garmin Connect Personal API key, created in Garmin Connect on the web, supplied as GARMIN_PERSONAL_API_KEY or saved by the server's auth command. Local use needs Node.js 22+ and runs via npx over stdio; remote hosting on your own Cloudflare account is optional. Network access to Garmin's API is required.
Installation
In SourceWeft
- Open Garmin Connect Personal API in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
Garmin Connect Personal API MCP
Not affiliated with or endorsed by Garmin. Garmin and Garmin Connect are trademarks of Garmin Ltd.
A read-only MCP server that gives AI assistants your own Garmin Connect training, recovery and health data through the official Garmin Connect Personal API. Run it on your own computer, or host it on your own Cloudflare account to use it from anywhere.
AI agents: to set this up for a user, follow docs/AGENT-SETUP.md.
Setup
You need a Garmin Connect Personal API key, which you create in Garmin Connect on the web.
Run locally
The quickest way, for Claude Code, Claude Desktop, Cursor, VS Code and other clients that run local servers. Needs Node.js 22+.
Paste this into your coding agent:
Or do it yourself: docs/LOCAL.md.
Host on Cloudflare
For Claude on the web and on mobile, and any other client that connects to remote servers with OAuth. The free plan is enough, apart from one known limitation.
-
One click:
-
Manual: follow docs/DEPLOY.md.
Then connect your MCP client, such as Claude, ChatGPT, Cursor or VS Code.
Tools
Good to know
- Range tools default to the last 7 days. If a range is too long for one Garmin request, the error says the maximum and the assistant splits it into several calls.
- Output is metric, with the unit in every field name. Dates are
YYYY-MM-DDin your time zone; sleep and HRV are keyed by the wake-up date. - Location, sexual activity and sex drive data are never returned.
- Known limitation:
garmin_get_activity_lapscan fail on long activities on the Cloudflare free plan. See Known limitations.
Development
Requires Node.js 24+.
To try the local server, connect the
MCP Inspector to it and sign in with
OWNER_PASSPHRASE.
Architecture and conventions: docs/DEVELOPMENT.md.
License
Source: README.md at commit f8f1df1
Tools
0Version history
1- v1.1.1LatestNov 7, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
