Про подключение Garmin MCP к Claude Code и забег в Бечее

·

На днях с подачи приятеля подключил Garmin MCP к Claude Code. Опыт интересный. В первую очередь, потому что все эти данные мне и так известны и доступны в виде сухой статистики в Garmin Connect. Хотелось попробовать новый опыт взаимодействия.

20260328_202912_0a7bbc.webp

Вот что Claude делает очень хорошо, так это строит графики и выполняет рутинные задачи. Ну а еще льстит, конечно. Для эксперимента я попросил построить прогноз на сегодняшний забег. Я долго сомневался бежать 5км или 10км. По итогу бежал 10, потому что слоты на 5 просто закончились :)

Вот с такими данными я пришел к Claude и планировал бежать 28-го марта 10км.

20260328_203523_5c64f5.webp

Прогноз Garmin: 48:56. Реалистичная цель: 48–50 мин. Оптимистичная (при хорошем самочувствии): 47:30.

... Сказал Claude и дал раскладку на гонку:
— Км 1–2: 5:05–5:10 Разгон
— Км 3–8: 4:50–4:55 Основной блок
— Км 9–10: 4:35–4:45 Финишное ускорение

Тут я посмеялся. Уверен, что мой тренер, читающий этот пост тоже посмеялся, зная меня. Для тех кто не знает, скажу: никакого финишного ускорения у меня быть не может. Я так не делаю. У меня или всё ровно, или финишное замедление :D Хотя последнее я стараюсь избегать. И вот, чтобы его избегать и не сбрасывать, мне очень важно бежать всю дистанцию ровно.

"Любой каприз за ваши токены". Claude скорректировал раскладку после уточнения.

20260328_204152_1de959.webp

Это уже выглядит ближе к реальности. Если бы не один нюанс. Claude ничего обо мне не знает. Он проанализировал тренировки и выстроил свои предположения. Насколько они близки к реальной картине не так уж и важно. Просил план, вот держи.

А вот реальный результат. Он сильно отличается от прогноза Garmin и плана Claude. И это очень важно иметь в виду, когда и если вы захотите попробовать эти инструменты в работе.

20260328_204823_e7cc57.webp

20260328_210604_33ee8e.webp

Зачем вообще всё это? Использование ИИ сейчас повсеместно. Но надо быть очень аккуратными с тем, что мы получаем в результате его использования. Чтобы прогнозы были точными, любую модель нужно обучать, запросы должны быть точнее, ограничения в рамках которых модель мыслит должны быть жестче. Иначе результат будет далек от истины.

Но в чем ИИ точно хорош, так это в исполнении рутинных задач. Например, подключив к Claude коннектры Garmin и Calendar, можно делегировать ему планирование тренировок с учетом плана, списка дел в календаре и пожеланий. В результате за считанные секунды неделя будет распланирована, в Календаре и плане Garmin будут стоять тренировки с расписанными блоками. Вот это действительно классно.

Ниже опишу кратко шаги, необходимые для подключения Garmin MCP к Claude Code.


Требования

  • macOS / Linux
  • Python 3.10+
  • uv — менеджер пакетов Python
  • Аккаунт Garmin Connect

Шаг 1 — Установка uv

curl -LsSf https://astral.sh/uv/install.sh | sh

Проверка:
bash
uv --version


Шаг 2 — Клонирование репозитория

git clone https://github.com/Taxuspt/garmin_mcp ~/dev/garmin
cd ~/dev/garmin
uv sync

Шаг 3 — Аутентификация в Garmin Connect

Токены сохраняются в ~/.garminconnect и используются повторно — пароль вводится только один раз.

cd ~/dev/garmin
GARMIN_EMAIL=your@email.com GARMIN_PASSWORD=your_password uv run garmin-mcp-auth

Если включена MFA — нужно ввести код при запросе.

Проверка токенов:
bash
uv run garmin-mcp-auth --verify

Принудительная повторная аутентификация (если токены устарели):
bash
uv run garmin-mcp-auth --force-reauth

Токены действительны ~6 месяцев.


Шаг 4 — Подключение к Claude Code

Добавить MCP-сервер глобально (для всех проектов):

claude mcp add -s user garmin -- /path/to/uv --directory ~/dev/garmin run garmin-mcp

Узнать полный путь к uv:
bash
which uv

Например: /Users/denis/.local/bin/uv

Итоговая команда:
bash
claude mcp add -s user garmin -- /Users/denis/.local/bin/uv --directory /Users/denis/dev/garmin run garmin-mcp

Проверь подключение:
bash
claude mcp list

В случае успеха, должны увидеть что-то вроде garmin: ... - ✓ Connected

После этого MCP доступен в любом проекте без дополнительных настроек.


Шаг 5 — Подключение к Claude Desktop

Нужно открыть файл конфигурации:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Добавить секцию mcpServers:

{
"mcpServers": {
"garmin": {
"command": "/Users/denis/.local/bin/uv",
"args": [
"--directory",
"/Users/denis/dev/garmin",
"run",
"garmin-mcp"
]
}
}
}

Важно заменить /Users/denis на свой домашний каталог. Полный путь к uv важен — Claude Desktop не использует PATH из терминала.

Перезапустить Claude Desktop. В интерфейсе появится иконка с подключённым сервером garmin.


Использование

Тут все конечно зависит от фантазии. Можно начать с простого:

Покажи мою сегодняшнюю активность
Проанализируй мою последнюю пробежку
Сколько шагов я сделал вчера?
Какой у меня был сон на этой неделе?
Сравни тренировки за последние 7 дней

Доступно 96+ инструментов: активности, шаги, сон, пульс, стресс, вес, тренировки, устройства и др.


Обновление токенов

Токены Garmin истекают примерно раз в полгода. При ошибке подключения:

cd ~/dev/garmin
GARMIN_EMAIL=your@email.com GARMIN_PASSWORD=your_password uv run garmin-mcp-auth --force-reauth

Решение проблем

Failed to connect в claude mcp list. Токены не найдены или истекли — повтори Шаг 3.

429 Too Many Requests при аутентификации. Garmin временно заблокировал IP. Надо подождать 15–30 минут и попробуй снова.

Claude Desktop не видит MCP. Нужно убедиться, что в claude_desktop_config.json указан полный путь к uv (не просто uv). Проверь: which uv.

Логи Claude Desktop

  • macOS: ~/Library/Logs/Claude/mcp-server-garmin.log
  • Windows: %APPDATA%\Claude\logs\mcp-server-garmin.log

PS: Еще экспериментировал дополнительно с локальными моделями Ollama + qwen + openapi с гарминовскими ендпоинтами. Но в базовом варианте, это решение выглядит абсолютно нерабочим, если вы хотите просто общаться с ИИ через чат, не тратя время на настройку модели.