Skip to main content
Glama
hadidwirsty

intervals-icu-mcp

by hadidwirsty

Intervals.icu MCP Server и AI-тренер по бегу

License: MIT Node.js Version TypeScript Model Context Protocol Tests

Официальный Model Context Protocol (MCP) сервер и интеллектуальная система AI-тренера по бегу для Intervals.icu.

Расширьте возможности ваших AI-ассистентов (Claude Desktop, Antigravity, Cursor, VS Code Cline / Roo-Code): чтение телеметрии в реальном времени, оценка острой и хронической тренировочной нагрузки (CTL/ATL/TSB/ACWR), расчёт VDOT и темповых зон по Джеку Дэниелсу, вычисление кардиального дрейфа и аэробной развязки, прогнозирование времени на соревнованиях, планирование подводки и публикация структурированных тренировок прямо в календарь Intervals.icu.


📑 Содержание


Related MCP server: Intervals.icu MCP Server

✨ Ключевые возможности

  • 🏃 Телеметрия в реальном времени и приём потоков данных: извлечение мощности, пульса, каденса, скорости и интервальных отрезков из завершённых тренировок.

  • ⚡ Двигатель аэробной развязки и кардиального дрейфа: вычисление коэффициента эффективности (EF) $H_1$ против $H_2$ для обнаружения сердечно-сосудистого дрейфа (>5%) или обезвоживания.

  • 🩹 Единая оценка восстановления и готовности: комплексный показатель 0–100%, объединяющий TSB, ACWR, оценку сна, HRV и скачок RHR в сигналы действий «Зелёный/Жёлтый/Красный».

  • 🏆 Прогнозирование времени на соревнованиях и планирование подводки: формула VDOT Джека Дэниелса + корректировки по фитнесу CTL и свежести TSB + генератор снижения объёма на 2–3 недели.

  • ⚖️ ACWR и еженедельное бюджетирование нагрузки: безопасные пределы прогрессии объёма (длинный бег 30–35%, качество 15–20%, лёгкий 45–55%) на основе скользящей базы за 42 дня.

  • 📅 Конструктор структурированных тренировок: публикация тренировок в календарь Intervals.icu с помощью нативного текстового DSL Intervals (Warmup, Main Set Nx, Cooldown).


🚀 Быстрый старт за 3 минуты

1. Предварительные требования

  • Node.js: >= 18.0.0

  • Менеджер пакетов: pnpm (рекомендуется), npm или yarn

  • Аккаунт Intervals.icu и API-ключ

2. Клонирование и сборка

git clone https://github.com/hadidwirsty/intervals-icu-mcp.git
cd intervals-icu-mcp
pnpm install
pnpm run build

⚙️ Конфигурация

Получите свои учётные данные в настройках Intervals.icu:

  1. Прокрутите вниз до раздела Developer.

  2. Скопируйте ваш API-ключ (например, your_api_key_here).

  3. Запишите ваш ID атлета (находится в настройках или в URL профиля, например, i12345 или используйте self).

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

Переменная

Обязательная

Описание

INTERVALS_API_KEY

Да

Ваш личный API-ключ Intervals.icu.

INTERVALS_ATHLETE_ID

Нет

ID атлета по умолчанию (по умолчанию: self). Можно переопределить в каждом вызове.


🔌 Руководства по настройке MCP-клиентов

1. Claude Desktop

Добавьте следующее в ваш claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "intervals-icu": {
      "command": "node",
      "args": ["/ABSOLUTE/PATH/TO/intervals-icu-mcp/dist/index.js"],
      "env": {
        "INTERVALS_API_KEY": "YOUR_API_KEY_HERE",
        "INTERVALS_ATHLETE_ID": "self"
      }
    }
  }
}

2. Antigravity

В настройках MCP Antigravity или в .gemini/config/mcp.json:

{
  "mcpServers": {
    "intervals-icu": {
      "command": "node",
      "args": ["/ABSOLUTE/PATH/TO/intervals-icu-mcp/dist/index.js"],
      "env": {
        "INTERVALS_API_KEY": "YOUR_API_KEY_HERE",
        "INTERVALS_ATHLETE_ID": "self"
      }
    }
  }
}

3. Cursor

В Cursor Settings > Features > MCP Servers или в .cursor/mcp.json:

{
  "mcpServers": {
    "intervals-icu": {
      "command": "node",
      "args": ["/ABSOLUTE/PATH/TO/intervals-icu-mcp/dist/index.js"],
      "env": {
        "INTERVALS_API_KEY": "YOUR_API_KEY_HERE",
        "INTERVALS_ATHLETE_ID": "self"
      }
    }
  }
}

