프로토타입 · 미리 보기: 공식 레지스트리의 모든 서버를 담고 있으며 30분마다 동기화해요. Google로 로그인하면 리뷰를 쓸 수 있어요.
PopNx MCPAI를 쓰는 사람을 위한 MCP 서버 · 쉬운 말로 설명해요

Garmin Connect

제작자: DynamicsNinja버전 0.11.0i★ 6 (저장소 전체의 별)i클라우드에서 실행
레지스트리 이름io.github.DynamicsNinja/garminconnect

설치 방법

What it does

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

  • Connects 클라우드에서 실행
  • Account or key Sign in to the service when you connect (OAuth)
  • Category 클리닉 및 건강

설치

쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.

검사 5/5 통과 · 내가 묻는 내용은 제작자 서버(garmin.ficdev.xyz)를 거쳐요

먼저: 어떤 AI를 쓰시나요?

쓰는 앱을 고르면 아래에 단계가 나옵니다.

Claude에 연결할 수 있어요 · 약 2분

키 필요 없음, 설치 필요 없음 · claude.ai나 데스크톱 앱에서 한 번 설정하면 채팅에서 쓸 수 있어요 · 무료 계정은 1개까지 · Team/Enterprise는 소유자(Owner)가 추가

  1. Claude의 Connectors 페이지 열기

    CustomizeConnectors

    CustomizeConnectors1+ Add2https://…3Add4
  2. “+ Add” → “Add custom connector”를 누르고 이 2칸 채우기

    여기서 복사해 Claude의 같은 이름 칸에 붙여 넣고 Continue를 누르세요

    Name · 이름Garmin Connect
    Remote MCP server URL · 주소https://garmin.ficdev.xyz/mcp

    Authentication은 Claude가 찾은 그대로 두고 Add를 누르세요

  3. 채팅에서 켜기

    +ConnectorsGarmin Connect

  4. 해 보기

    Garmin Connect을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐

    ✓ Claude가 Garmin Connect을 쓰고 있다고 하거나 답에 Garmin Connect 도구 이름이 나오면 연결된 거예요

메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요

ChatGPT는 기업용 요금제에서만 연결돼요

웹의 ChatGPT Business, Enterprise, Edu에서 워크스페이스 관리자나 소유자가 추가해요 · Free, Plus, Pro를 쓰면: 내 ChatGPT 요금제로는 아직 MCP를 직접 연결할 수 없어요

  1. 웹 ChatGPT에서 MCP 추가 페이지 열기

    Plugins+Add custom MCP server

    ChatGPTPlugins1+2https://…3Create4
  2. 이름과 주소 입력

    이름을 넣고 Connection에 주소를 붙여 넣은 뒤 경고에 체크하고 Create as a plugin을 누르세요

    Name · 이름Garmin Connect
    Connection · 주소https://garmin.ficdev.xyz/mcp
  3. 채팅에서 Garmin Connect 고르기

    새 채팅을 열고 입력 전에 플러그인 목록에서 Garmin Connect을 고르세요

  4. 해 보기

    Garmin Connect을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐

    ✓ ChatGPT가 Garmin Connect을 쓰고 있다고 하거나 답에 Garmin Connect 도구 이름이 나오면 연결된 거예요

메뉴 이름은 2026년 11월 11일에 OpenAI 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요

Claude Code에 연결할 수 있어요 · 약 2분

키 필요 없음, 설치 필요 없음

  1. 터미널 열기

    Mac: Command+스페이스를 누르고 Terminal 입력 · Windows: PowerShell 열기

  2. 이 명령을 붙여 넣고 Enter

    claude mcp add --transport http --scope user garminconnect https://garmin.ficdev.xyz/mcp
  3. Claude Code에서 /mcp 입력

    Garmin Connect이 목록에 있고 연결됨으로 보이면 돼요

  4. 해 보기

    Garmin Connect을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐

    ✓ Claude Code가 Garmin Connect을 쓰고 있다고 하거나 답에 Garmin Connect 도구 이름이 나오면 연결된 거예요

메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요

Cursor에 연결할 수 있어요 · 약 2분

키 필요 없음, 설치 필요 없음

  1. 이 버튼으로 Cursor 열기

    Cursor에서 열기

    Cursor가 설치를 확인하면 Install을 누르세요

  2. Cursor에서 AI 채팅을 Agent 모드로 열기

  3. 해 보기

    Garmin Connect을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐

    ✓ Cursor가 Garmin Connect을 쓰고 있다고 하거나 답에 Garmin Connect 도구 이름이 나오면 연결된 거예요

메뉴 이름은 2026년 11월 11일에 Cursor 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요

VS Code에 연결할 수 있어요 · 약 2분

