MCP.Market

Garmin Connect MCP server

online · 100% uptime
by DynamicsNinja·io.github.DynamicsNinja/garminconnect·v0.11.0·1 stars

Unofficial Garmin Connect access: sleep, HRV, training, activities, workouts and weight.

A97/100grade A
What users say
No reviews yet
Be the first
Safety scan
A97/100

not scanned yet

Adoption
Growing

1 stars

Reviews

Write one

Nobody has reviewed Garmin Connect yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Garmin Connect tools

Tool list not cached yet. `describe` through the gateway fetches it live.

Not scanned yet. New listings are scanned within a day or two of arriving.

How Garmin Connect compares

Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
97/100
higher than 98% of 48,255 servers
Uptime
100%
of our recent checks; the typical remote server answers 100%
Response time
190 ms
faster than 65% of 30,031 servers
GitHub stars
1
more than 65% of 28,688 servers

Release history: 4 versions in the registry since 2026-10-13, latest 2026-10-31, typically one every 8 days.

Install Garmin Connect in Claude Code, Cursor or VS Code

claude mcp add --transport http garminconnect https://garmin.ficdev.xyz/mcp
Add to Cursor

What the publisher says

From the Garmin Connect repository's README, as published. We do not edit it. Read it on GitHub

[![npm][npm-shield]][npm-url] [![Node][node-shield]][node-url] [![License][license-shield]][license-url] [![Last Commit][activity-shield]][activity-url] [![Maintenance][maintenance-shield]][maintenance-url] [![Buy Me a Coffee][bmc-shield]][bmc-url]

Unofficial. Not affiliated with, endorsed by, or supported by Garmin. Garmin and Garmin Connect are trademarks of Garmin Ltd. or its subsidiaries.

A zero-dependency TypeScript client for Garmin Connect, for Node and Next.js server runtimes. It talks to the same undocumented endpoints the mobile app uses, with a fully typed, promise-based API.

It handles Garmin's undocumented SSO/OAuth flow, refreshes tokens for you, and gives you 193 typed methods over the endpoints the mobile app uses, plus two things that exist because Garmin's API is quietly hostile in specific places:

workout rather than an error: global stepOrder numbering that runs through repeat children, id/key triples that must agree, rests measured in a different field from times, and pace targets expressed as descending metres per second. buildWorkout makes all four unreachable (see WORKOUTS.md).

  • A fluent workout builder. Garmin's workout JSON has four traps that produce a silently wrong

string and returns success, so a typo costs you the exercise and tells you nothing. garminconnect-js/exercises turns that into a compile error, with 1830 names verified one by one against a live account.

  • The exercise catalogue, type-checked. Garmin stores an unrecognised exercise name as an empty

Behind both: a verification habit. Every method carries a live-verification status in AGENTS.md, and a write is only "verified" once the stored value has been read back: a 2xx on its own has twice hidden a real defect here.

Want a running app first? garminconnect-nextjs-starter is a Next.js template that signs in (MFA included) and charts your sleep and HRV. Click Use this template, and you're a npm run dev away from your own data. Or try the live demo first.

If you're an AI coding agent (or configuring one), read AGENTS.md first: it's a terser, higher-signal briefing than this README and calls out what does not exist here.

ℹ️ About

garminconnect-js fetches your health, fitness, and activity data from connect.garmin.com so you can use it in your own Node or Next.js server code, without scraping HTML or reverse-engineering the mobile app yourself.

It covers wellness, activities, training metrics, workouts, gear, courses, devices, badges, body composition, women's health, golf, nutrition and training plans (see API coverage for the breakdown). For anything it doesn't wrap, client.connectapi() calls any Garmin Connect endpoint with the same auth.

Compatibility: requires Node.js 18+. This library is server-only (see Node runtime only below for why). It has no runtime dependencies and does not run in a browser or on an Edge runtime.

Status: 0.x, so the public API may still change between minor versions; breaking changes are listed in CHANGELOG.md. The endpoints underneath are undocumented and belong to Garmin, who can change them at any time. That is why every method carries a verification date rather than an assurance.

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Garmin Connect: common questions

Is Garmin Connect MCP server safe?
Yes, by our scan: it is graded A (97/100). Read the Garmin Connect safety report
How do I install Garmin Connect?
It runs remotely at garmin.ficdev.xyz. Add it to Claude Code, Cursor, VS Code or Claude Desktop with the snippets above, or call it through the mcp.market gateway without installing anything.
Does Garmin Connect need an API key?
Not as far as the registry entry and our scan can tell: no credentials are declared or required.
Is Garmin Connect maintained?
The last commit was 22 days ago (2026-10-13). The latest release is v0.11.0.
Is Garmin Connect up?
100% of our last 28 checks got an answer. We check remote servers about four times a day.
How does Garmin Connect compare with other MCP servers?
safety score 97/100 (higher than 98% of 48,255 servers); uptime 100% (of our recent checks; the typical remote server answers 100%); response time 190 ms (faster than 65% of 30,031 servers). Full comparison.