openGym MCP

MCP-сервер для учета тренировок: Claude Desktop, Cursor и Cline читают программы, подходы, вес тела и 1ПМ из вашего самостоятельно развернутого openGym

  • 17 207 ★ репозитория
  • Последний коммит
  • AGPL-3.0
MCP-серверОфициальный

Расширенный доступ

Почему такой уровень

  • Читает данные о здоровье: вес тела и историю тренировок из файлов вашего экземпляра openGym
  • Локальный процесс Node получает доступ к папке data и зависимости из npm install, сеть сервер не использует
Все причины и проверки

duartesantos8/opengym

Установка

Ручная установка

git clone https://github.com/DuarteSantos8/openGym && cd openGym/mcp && npm install

Сервер лежит в папке mcp репозитория, пакета в реестре npm у него нет. Сам openGym поднимается отдельно командой docker compose up -d.

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Читает данные о здоровье: вес тела и историю тренировок из файлов вашего экземпляра openGym
  • Локальный процесс Node получает доступ к папке data и зависимости из npm install, сеть сервер не использует

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

openGym MCP — MCP-сервер для учета тренировок, который лежит в папке `mcp/` репозитория трекера openGym и отвечает на вопросы о ваших занятиях. Клиент вроде Claude Desktop запускает его как локальный процесс по stdio, сервер читает файлы `state-<uid>.json` из папки `./data` вашего экземпляра openGym и отдает данные в JSON. Сервер только читает, пишущих инструментов в этой версии нет. Девять инструментов: `list_routines` и `get_routine` показывают программы и предписания по упражнениям, `preview_session` показывает, что приложение выведет на экран при старте тренировки после применения правил прогрессии, `get_week_plan` дает план на семь дней, `list_workouts` и `get_workout` возвращают сессии и разбор по подходам, `get_bodyweight` отдает взвешивания и отклонение от цели, `estimate_1rm` считает лучший расчетный одноповторный максимум и тренд, `muscle_balance` ранжирует мышцы по нагрузке и показывает недогруженные. Числа считают те же чистые функции из `frontend/src/lib/`, что рисуют экран статистики, поэтому ответ агента на вопрос о жиме лежа совпадает с цифрами в приложении. Метки подходов, дат и уровней заранее переведены в читаемый вид в `src/labels.js`, и агенту не нужно разбирать их самому.

Для кого. Для тех, кто ведет тренировки в самостоятельно развернутом openGym и хочет спрашивать у ИИ-ассистента про прогресс, нагрузку и план недели.

Подходит, если

  • Нужно спросить у ассистента, какой у вас расчетный 1ПМ в жиме и как он менялся за последние месяцы
  • Перед тренировкой хочется узнать, какой вес предложит приложение: `preview_session` показывает его после правил прогрессии, а не по сохраненной программе
  • Вы хотите понять, какие мышцы за неделю или месяц остались недогруженными, и получить совет по программе
  • Нужно сверить вес тела с целевой линией и увидеть отклонение числом, не открывая приложение

Не подходит, если

  • Нужно записывать тренировки, вес тела или менять программу через агента: пишущие инструменты автор отложил на следующий этап
  • У вас нет самостоятельно развернутого openGym: сервер читает файлы из папки `./data` экземпляра и не подключается к чужим серверам или облаку
  • Приложение стоит на другой машине, чем клиент, или нужен доступ по HTTP: сервер читает папку данных напрямую, а транспорт HTTP запланирован только на третий этап
  • На машине нет Node.js или нельзя выполнить `npm install`: сервер держится на пакетах MCP SDK и zod

Пример запроса к агенту

Какой у меня расчетный 1ПМ в жиме лежа и как он менялся за последние три месяца? И какие мышцы я недогрузил на этой неделе?

MCP

Транспорт
stdio
Авторизация
не нужна

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

OPENGYM_DATA
Путь к папке data экземпляра openGym, откуда сервер читает файлы состояния
OPENGYM_UID
Идентификатор профиля из data/db.json, нужен при нескольких пользователях

Ограничения

  • Сервер запускается из исходников: нужен клон репозитория, команда `npm install` в папке `mcp/` и Node.js. В образ Docker он не входит.
  • Версия 0.1.0 только читает данные. Запись тренировок, веса и правка программ запланированы на второй этап вместе с ключом доступа, который выдает панель администратора.
  • Сервер видит одного пользователя за запуск. При единственном профиле он находится сам, при нескольких укажите `OPENGYM_UID`: идентификатор лежит в `./data/db.json` в списке `users`.
  • Сам трекер openGym, по словам автора, в значительной части написан в Claude Code. Логика тренировок покрыта тестами, а у сервера в папке `mcp/` есть свои 58 проверок на данных демонстрационной версии.
  • Лицензия AGPL-3.0-or-later. Медиафайлы упражнений в приложении имеют отдельную лицензию и в сервер не входят.

