Intervals.icu MCP-сервер
Сервер Model Context Protocol (MCP) для соединения Claude с API Intervals.icu. Он предоставляет инструменты для аутентификации и извлечения данных для действий, событий и данных о самочувствии.
Требования
Python 3.10 или выше
httpx
python-dotenv
Related MCP server: Education Data MCP Server
Настраивать
1. Установить УФ (рекомендуется)
curl -LsSf https://astral.sh/uv/install.sh | sh2. Клонировать этот репозиторий
git clone https://github.com/mvilanova/intervals-mcp-server.git
cd intervals-mcp-server3. Создать и активировать виртуальную среду
# Create virtual environment with Python 3.12
uv venv --python 3.12
# Activate virtual environment
# On macOS/Linux:
source .venv/bin/activate
# On Windows:
.venv\Scripts\activate4. Синхронизация зависимостей проекта
uv sync5. Настройте переменные среды
Создайте копию .env.example и назовите ее .env , выполнив следующую команду:
cp .env.example .envЗатем отредактируйте файл .env и укажите идентификатор спортсмена Intervals.icu и ключ API:
API_KEY=your_intervals_api_key_here
ATHLETE_ID=your_athlete_id_hereПолучение ключа API Intervals.icu
Войдите в свою учетную запись Intervals.icu
Перейдите в Настройки > API.
Сгенерировать новый ключ API
Как найти свой идентификатор спортсмена
Ваш идентификатор спортсмена обычно виден в URL, когда вы вошли в Intervals.icu. Он выглядит так:
https://intervals.icu/athlete/i12345/...гдеi12345— ваш идентификатор спортсмена
Использование
1. Настройте Claude Desktop
Чтобы использовать этот сервер с Claude Desktop, вам необходимо добавить его в конфигурацию Claude Desktop.
Для настройки Claude Desktop выполните следующую команду из каталога
intervals_mcp_server:
mcp install src/intervals_mcp_server/server.py --name "Intervals.icu" --with-editable . --env-file .envЕсли вы откроете файл конфигурации приложения Claude Desktop
claude_desktop_config.json, он должен выглядеть следующим образом:
{
"mcpServers": {
"Intervals.icu": {
"command": "/Users/<USERNAME>/.cargo/bin/uv",
"args": [
"run",
"--with",
"mcp[cli]",
"--with-editable",
"/path/to/intervals-mcp-server",
"mcp",
"run",
"/path/to/intervals-mcp-server/src/intervals_mcp_server/server.py"
],
"env": {
"INTERVALS_API_BASE_URL": "https://intervals.icu/api/v1",
"ATHLETE_ID": "<YOUR_ATHLETE_ID>",
"API_KEY": "<YOUR_API_KEY>",
"LOG_LEVEL": "INFO"
}
}
}
}Где /path/to/ — это путь к папке кода intervals-mcp-server в вашей системе.
Если вы наблюдаете следующие сообщения об ошибках при открытии Claude Desktop, включите полный путь к uv в командный ключ в файле конфигурации claude_desktop_config.json . Вы можете получить полный путь, запустив which uv в терминале.
2025-04-28T10:21:11.462Z [info] [Intervals.icu MCP Server] Initializing server...
2025-04-28T10:21:11.477Z [error] [Intervals.icu MCP Server] spawn uv ENOENT
2025-04-28T10:21:11.477Z [error] [Intervals.icu MCP Server] spawn uv ENOENT
2025-04-28T10:21:11.481Z [info] [Intervals.icu MCP Server] Server transport closed
2025-04-28T10:21:11.481Z [info] [Intervals.icu MCP Server] Client transport closedПерезагрузите Claude Desktop.
2. Используйте сервер MCP с Клодом
После запуска сервера и настройки Claude Desktop вы можете использовать следующие инструменты, чтобы задавать вопросы о своих прошлых и будущих действиях, событиях и данных о здоровье.
get_activities: Получить список действийget_activity_details: Получить подробную информацию о конкретном действииget_activity_intervals: Получить подробные данные об интервалах для определенной активностиget_wellness_data: Извлечение данных о здоровьеget_events: Получить предстоящие события (тренировки, гонки и т. д.)get_event_by_id: Получить подробную информацию о конкретном событии
Разработка и тестирование
Установите зависимости разработки и запустите тестовый набор с помощью:
uv sync --all-extras
pytest -v testsЗапуск сервера локально
Чтобы запустить сервер вручную (полезно при разработке или тестировании), выполните:
mcp run src/intervals_mcp_server/server.pyЛицензия
Стандартная общественная лицензия GNU v3.0