Strava MCP
Strava MCP Server
MCP-сервер Strava: агент читает ваши тренировки, пульс, ватты, сегменты и маршруты и выгружает маршруты в GPX и TCX
- 503 ★ репозитория
- Последний коммит
- MIT
Широкий доступ
Почему такой уровень
- Хранит Client Secret и токены Strava открытым JSON в домашнем каталоге
- Читает персональные данные: пульс, ватты, маршруты и фотографии тренировок, и передает их модели
- Запрашивает право записи профиля `profile:write` и умеет ставить и снимать отметки сегментов
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add mcp/strava-mcp-serverОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Хранит Client Secret и токены Strava открытым JSON в домашнем каталоге
- Читает персональные данные: пульс, ватты, маршруты и фотографии тренировок, и передает их модели
- Запрашивает право записи профиля `profile:write` и умеет ставить и снимать отметки сегментов
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Сервер на Node.js работает через API Strava v3 по stdio и дает агенту 25 инструментов. Он отдает профиль и статистику: данные спортсмена, суммы за год и за все время, зоны пульса и нагрузки в ваттах, кроссовки с пробегом и клубы. По тренировкам он возвращает последние активности и выборки по типу и датам, подробности одной тренировки, круги и фотографии, а также потоки данных (пульс, ватты, каденс, высота) в компактном формате, который можно разбить на части и прореживать. В разделе сегментов агент ищет популярные сегменты вокруг точки, смотрит таблицу лидеров и свои попытки, перечисляет отмеченные сегменты и ставит или снимает отметку. В разделе маршрутов он получает сохраненные маршруты и выгружает их в GPX и TCX. Отдельный инструмент превращает описание тренировки в файл Zwift `.zwo`. Первый запуск проходит так: агент вызывает подключение, на локальном порту 8111 открывается страница, где вы вводите Client ID и Client Secret своего приложения Strava и подтверждаете доступ на сайте Strava. Токены сервер обновляет сам.
Для кого. Для бегунов, велосипедистов и тренеров, которые ведут тренировки в Strava и хотят разбирать нагрузку, темп и пульс вопросами агенту в Claude Desktop или Claude Code.
Подходит, если
- Нужна сводка за месяц или год: километры, время в движении, самая длинная поездка, сравнение недель
- После тренировки хочется увидеть пульс, ватты и каденс по ходу заезда и темп по кругам интервальной работы
- Надо найти сильные сегменты рядом с городом или посмотреть, как вы идете по ним относительно таблицы лидеров
- Маршрут из Strava нужен файлом GPX или TCX для навигатора или часов
- План тренировки, составленный в диалоге, надо превратить в файл для Zwift
Не подходит, если
- Тренировки хранятся не в Strava, например только в Garmin Connect: для этого есть карточка garmin_mcp
- Данные о здоровье лежат в приложении Apple Health, а не в Strava: нужна карточка apple-health-mcp
- Нельзя создавать приложение в личном кабинете разработчика Strava: сервер работает только с вашим Client ID и Client Secret
- Нужно добавить или изменить сами тренировки в Strava: инструментов записи активностей в сервере нет, меняется только отметка сегментов
- Ваш агент не умеет запускать локальные stdio-серверы командой `npx`: сервер подключается только так
Пример запроса к агенту
Сколько километров я пробежал в этом месяце и как менялся пульс на моей последней длительной тренировке?MCP
- Транспорт
- stdio
- Авторизация
- OAuth
Переменные окружения
STRAVA_CLIENT_ID- Client ID приложения Strava, если не использовать окно подключения
STRAVA_CLIENT_SECRETсекрет- Client Secret приложения Strava
STRAVA_ACCESS_TOKENсекрет- Токен доступа OAuth
STRAVA_REFRESH_TOKENсекрет- Токен обновления OAuth
ROUTE_EXPORT_PATH- Каталог для выгрузки маршрутов в GPX и TCX
Ограничения
Проект неофициальный и со Strava не связан. Лицензия MIT, версия пакета 1.2.1, нужен Node.js 18 или новее.
Чтобы начать, нужно создать собственное приложение Strava на `strava.com/settings/api`; домен обратного вызова указывают `localhost`. Сервер запрашивает права `profile:read_all`, `activity:read_all`, `activity:read` и `profile:write`.
Client ID, Client Secret и токены лежат открытым JSON в `~/.config/strava-mcp/config.json`. Порядок источников такой: переменные среды, этот файл, затем локальный `.env`. Пока идет подключение, на порту 8111 работает временный локальный сервер, поэтому порт должен быть свободен.
Данные тренировок включают маршруты и точки на карте, и все, что агент прочитал, попадает в диалог с моделью.
Готовых тестов на реальном аккаунте в репозитории нет: тесты опираются на сохраненные примеры ответов, а отдельный скрипт проверяет сервер по stdio.
Как отключить. Скажите агенту «Disconnect my Strava account»: инструмент отключения удалит сохраненные токены. Затем уберите блок `strava` из `claude_desktop_config.json` или выполните `claude mcp remove strava`, а доступ приложения отзовите на странице Strava в настройках.
Частые вопросы
Как подключить сервер к Claude Desktop?
Добавьте в `claude_desktop_config.json` сервер `strava` с командой `npx` и аргументами `-y` и `@r-huijts/strava-mcp-server`, затем перезапустите Claude Desktop и скажите «Connect my Strava account». Файл лежит в `~/Library/Application Support/Claude` на Mac и в `%APPDATA%\Claude` в Windows.
Как подключить сервер к Claude Code?
Выполните `claude mcp add --transport stdio strava -- npx @r-huijts/strava-mcp-server`, а проверьте командой `claude mcp list`: рядом с сервером должна стоять отметка «Connected».
Какие настройки приложения Strava нужны?
Название и категория любые, адрес сайта может быть `http://localhost`, а домен обратного вызова обязательно `localhost`. После создания скопируйте Client ID и Client Secret.
Можно ли обойтись без окна в браузере?
Да. Задайте переменные среды `STRAVA_CLIENT_ID`, `STRAVA_CLIENT_SECRET`, `STRAVA_ACCESS_TOKEN` и `STRAVA_REFRESH_TOKEN`. Они имеют приоритет над файлом `config.json`.
Куда сохраняются выгруженные маршруты?
В каталог из переменной `ROUTE_EXPORT_PATH`. Форматы два: GPX и TCX, оба для навигаторов и часов.
Почему потоки данных тренировки приходят компактно?
Инструмент потоков по умолчанию возвращает массивы с метаданными, это на 70–80% меньше подробного формата. Большие тренировки он режет примерно на части по 50 КБ, а при необходимости прореживает точки.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыMCP-сервер для учета тренировок: Claude Desktop, Cursor и Cline читают программы, подходы, вес тела и 1ПМ из вашего самостоятельно развернутого openGym
Garmin MCP
garmin-mcp
Данные Garmin Connect для агента: активности, здоровье, правка названий и заметок. Работает через неофициальную библиотеку python-garminconnect
Plane MCP Server — управление проектами Plane
Plane MCP Server
Официальный MCP-сервер Plane: агент ведет проекты, задачи, циклы и релизы через 30 инструментов
MCP Яндекс Трекера в Yandex AI Studio
Яндекс Трекер в MCP Hub
Шаблон MCP Hub в Yandex AI Studio: агент читает связи задач Трекера, создает задачи, комментарии и цели и массово меняет статусы и очереди
Официальный MCP-сервер Todoist: агент ищет, создает и меняет задачи и проекты в вашем аккаунте
MCP-сервер Яндекс Трекера: очереди, задачи, комментарии, переходы по статусам, спринты и поиск на языке запросов Трекера
Сравнение с похожими
Записи с тем же главным запросом: чем они отличаются.
| Запись | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| Strava MCP (эта запись) | нет | OAuth | 503 | |
| Garmin MCP | нет | API-ключ | 1 426 | данные Garmin Connect через библиотеку python-garminconnect, с правкой названий и заметок |
| Apple Health MCP Server | нет | не нужна | 575 | данные Apple Health о сне, тренировках и пульсе, запросы SQL к выгрузке |
Коротко о README
В репозитории даны примеры вопросов по разделам: прогресс, разбор тренировок, маршруты и сегменты, тренерские выводы. Затем идут быстрый запуск за три шага для Claude Desktop и Claude Code, получение ключей приложения Strava, три способа установки и таблицы инструментов по группам. Есть разбор типичных ошибок в `TROUBLESHOOTING.md`, список переменных среды, описание обновления токенов и сжатия потоков данных, журнал изменений и тесты в каталоге `tests`.