Skip to main content
Glama

garmin-mcp

Приватный MCP-сервер Garmin Connect для триатлонных тренировок. ~47 инструментов, охватывающих ежедневные показатели здоровья, анализ активностей, тренировочную нагрузку, бег, велосипед, плавание, силовые тренировки и создание тренировок — плюс специфический для триатлона анализ (брик-тренировки, баланс объёма по видам спорта, снимки физической формы по разным дисциплинам).

Развёрнут как удалённый MCP-сервер по HTTPS. Подключается к Claude Desktop или Claude Code через streamable-HTTP транспорт.

Одноразовая настройка аутентификации

Запустите это локально один раз, чтобы сгенерировать токены:

  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. Зарегистрируйте имя приложения (только при первом запуске):

    flyctl apps create garmin-mcp

    Если имя garmin-mcp занято на Fly.io (глобальное пространство имён), используйте уникальное имя, например garmin-mcp-yourname, и обновите поле app в fly.toml соответствующим образом.

  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.

Добавьте FLY_API_TOKEN в секреты вашего репозитория GitHub:

flyctl tokens create deploy

Скопируйте вывод, затем перейдите: GitHub repo → 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:

Команда

Назначение

/morning-check

Ежедневный брифинг готовности (HRV, сон, заряд батареи организма)

/analyze-week

Еженедельный обзор тренировочной нагрузки и баланса видов спорта

/race-readiness

Оценка физической формы перед гонкой по всем дисциплинам

/create-workout

Пошаговый конструктор структурированных тренировок → отправка в Garmin

Переменные окружения

Переменная

Описание

GARMIN_EMAIL

Ваш email Garmin Connect

GARMIN_TOKENS_JSON

Файл токенов в кодировке Base64 (из garmin-mcp-auth)

MCP_AUTH_TOKEN

Bearer-токен, защищающий конечную точку MCP

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