garmin-mcp
garmin-mcp
개인정보 보호에 중점을 둔 트라이애슬론 훈련용 Garmin Connect MCP 서버입니다. 일일 건강 지표, 활동 분석, 훈련 부하, 러닝, 사이클링, 수영, 근력 훈련, 운동 생성 등 약 47개의 도구를 제공하며, 트라이애슬론 특화 분석(브릭 운동, 종목별 훈련량 균형, 종목 간 피트니스 스냅샷)도 포함합니다.
HTTPS를 통해 원격 MCP 서버로 배포됩니다. streamable-HTTP 전송 방식을 사용하여 Claude Desktop 또는 Claude Code에 연결됩니다.
일회성 인증 설정
토큰을 생성하려면 로컬에서 한 번 실행하세요:
로컬에 설치:
pip install -e .Garmin 인증:
garmin-mcp-auth토큰을
~/.garminconnect/garmin_tokens.json에 저장하고 base64 내보내기 명령을 출력합니다.출력된
GARMIN_TOKENS_JSON=...값을 복사하세요. 아래 시크릿 설정 단계에서 필요합니다.
Related MCP server: Strava MCP
Fly.io에 배포
전제 조건: flyctl이 설치되어 있고 인증되어 있어야 합니다(flyctl auth login).
앱 이름 등록(최초 1회만):
flyctl apps create garmin-mcpFly.io(글로벌 네임스페이스)에서
garmin-mcp가 이미 사용 중이라면garmin-mcp-yourname처럼 고유한 이름을 사용하고fly.toml의app필드를 그에 맞게 업데이트하세요.시크릿 설정:
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 구성에 필요합니다.배포:
flyctl deploy확인:
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 | 용도 |
| 일일 컨디션 브리핑(HRV, 수면, 바디 배터리) |
| 주간 훈련 부하 및 종목별 균형 검토 |
| 모든 종목에 대한 대회 전 피트니스 평가 |
| 가이드형 구조화 운동 빌더 → Garmin으로 전송 |
환경 변수
Variable | 설명 |
| Garmin Connect 이메일 |
| Base64로 인코딩된 토큰 파일( |
| MCP 엔드포인트를 보호하는 Bearer 토큰 |
| 서버 포트(기본값: 8000, Fly.io에서 자동 설정) |
This server cannot be deployed
Maintenance
Related MCP Connectors
Your swim, run and ride training, explained. For coaches and athletes, computed from Garmin data.
tri-train is a training platform for triathletes that syncs activities from Strava and Garmin and exposes them to Claude through a remote MCP server. Ask Claude how your last block went, why your run pace dropped, or whether you are fresh enough for Sunday's race, and it answers from your real data: activities with laps and grade-adjusted pace, weekly load and the performance management chart (CTL/ATL/TSB), sleep, HRV and resting heart rate, and your race calendar with predictions. Claude can also act: create and adjust planned workouts with structured intervals, push them to your Garmin watch, add races and write notes. Every change is journaled and can be undone. Read and write access are separate OAuth scopes, and the server enforces them on every call. Built and hosted in Switzerland by a triathlete; data stays on our own servers (Swiss revDSG / GDPR).
Adaptive running coach MCP server — training data, plans, and recovery for AI assistants.
AI coach for Garmin: builds training plans and structured workouts, synced straight to your watch.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceMCP 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.21MIT
- AlicenseBqualityAmaintenancePrivacy-first MCP server for Strava activities, streams, routes and training data.29112 npm3MIT
- AlicenseAqualityAmaintenanceLocal-first Garmin data warehouse with an analysis-grade MCP server. Sync once, analyze forever, even when the API is down.1396 PyPI9MIT
- AlicenseAqualityDmaintenanceUnofficial MCP server bridging Garmin Connect to MCP clients and ChatGPT, providing tools to access health data, activities, and trends via a self-hosted API.11MIT