Как отключить. Уберите блок `opengym` из `mcpServers` в настройках клиента и перезапустите клиент. Сервер ничего не записывает и не работает в фоне: он завершается, когда клиент закрывает соединение. Папка `mcp/` с зависимостями остается в клоне репозитория, ее можно удалить.

Частые вопросы

Как подключить Claude Desktop к трекеру тренировок openGym?

Выполните `npm install` в папке `mcp/`, затем добавьте в `claude_desktop_config.json` сервер `opengym` с командой `node`, путем к `mcp/src/index.js` и переменной `OPENGYM_DATA` с путем к папке `data`. После перезапуска клиента в stderr сервера появится строка о профиле, для которого он отвечает.

Чем `get_routine` отличается от `preview_session`?

`get_routine` отдает то, что сохранено в программе. `preview_session` показывает, что приложение выведет на экран при старте: правила прогрессии и история могут поднять или снизить вес. Программа с приседом 3×8 на 60 кг после прогрессии откроется с 75 кг, и вес называть нужно по ответу `preview_session`.

Может ли ассистент через MCP записать тренировку или вес тела?

Нет. В версии 0.1.0 девять инструментов, и все они читают. Запись тренировок, веса и правка программ вынесены на второй этап, для которого нужны ключ доступа из панели администратора и блокировка записи, чтобы не конфликтовать с веб-интерфейсом.

Видит ли ассистент ключи доступа passkey и секреты сессий?

Нет. Сервер читает только файлы `state-<uid>.json` с данными тренировок. Закрытые ключи passkey остаются на вашем устройстве, ключи VAPID и секрет подписи сессий лежат в других файлах и не передаются ассистенту. Сетевых запросов сервер не делает и телеметрии не отправляет.

Как узнать, какие мышцы остались недогруженными?

Вызовите `muscle_balance`: он ранжирует мышцы по нагрузке за неделю, месяц или все время и отдельно называет недогруженные. Тот же расчет приложение показывает на карте мышц, поэтому цифры в чате и на экране совпадают.

Обсуждение

Вопросов и отзывов пока нет.

MCP-серверы

Strava MCP

Strava MCP Server

MCP-сервер Strava: агент читает ваши тренировки, пульс, ватты, сегменты и маршруты и выгружает маршруты в GPX и TCX

MCP-серверШирокий доступ503Звезды репозитория

Garmin MCP

garmin-mcp

Данные Garmin Connect для агента: активности, здоровье, правка названий и заметок. Работает через неофициальную библиотеку python-garminconnect

MCP-серверРасширенный доступ1,4 тыс.Звезды репозитория

Hevy MCP

hevy-mcp

Данные тренировок Hevy для агента: программы, шаблоны упражнений, папки. Нужен ключ API, доступный только с платным Hevy PRO

MCP-серверРасширенный доступ528Звезды репозитория

YouGile MCP

Yougile MCP Server

Российский стек

MCP-сервер для YouGile: проекты, доски, колонки, задачи, пользователи и чаты задач из агента

MCP-серверШирокий доступ20Звезды репозитория

MCP календарь для Claude Desktop: агент смотрит, создает, переносит и удаляет события Google Calendar, включая повторяющиеся, по запросу на обычном языке

MCP-серверШирокий доступ59Звезды репозитория

yougile-mcp

@nebelov/yougile-mcp

Российский стек

MCP-сервер для таск-трекера YouGile с покрытием API v2: проекты, доски, задачи, чаты, сотрудники, стикеры и вебхуки

MCP-серверШирокий доступ10Звезды репозитория

Коротко о README

Главная страница репозитория описывает трекер целиком: план на неделю по библиотеке из более чем 5600 упражнений, подсказки по весам с правилами прогрессии, статистику, вход по passkey, импорт из FitNotes, Strong и Hevy и 19 языков. Быстрый старт сводится к `docker compose up`. Отдельный файл `mcp/README.md` описывает сервер: установку, регистрацию в клиенте, таблицу из девяти инструментов, план второго и третьего этапов и набор тестов.

Бейдж для README

Сообщить о проблеме

Foxx AIopenGym MCP
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.