garmin-coach-mcp
Local Garmin Coach MCP
Приватные инструменты персонального коучинга Garmin для Codex/ChatGPT desktop и Claude. Сервер работает только через локальный stdio: ни Cloudflare, ни Render, ни публичного URL, ни сервиса учётных записей, ни затрат на хостинг.
В основе среды выполнения лежит etweisberg/garmin-connect-mcp в коммите 87d0ea059fb67f1ce65ac05100df74c3c3777c84. Она сохраняет исходную лицензию AGPL-3.0 и указание авторства Taxuspt в NOTICE.
Предварительные требования
Node.js 20 или новее
pnpm 10.14.0
Учётная запись Garmin Connect и синхронизированные часы
Related MCP server: io.github.matisdsp/fartlek
Установка
cd /home/talvak/Desktop/repos/garmin-coach-mcp
pnpm install --frozen-lockfile
pnpm exec playwright install chromium
pnpm build
pnpm authpnpm auth открывает отдельный видимый профиль Chrome. Войдите вручную, выполните MFA, затем нажмите Enter в терминале. Браузерная сессия сохраняется в ~/.local/share/garmin-coach/browser-profile. Значения CSRF во время выполнения считываются с текущей аутентифицированной страницы и никогда не сохраняются и не выводятся на экран. Каталоги имеют права 0700, файлы — 0600, сохранение паролей отключено, а файл с именем пользователя/паролем не создаётся.
Получение контракта записи профиля Garmin
Garmin не публикует стабильный API для записи профиля ЧСС. Сервер отказывается угадывать его.
pnpm capture:profile-contractКоманда загружает текущую модель приложения Garmin, просит её сохранить без изменений текущие зоны по умолчанию и блокирует результирующий PUT до доставки. Она проверяет маршрут и точное неизменённое тело, затем сохраняет только обезличенную форму метода/пути/полей и поддерживаемые области в ~/.local/state/garmin-coach/profile-write-contract.json с правами 0600.
Если форму Garmin невозможно подтвердить, контракт не сохраняется, и запись профиля остаётся отключённой.
Подключение Codex и ChatGPT desktop
Сначала соберите проект, затем скопируйте config/codex.toml.example в ~/.codex/config.toml или добавьте эквивалентный сервер через ChatGPT desktop Settings > MCP servers. Codex CLI, расширение IDE и ChatGPT desktop используют общую локальную конфигурацию MCP на одном хосте.
В примере используются:
default_tools_approval_mode = "writes"Оба инструмента применения также имеют явный approval_mode = "prompt". После настройки перезапустите клиент и используйте /mcp, чтобы проверить подключение.
ChatGPT web не может запустить этот локальный процесс stdio. Для записи в Garmin используйте ChatGPT desktop/Codex.
Подключение Claude
Объедините config/claude.json.example с конфигурацией MCP в Claude или выполните:
claude mcp add garmin-coach -- /home/talvak/snap/code/current/.local/share/pnpm/node /home/talvak/Desktop/repos/garmin-coach-mcp/dist/index.jsБлокировка файловой системы разрешает только одному локальному клиенту одновременно владеть профилем Chromium для Garmin. Остановите сервер в одном клиенте, прежде чем использовать другой.
Инструменты
Инструмент | Запись в Garmin |
| Нет |
| Нет |
| Нет |
| Да, требуется подтверждение |
| Нет |
| Нет |
| Да, требуется отдельное подтверждение |
Безопасный рабочий процесс
Вызовите
get_coaching_snapshotи сравните результат с Garmin Connect.Вызовите
preview_hr_profile_update.Проверьте каждое поле и подтвердите точное каноническое предложение/хэш.
Вызовите
apply_hr_profile_update; затем синхронизируйте Garmin и визуально проверьте зоны на часах.Вызовите
preview_training_weekдля одной недели, начинающейся с воскресенья.Проверьте его данные о восстановлении, полную полезную нагрузку, предупреждения и хэш.
Вызовите
apply_training_weekс неизменным каноническим предложением/хэшем.Вызовите
verify_training_weekи подтвердите, что понедельник/пятница —135-149 bpm; в пятницу должны отображаться фиксированные инструкции12%.Повторите оба вызова apply, чтобы доказать идемпотентность.
Боль/травма или болезнь блокируют запись тренировок. Восстановление может сохранить, уменьшить или пропустить нагрузку; оно никогда не увеличивает её. Тренировки никогда не удаляются автоматически.
Garmin показывает Treadmill как активность часов в категории Running, а не как вид спорта для структурированных тренировок. Поэтому пятница — это совместимая с бегом тренировка под названием Incline Walk 12%; запускайте её из активности Treadmill на часах. Её указание уклона 12% и целевая зона 135-149 bpm остаются явными.
Утверждённый профиль ЧСС
Поле | Значение |
Максимальная ЧСС | 189 bpm |
ЧСС в покое | 55 bpm |
ЧСС лактатного порога | 181 bpm |
Основа | Резерв ЧСС / настраиваемые BPM |
Зона 1 | 122-134 bpm |
Зона 2 | 135-149 bpm |
Зона 3 | 150-162 bpm |
Зона 4 | 163-176 bpm |
Зона 5 | 177-189 bpm |
Эти значения предварительные: возраст 27, ЧСС в покое 55, расчётная максимальная ЧСС 189 и вручную заданный LTHR 181. Флаги автоматического определения сохраняются. Будущие изменения потребуют нового предпросмотра и подтверждения.
Проверка
Обычные тесты выполняются офлайн и никогда не обращаются к Garmin:
pnpm test
pnpm lint
pnpm format:check
pnpm typecheck
pnpm build
git diff --checkСм. spec.md с описанием поведения и docs/architecture.md с границами доверия.
Лицензия
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityBmaintenanceLocal MCP server that connects Claude Desktop with Garmin and Apple Health data to read training and recovery, estimate heart rate and pace zones, analyze performance, and create structured workouts.22MIT
- AlicenseAqualityBmaintenanceAn MCP server that transforms Garmin data into compact, verdict-first coaching reports for LLMs, computing metrics like CTL/ATL/TSB and ACWR to answer training readiness questions.14MIT
- AlicenseBqualityCmaintenanceA private, read-only MCP server that gives local Codex and Claude Desktop sessions access to athletics and wellness data from a Garmin Forerunner 55. It runs locally over stdio, exposes read-only tools for daily health, recovery, performance, and workouts, and caches data in SQLite.8MIT
- Alicense-qualityBmaintenanceA local, single-user, read-only MCP server that gives Claude Code access to your Garmin health and training data, exposing tools for health snapshots, training status, run details, body metrics, and training analysis.1MIT
Related MCP Connectors
Garmin data in Claude & ChatGPT via the Garmin Health API. OAuth sign-in, no password sharing.
Garmin data in Claude: 135 tools — activities, sleep, HRV, training, workouts. Free, open source.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/talvaknin744/garmin-coach-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server