키 필요 없음, 설치 필요 없음

  1. 이 버튼으로 VS Code 열기

    VS Code에서 열기

    VS Code가 설치를 확인하면 Install을 누르세요

  2. VS Code에서 AI 채팅을 Agent 모드로 열기

  3. 해 보기

    Garmin Connect을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐

    ✓ VS Code가 Garmin Connect을 쓰고 있다고 하거나 답에 Garmin Connect 도구 이름이 나오면 연결된 거예요

메뉴 이름은 2026년 11월 11일에 VS Code 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요

Windsurf, Zed, Gemini CLI 같은 다른 MCP 앱은 추가 방법이 저마다 달라요. 앱 목록에서 확인하세요

MCP를 쓰는 앱 모두 보기 →

웹으로 연결하는 앱용 주소

주소https://garmin.ficdev.xyz/mcp

JSON 설정은 아래 “개발자용”에 있어요

막혔나요? Garmin Connect을 쓰는 사람에게 물어보세요💬 토론 →
개발자용: 터미널 명령과 JSON 설정

웹으로 연결

Claude Code

claude mcp add --transport http --scope user garminconnect https://garmin.ficdev.xyz/mcp

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "garminconnect": {
      "url": "https://garmin.ficdev.xyz/mcp"
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "garminconnect": {
      "type": "http",
      "url": "https://garmin.ficdev.xyz/mcp"
    }
  }
}

이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.

한눈에 보기

GitHub 스타i
6 (저장소 전체의 별)
이 저장소에는 MCP 항목이 여러 개 있어 별은 순위에서 한 번만 세요
주간 다운로드i
npm/PyPI에 없음
연결 방식
클라우드에서 실행
전송 방식
streamable-http
최신 버전i
0.11.0
레지스트리 공개i
2026년 11월 1일
코드 마지막 변경i
2026년 11월 10일
제작자
DynamicsNinja
웹사이트
garmin.ficdev.xyz
레지스트리 상태
활성

어떤 앱에서 쓸 수 있나요

이 서버의 연결 방식과 각 앱의 공식 문서를 바탕으로 했어요. 2026년 11월 10일 확인.

인터넷으로 연결하는 앱

ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast

모든 앱과 장단점 →

할 수 있는 일

서버가 도구 목록을 보여 주기 전에 로그인을 요구해요.

기본 점검i

누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 12일 점검

  • ✓ 통과

    제작자와 저장소 일치

    레지스트리 이름이 GitHub 계정 DynamicsNinja 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요

  • ✓ 통과

    계속 관리되고 있음

    코드 마지막 변경: 그저께

  • ✓ 통과

    라이선스 있음

    MIT 사용

  • ✓ 통과

    엔드포인트 응답

    443ms 만에 응답(HTTP 401)

  • ✓ 통과

    OAuth로 로그인

    OAuth 로그인을 지원한다고 밝혀서, AI 앱이 로그인 화면으로 안내해 줘요

  • … 아직 점검 안 함

    도구 설명에 숨겨진 지시 없음

    아직 점검하지 않았어요. 엔드포인트를 점검할 때 도구 목록을 읽어요

토론

질문하고, 팁을 나누고, 안 되는 점을 알려 주세요. "도움이 됨"이 많은 순서예요.

아직 글이 없어요. 처음으로 질문하거나 공유해 보세요.

이곳의 글은 사용자가 쓴 것으로, PopNx 팀의 글이 아니에요.

Google로 로그인하고 글쓰기

사용자 리뷰

아직 리뷰가 없어요

Google로 로그인하고 리뷰 쓰기

클리닉 및 건강 카테고리의 다른 서버와 비교i

  • 이 카테고리의 다른 서버 1085개 중 82%보다 스타가 많아요
  • 이 카테고리의 다른 서버 1085개 중 68%보다 최근에 레지스트리에 공개됐어요
  • 기본 점검 결과가 이 카테고리의 다른 서버 1085개 중 100%와 같거나 더 좋아요

레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.

자주 묻는 질문

Garmin Connect, 안전한가요?

해당하는 기본 점검 5개 중 5개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.

어떤 키나 코드가 필요한가요?

레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.

내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?

제작자의 클라우드에서 실행돼요. 설치 없이 인터넷으로 연결하지만, 보내는 내용은 제작자의 서버를 거쳐요.

아직 관리되고 있나요?

GitHub 저장소는 마지막으로 그저께 변경됐고, 최신 버전(0.11.0)은 11일 전 레지스트리에 올라왔어요.

어떤 앱에서 쓸 수 있나요?

Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되므로 원격 MCP를 지원하는 앱에서도 쓸 수 있어요. 예: ChatGPT Business 이상.

대신 쓸 수 있는 건 뭐가 있나요?

같은 카테고리에는: Medplum MCP, Mirobody, Apple Health

같은 카테고리의 다른 것

같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.

카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i

Medplum MCP

Securely access and manage FHIR healthcare data stored in Medplum.