4. VS Code (Cline / Roo-Code)

В cline_mcp_settings.json:

{
  "mcpServers": {
    "intervals-icu": {
      "command": "node",
      "args": ["/ABSOLUTE/PATH/TO/intervals-icu-mcp/dist/index.js"],
      "env": {
        "INTERVALS_API_KEY": "YOUR_API_KEY_HERE",
        "INTERVALS_ATHLETE_ID": "self"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

🤖 Каталог AI-процессов и слэш-команд

Этот репозиторий поставляется с 11 готовыми к использованию AI-процессами в .agents/workflows/, которые можно запускать с помощью слэш-команд:

Слэш-команда

Файл

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

/run-report

run-report.md

Тренерский отчёт после тренировки: анализ соблюдения мощности/пульса, разбивка по интервалам и сердечно-сосудистый дрейф.

/readiness-check

readiness-check.md

Ежедневная оценка восстановления и готовности (0–100% Зелёный/Жёлтый/Красный) на основе TSB, ACWR, сна и RHR.

/cardiac-drift

cardiac-drift.md

Анализ потока телеметрии (пульс против мощности/скорости) с вычислением $H_1$ против $H_2$ коэффициента эффективности (EF) и процента аэробной развязки.

/predict-race

predict-race.md

Оценка времени финиша и темпа для 5K, 10K, HM, FM через VDOT с корректировками CTL/TSB + график снижения объёма на 2–3 недели.

/fitness-status

fitness-status.md

Полный анализ тренировочной нагрузки (фитнес CTL, усталость ATL, форма TSB, риск по скорости наращивания и обнаружение разгрузки).

/weekly-budget

weekly-budget.md

Расчёт безопасного еженедельного тренировочного бюджета (длинный бег 30–35%, качество 15–20%, лёгкий 45–55%) на основе скользящей нагрузки/километража за 42 дня.

/mesocycle-block

mesocycle-block.md

Планирование 4-недельного мезоцикла 3:1 (нагрузочные W1-3 (+5%) и запланированная разгрузка W4 (-25%)).

/backcast-plan

backcast-plan.md

Обратное планирование макроцикла от целевого дня гонки A (13 недель HM, 18 недель FM).

/calc-vdot

calc-vdot.md

Офлайн-калькулятор VDOT Джека Дэниелса и 5 темповых тренировочных зон (лёгкий, марафонский, пороговый, интервальный, повторный).

/check-workout

check-workout.md

Просмотр предстоящих запланированных тренировок из календаря Intervals.icu.

/create-workout

create-workout.md

Публикация структурированных беговых/велосипедных тренировок в календарь с помощью текстового DSL Intervals.


👤 Настройка профиля атлета

Чтобы предоставить вашему AI-ассистенту точный тренерский контекст, настройте свой профиль в .agents/skills/running-coach-analysis/SKILL.md:

  1. Раздел 2 (Профиль атлета): укажите имя, возраст, запасной вес и целевые гоночные задачи.

  2. Раздел 3 (Физиологическая база): укажите запасные CP/FTP, LTHR, максимальный пульс и пульс покоя (примечание: актуальные значения автоматически синхронизируются динамически через MCP).

  3. Раздел 4 (Еженедельная структура и шаблоны): определите еженедельную частоту тренировок, предпочтительные тренировочные сессии (например, субпороговая, VO2Max, длинный бег) и конкретные целевые показатели мощности/темпа.


💬 Примеры чат-запросов

Вот примеры того, как вы можете общаться со своим AI-тренером по бегу:

1. Ежедневная оценка после пробежки

«Вот моя тренировка с этого утра. Пожалуйста, выполни /run-report по моей последней активности. RPE был 6/10, ноги чувствовались пружинистыми во время 3-го интервала.»

2. Проверка готовности перед тренировкой

«/readiness-check — Достаточно ли я восстановился для сегодняшней субпороговой интервальной сессии, или мне стоит ограничить интенсивность до Зоны 2?»

3. Распределение еженедельного объёма

«/weekly-budget distance — Каков мой рекомендуемый общий недельный километраж и максимальный длинный бег на эту неделю?»

4. Прогноз на день гонки и подводка

«/predict-race — Мой активный VDOT равен 50, а целевая полумарафонская гонка назначена на 2026-10-15. Дай мне прогноз времени финиша и график подводки на 2 недели.»

5. Запланировать тренировку в календаре

«/create-workout — Запланируй 50-минутную субпороговую сессию (разминка 12 мин, 6x3 мин при 95-98% CP с отдыхом 1 мин, заминка 6 мин) на завтра.»


🛠️ Полный справочник MCP-инструментов

Сервер предоставляет 20+ инструментов, сгруппированных по категориям:

🏃 1. Активности и потоки данных

  • get_activities: Получение активностей в диапазоне дат (oldest, newest, type).

  • get_activity_details: Получение полной телеметрии, метрик и физиологических значений атлета для ID активности.

  • get_activity_intervals: Извлечение разбивки по кругам и рабочим/восстановительным интервалам.

  • get_activity_streams: Доступ к необработанным данным временных рядов (watts, heartrate, cadence, velocity_smooth, altitude).

  • get_activity_messages: Чтение комментариев и заметок к активности.

  • add_activity_message: Публикация тренерской обратной связи к активности.

👤 2. Биометрия и зоны атлета

  • get_athlete_profile: Получение профиля атлета (FTP, LTHR, максимальный пульс, вес, пульс покоя).

  • get_training_zones: Доступ к границам тренировочных зон по мощности, пульсу и темпу.

🧮 3. Физиология и интеллект выносливости (офлайн)

  • calculate_vdot: Расчёт VDOT и VO₂max по Джеку Дэниелсу из гоночного/темпового теста.

  • calculate_pace_zones: Расчёт 5 темповых тренировочных зон (лёгкий, марафонский, пороговый, интервальный, повторный) в MM:SS/км.

  • predict_race_time: Прогноз времени финиша и темпа (5K, 10K, HM, FM или произвольное км) на основе VDOT с корректировками по фитнесу CTL и свежести TSB.

  • calculate_taper_plan: Генерация еженедельного графика снижения объёма (75% → 50% → 30%) для пиковой свежести TSB в день гонки.

  • analyze_cardiac_drift: Расчёт коэффициента эффективности (EF) и процента аэробной развязки из необработанных потоков телеметрии (heartrateStream, powerOrSpeedStream).

  • calculate_readiness_score: Расчёт единой оценки восстановления (0–100%, Зелёный/Жёлтый/Красный) с объединением TSB, ACWR, сна, HRV и RHR.

⚖️ 4. Тренировочная нагрузка и периодизация (офлайн)

  • analyze_training_load: Расчёт ACWR (ATL/CTL), классификация зон готовности TSB и оценка риска травм по скорости наращивания.

  • calculate_weekly_budget: Расчёт безопасного еженедельного тренировочного бюджета (общий объём, длинный бег 30–35%, качество 15–20%, лёгкий 45–55%) на основе скользящего среднего за 42 дня.

📅 5. Календарь и конструктор тренировок

  • get_events: Получение элементов календаря (запланированные тренировки, заметки, гонки) в диапазоне дат.

  • get_event_by_id: Получение подробных данных о событии по ID.

  • create_running_workout: Конструктор структурированных тренировок — проверка и публикация структурированных тренировок в календарь Intervals.icu с помощью текстового DSL.

  • add_or_update_planned_workout: Создание или обновление запланированных тренировочных событий.

  • add_or_update_note: Добавление текстовых заметок к датам календаря.

  • delete_event: Удаление событий календаря по ID.

  • get_workout_library: Поиск в библиотеке шаблонов тренировок.

  • get_workout_by_id: Получение деталей шаблона тренировки.

🚴 6. Инвентарь и кривые мощности

  • get_gear_list: Список зарегистрированных велосипедов, обуви и оборудования с пробегом (кэш 30 мин).

  • get_athlete_power_curves: Получение кривых зависимости мощности от времени (кэш 60 мин).

💚 7. Самочувствие и временные ряды фитнеса

  • get_wellness_data: Получение ежедневных записей о самочувствии (оценка сна, вариабельность сердечного ритма, ЧСС в покое, утомляемость, болезненность, вес).

  • get_fitness_chart: Получение данных о физической форме в виде временных рядов (ctl, atl, tsb, rampRate, eftp).


🧪 Разработка и тестирование

Запустите полный набор модульных тестов:

# Run Vitest unit tests
pnpm test

# Build TypeScript
pnpm run build

# Watch mode during development
pnpm exec vitest

Включает 59+ модульных тестов, охватывающих автоматические повторные попытки API-клиента при HTTP 429, LRU TTL кэширование, математику VDOT Джека Дэниелса, прогнозирование результатов гонок, анализ кардиального дрейфа, оценку восстановления, аналитику ACWR и проверку DSL тренировок.


📄 Лицензия

Этот проект лицензирован в соответствии с лицензией MIT © Muhammad Hadid Wiransetyo.

A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

View all related MCP servers

Related MCP Connectors

  • MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.

  • Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors — no code.

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

View all MCP Connectors

Latest Blog Posts

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/hadidwirsty/intervals-icu-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server