Skip to main content
Glama

garmin-mcp

개인정보 보호에 중점을 둔 트라이애슬론 훈련용 Garmin Connect MCP 서버입니다. 일일 건강 지표, 활동 분석, 훈련 부하, 러닝, 사이클링, 수영, 근력 훈련, 운동 생성 등 약 47개의 도구를 제공하며, 트라이애슬론 특화 분석(브릭 운동, 종목별 훈련량 균형, 종목 간 피트니스 스냅샷)도 포함합니다.

HTTPS를 통해 원격 MCP 서버로 배포됩니다. streamable-HTTP 전송 방식을 사용하여 Claude Desktop 또는 Claude Code에 연결됩니다.

일회성 인증 설정

토큰을 생성하려면 로컬에서 한 번 실행하세요:

  1. 로컬에 설치:

    pip install -e .
  2. Garmin 인증:

    garmin-mcp-auth

    토큰을 ~/.garminconnect/garmin_tokens.json에 저장하고 base64 내보내기 명령을 출력합니다.

  3. 출력된 GARMIN_TOKENS_JSON=... 값을 복사하세요. 아래 시크릿 설정 단계에서 필요합니다.

Related MCP server: Strava MCP

Fly.io에 배포

전제 조건: flyctl이 설치되어 있고 인증되어 있어야 합니다(flyctl auth login).

  1. 앱 이름 등록(최초 1회만):

    flyctl apps create garmin-mcp

    Fly.io(글로벌 네임스페이스)에서 garmin-mcp가 이미 사용 중이라면 garmin-mcp-yourname처럼 고유한 이름을 사용하고 fly.toml의 app 필드를 그에 맞게 업데이트하세요.

  2. 시크릿 설정:

    flyctl secrets set \
      GARMIN_EMAIL=you@example.com \
      GARMIN_TOKENS_JSON=<base64-from-auth-step> \
      MCP_AUTH_TOKEN=$(openssl rand -hex 32)

    생성된 MCP_AUTH_TOKEN 값을 저장하세요. Claude Desktop 구성에 필요합니다.

  3. 배포:

    flyctl deploy
  4. 확인:

    curl https://garmlink.fly.dev/health

    예상 결과: {"status":"ok"}

GitHub Actions를 통한 자동 배포

첫 번째 수동 배포 이후에는 main으로 푸시할 때마다 GitHub Actions를 통해 자동 배포됩니다.

GitHub 저장소 시크릿에 FLY_API_TOKEN을 추가하세요:

flyctl tokens create deploy

출력값을 복사한 다음 GitHub 저장소 → Settings → Secrets and variables → Actions → New repository secret으로 이동하여 이름을 FLY_API_TOKEN으로 지정하세요.

Claude Desktop 구성

~/Library/Application Support/Claude/claude_desktop_config.json에 추가하세요:

{
  "mcpServers": {
    "garmin": {
      "url": "https://garmlink.fly.dev/mcp",
      "headers": { "Authorization": "Bearer <MCP_AUTH_TOKEN>" }
    }
  }
}

<MCP_AUTH_TOKEN>을 시크릿 설정 단계에서 설정한 값으로 바꾸세요.

코칭 스킬

이 프로젝트 디렉터리에서 Claude Code로 다음 슬래시 명령을 실행하세요:

Command

용도

/morning-check

일일 컨디션 브리핑(HRV, 수면, 바디 배터리)

/analyze-week

주간 훈련 부하 및 종목별 균형 검토

/race-readiness

모든 종목에 대한 대회 전 피트니스 평가

/create-workout

가이드형 구조화 운동 빌더 → Garmin으로 전송

환경 변수

Variable

설명

GARMIN_EMAIL

Garmin Connect 이메일

GARMIN_TOKENS_JSON

Base64로 인코딩된 토큰 파일(garmin-mcp-auth에서 생성)

MCP_AUTH_TOKEN

MCP 엔드포인트를 보호하는 Bearer 토큰

PORT

서버 포트(기본값: 8000, Fly.io에서 자동 설정)

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server that connects Garmin Connect data to Claude, enabling training analysis, recovery checks, and personalized plans based on real metrics like HRV, training load, and activities.
    21
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Unofficial MCP server bridging Garmin Connect to MCP clients and ChatGPT, providing tools to access health data, activities, and trends via a self-hosted API.
    11
    MIT