제작자: medplum널리 사용됨★ 2.8천4개월 전 업데이트

클라우드에서 실행✓ 서비스 회사 · medplum.com

Mirobody

Lab results to LOINC codes and UCUM units, symptoms and diagnoses to ICPC-3. Offline, no API key.

제작자: thetahealth성장 중↓ 290/주★ 1.5천그저께 업데이트

내 컴퓨터에서 실행✓ thetahealth.ai

Apple Health

Local-first Apple Health MCP server for questions about your sleep, workouts and heart data.

제작자: neiltron성장 중↓ 106/주★ 5752개월 전 업데이트

내 컴퓨터에서 실행

제작자의 README

README 열기

제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.

@dynamicsninja/garminconnect-mcp

Talk to Claude to create Garmin workouts, and read or manage the rest of your Garmin Connect data, through an MCP server built on garminconnect-js.

"Make me a 6×400 m session at 5k pace with 2-minute jog recoveries, put it on Thursday, and send

it to my watch."

Claude previews the workout, waits for your OK, saves it to your Garmin workout library, schedules it, and pushes it to your device.

Unofficial: not made by, or affiliated with, Garmin.

Use it without installing

A hosted copy runs at https://garmin.ficdev.xyz/mcp. You sign in to Garmin once in a browser window and get the same tools, with nothing to install.

  • claude.ai: Settings, Connectors, Add custom connector. Paste the URL and sign in to Garmin in the window that opens. It then shows up in Claude Desktop and mobile on the same account.
  • Claude Code: claude mcp add --transport http garmin https://garmin.ficdev.xyz/mcp
  • Other MCP clients: add a streamable-HTTP server with that URL.

How it differs from the local server:

  • There is no sign_in_to_garmin tool. You sign in when you add the connector.
  • Upload tools take filename and content, plus encoding: "base64" for .fit files. The cap is 10 MB.
  • Downloads come back in the chat instead of being saved to a folder. The cap is 5 MB.

To disconnect, remove the connector. You can also tick "Disconnect my other Garmin connections" on your next sign-in. Privacy details are in PRIVACY.md.

What you need

  • Node.js 18 or newer (node --version to check).
  • A Garmin Connect account.
  • Claude Desktop, or any other MCP client (see Other MCP clients).

Set up

Easiest: the Claude Desktop Extension
  1. Download garminconnect-mcp- .mcpb from the latest release.
  2. Double-click it (or drag it onto Claude Desktop's Settings → Extensions) and choose Install.
  3. Ask Claude something about your Garmin data. The first time, Claude opens a Garmin sign-in page in your browser; sign in there (with your MFA code if you use one) and tell Claude you're done.

Optional settings (tool groups, download folder) are under Settings → Extensions → Garmin Connect.

Other ways to install: npm
1. Install
npm install -g @dynamicsninja/garminconnect-mcp

Install it once rather than running it through npx: Claude Desktop starts several copies of a server at the same moment, and parallel npx installs into one cache folder can break each other (ERR_MODULE_NOT_FOUND … ajv/dist/2020.js).

2. Sign in to Garmin

In a terminal (your password never passes through Claude):

garminconnect-mcp login

It asks for your Garmin email (or, on older accounts, your username), password and, if you use it, your MFA code. The session is saved to ~/.garminconnect-mcp/tokens and renews itself as long as it is used at least once every 30 days.

3. Add it to Claude Desktop

Settings → Developer → Edit Config, and add a garmin entry to claude_desktop_config.json. Point node at the installed server. To find the path, run npm root -g and append /@dynamicsninja/garminconnect-mcp/dist/cli.js.

Windows (use forward slashes):

{

"mcpServers": { "garmin": { "command": "node", "args": ["C:/Users/ /AppData/Roaming/npm/node_modules/@dynamicsninja/garminconnect-mcp/dist/cli.js"] } } }

macOS / Linux:

{

"mcpServers": { "garmin": { "command": "node", "args": ["/usr/local/lib/node_modules/@dynamicsninja/garminconnect-mcp/dist/cli.js"] } } }

If node itself is not found (common with nvm), use its full path from which node as command.

4. Restart Claude Desktop

Quit it completely: tray / menu-bar icon → Quit. Closing the window leaves it running, and it will not read the new config. Start it again, open a new chat, and the Garmin tools appear under the tools icon in the message box.

Using it

Just ask. Some things to try:

  • "Create a strength workout: 3 rounds of 10 back squats at 60 kg, 12 push-ups and a 1-minute plank, 90 s rest between rounds."
  • "Build a swim set for a 25 m pool: 400 easy, 8×100 free on 15 s rest, 200 cool-down."
  • "Schedule that workout for Thursday and send it to my watch."
  • "How did I sleep last night, and what's my training readiness today?"
  • "Summarise my last run: distance, pace, average heart rate and training effect."
  • "What are my race predictions, and how has my HRV trended this month?"
  • "Find my runs over 10 km since June, longest first, and compare their average heart rate."

Workouts are always previewed first. Claude shows the workout in readable form (steps, targets, paces in /km and /mi) and saves nothing until you confirm. Exercise names are checked against Garmin's catalogue, and a mistake in a workout comes back to Claude with exactly where it is, so it can fix it.

Claude Desktop asks before each tool call. You can allow a tool once or always. Tools that delete or overwrite data (deleting activities, workouts, gear, weigh-ins, and so on) are marked destructive, and Claude is told to confirm with you before using them.

What it can do

  • `sign_in_to_garmin`: signs you in through a page that opens in your browser, MFA included, with no terminal needed. See Easiest: the Claude Desktop Extension above.
  • Workouts: preview_workout, create_workout, update_workout, search_exercises, for running, cycling, swimming, strength, HIIT, yoga, pilates, mobility, cardio, rucking and multi-sport; plus listing, scheduling, sending to your watch and deleting.
  • Everything else in garminconnect-js: sleep, HRV, stress, Body Battery, whole-day summaries over up to a year at a time, training readiness and status, race predictions, activities (list, search by type, distance, duration, power, dates, text or place, details, the workout done, download, upload files, RPE and feel), gear, courses, race calendar, devices, badges, weigh-ins and weight goals, food logging (with Garmin Connect+), and more. One tool per library method.

Not exposed: logout (it would delete your saved session), the raw-JSON workout uploads (the checked create_workout replaces them), and the raw GraphQL passthrough unless you opt in.

Settings (environment variables)

VariableDefaultMeaning
GARMIN_MCP_TOKEN_DIR~/.garminconnect-mcp/tokensWhere the session is saved
GARMIN_MCP_DOWNLOAD_DIR~/Downloads/garminWhere downloaded files (FIT, GPX, …) go
GARMIN_MCP_GROUPSallComma-separated tool groups: wellness, activities, metrics, workouts, gear, courses, calendar-events, devices, badges-challenges, body-composition-weight, womens-health, golf, profile-and-misc. Matched case-insensitively; an unknown name is ignored (and if none you list are valid, everything loads). The workout-builder tools are always on. Fewer groups means less of Claude's context used.
GARMIN_MCP_ENABLE_GRAPHQLoffSet to 1 to expose query_garmin_graphql

Set them under "env" in the config entry, for example:

"garmin": {

"command": "node", "args": ["…/dist/cli.js"], "env": { "GARMIN_MCP_GROUPS": "workouts,metrics,wellness,activities" } }

GARMIN_EMAIL (an email or, on older accounts, a username) and GARMIN_PASSWORD, when both are set, work like the extension's email and password settings: the server signs in by itself when there is no saved session (not with MFA).

If you change GARMIN_MCP_TOKEN_DIR, sign in with the same value (GARMIN_MCP_TOKEN_DIR=/path/to/dir garminconnect-mcp login), or the server won't find your session.

Troubleshooting

  • The tools don't appear. Make sure Claude Desktop was fully quit and restarted (step 4). Then Settings → Developer → garmin shows the server's status and a link to its log.
  • "Not logged in to Garmin" or "session expired": ask Claude to sign in again (it calls sign_in_to_garmin), or run garminconnect-mcp login again. The running server picks up the new session on the next request; no restart needed.
  • Sign-in page didn't open: Claude's reply includes the link; open it in any browser on this computer. It expires after 15 minutes; ask Claude to sign in again.
  • `ERR_MODULE_NOT_FOUND` after trying npx: delete the _npx folder in your npm cache (npm config get cache shows where) and use the global install above.
  • "Garmin is rate limiting requests": Garmin throttles bursts of calls. Wait a minute and ask again.
  • HTTP 412 when saving anything (EU accounts): grant upload consent in Garmin Connect's settings once; until then Garmin refuses every write.
  • Very detailed activity data looks cut off: a single tool result is capped at 100,000 characters, and per-second activity data (get_activity_details) is usually larger. Ask for a summary instead, or download the activity file (download_activity) and open it elsewhere.

Updating

npm install -g @dynamicsninja/garminconnect-mcp@latest

then quit and restart Claude Desktop. Your saved session is kept.

Other MCP clients

Any client that can start a stdio server works. The command is garminconnect-mcp (or node …/dist/cli.js). For example, in Claude Code:

claude mcp add garmin -- garminconnect-mcp

Good to know

  • Dates are calendar dates in UTC (YYYY-MM-DD).
  • Everything runs on your machine. Your Garmin session stays in your token folder and is sent only to Garmin. See PRIVACY.md for the full picture.
  • Garmin Connect's API is unofficial and can change. This server is released in lockstep with garminconnect-js, and each release is tested against the library version it contains.