intervals-icu-mcp

intervals-icu-mcp

A Model Context Protocol (MCP) server for Intervals.icu integration. Access your training data, wellness metrics, and performance analysis through Claude and other LLMs.

Category
访问服务器

README

Intervals.icu MCP Server

Intervals.icu MCP Server

A Model Context Protocol (MCP) server for Intervals.icu integration. Access your training data, wellness metrics, and performance analysis through Claude and other LLMs.

Python 3.11+

Overview

This MCP server provides 48 tools to interact with your Intervals.icu account, organized into 9 categories:

  • Activities (10 tools) - Query, search, update, delete, and download activities
  • Activity Analysis (8 tools) - Deep dive into streams, intervals, best efforts, and histograms
  • Athlete (2 tools) - Access profile, fitness metrics, and training load
  • Wellness (3 tools) - Track and update recovery, HRV, sleep, and health metrics
  • Events/Calendar (9 tools) - Manage planned workouts, races, notes with bulk operations
  • Performance/Curves (3 tools) - Analyze power, heart rate, and pace curves
  • Workout Library (2 tools) - Browse and explore workout templates and plans
  • Gear Management (6 tools) - Track equipment and maintenance reminders
  • Sport Settings (5 tools) - Configure FTP, FTHR, pace thresholds, and zones

Additionally, the server provides:

  • 1 MCP Resource - Athlete profile with fitness metrics for ongoing context
  • 6 MCP Prompts - Templates for common queries (training analysis, performance analysis, activity deep dive, recovery check, training plan review, weekly planning)

Prerequisites

  • Python 3.11+ and uv, OR
  • Docker

Intervals.icu API Key Setup

Before installation, you need to obtain your Intervals.icu API key:

  1. Go to https://intervals.icu/settings
  2. Scroll to the Developer section
  3. Click Create API Key
  4. Copy the API key (you'll use it during setup)
  5. Note your Athlete ID from your profile URL (format: i123456)

Installation & Setup

How Authentication Works

  1. API Key - Simple API key authentication (no OAuth required)
  2. Configuration - API key and athlete ID saved to .env file
  3. Basic Auth - HTTP Basic Auth with username "API_KEY" and your key as password
  4. Persistence - Subsequent runs reuse stored credentials

Option 1: Using UV

# Install dependencies
cd intervals-icu-mcp
uv sync

Then configure credentials using one of these methods:

Interactive Setup

uv run intervals-icu-mcp-auth

This will prompt for your API key and athlete ID and save credentials to .env.

Manual Setup

Create a .env file manually:

INTERVALS_ICU_API_KEY=your_api_key_here
INTERVALS_ICU_ATHLETE_ID=i123456

Option 2: Using Docker

# Build the image
docker build -t intervals-icu-mcp .

Then configure credentials using one of these methods:

Interactive Setup

# Create the env file first (Docker will create it as a directory if it doesn't exist)
touch intervals-icu-mcp.env

# Run the setup script
docker run -it --rm \
  -v "/ABSOLUTE/PATH/TO/intervals-icu-mcp.env:/app/.env" \
  --entrypoint= \
  intervals-icu-mcp:latest \
  python -m intervals_icu_mcp.scripts.setup_auth

This will prompt for credentials and save them to intervals-icu-mcp.env.

Manual Setup

Create an intervals-icu-mcp.env file manually in your current directory (see UV manual setup above for format).

Claude Desktop Configuration

Add to your configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Using UV

{
  "mcpServers": {
    "intervals-icu": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/ABSOLUTE/PATH/TO/intervals-icu-mcp",
        "intervals-icu-mcp"
      ]
    }
  }
}

Using Docker

{
  "mcpServers": {
    "intervals-icu": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-v",
        "/ABSOLUTE/PATH/TO/intervals-icu-mcp.env:/app/.env",
        "intervals-icu-mcp:latest"
      ]
    }
  }
}

Usage

Ask Claude to interact with your Intervals.icu data using natural language. The server provides tools, a resource, and prompt templates to help you get started.

Quick Start with MCP Prompts

Use built-in prompt templates for common queries (available via prompt suggestions in Claude):

  • analyze-recent-training - Comprehensive training analysis over a specified period
  • performance-analysis - Analyze power/HR/pace curves and zones
  • activity-deep-dive - Deep dive into a specific activity with streams, intervals, and best efforts
  • recovery-check - Recovery assessment with wellness trends and training load
  • training-plan-review - Weekly training plan evaluation with workout library
  • plan-training-week - AI-assisted weekly training plan creation based on current fitness

Activities

"Show me my activities from the last 30 days"
"Get details for my last long run"
"Find all my threshold workouts"
"Update the name of my last activity"
"Delete that duplicate activity"
"Download the FIT file for my race"

Activity Analysis

"Show me the power data from yesterday's ride"
"What were my best efforts in my last race?"
"Find similar interval workouts to my last session"
"Show me the intervals from my workout on Tuesday"
"Get the power histogram for my last ride"
"Show me the heart rate distribution for that workout"

Athlete Profile & Fitness

"Show my current fitness metrics and training load"
"Am I overtraining? Check my CTL, ATL, and TSB"

Note: The athlete profile resource (intervals-icu://athlete/profile) automatically provides ongoing context.

Wellness & Recovery

"How's my recovery this week? Show HRV and sleep trends"
"What was my wellness data for yesterday?"
"Update my wellness data for today - I slept 8 hours and feel great"

Calendar & Planning

"What workouts do I have planned this week?"
"Create a threshold workout for tomorrow"
"Update my workout on Friday"
"Delete the workout on Saturday"
"Duplicate this week's plan for next week"
"Create 5 workouts for my build phase"

Performance Analysis

"What's my 20-minute power and FTP?"
"Show me my heart rate zones"
"Analyze my running pace curve"

Workout Library

"Show me my workout library"
"What workouts are in my threshold folder?"

Gear Management

"Show me my gear list"
"Add my new running shoes to gear tracking"
"Create a reminder to replace my bike chain at 3000km"
"Update the mileage on my road bike"

Sport Settings

"Update my FTP to 275 watts"
"Show my current zone settings for cycling"
"Set my running threshold pace to 4:30 per kilometer"
"Apply my new threshold settings to historical activities"

Available Tools

Activities (10 tools)

Tool Description
get-recent-activities List recent activities with summary metrics
get-activity-details Get comprehensive details for a specific activity
search-activities Search activities by name or tag
search-activities-full Search activities with full details
get-activities-around Get activities before and after a specific one
update-activity Update activity name, description, or metadata
delete-activity Delete an activity
download-activity-file Download original activity file
download-fit-file Download activity as FIT file
download-gpx-file Download activity as GPX file

Activity Analysis (8 tools)

Tool Description
get-activity-streams Get time-series data (power, HR, cadence, altitude, GPS)
get-activity-intervals Get structured workout intervals with targets and performance
get-best-efforts Find peak performances across all durations in an activity
search-intervals Find similar intervals across activity history
get-power-histogram Get power distribution histogram for an activity
get-hr-histogram Get heart rate distribution histogram for an activity
get-pace-histogram Get pace distribution histogram for an activity
get-gap-histogram Get grade-adjusted pace histogram for an activity

Athlete (2 tools)

Tool Description
get-athlete-profile Get athlete profile with fitness metrics and sport settings
get-fitness-summary Get detailed CTL/ATL/TSB analysis with training recommendations

Wellness (3 tools)

Tool Description
get-wellness-data Get recent wellness metrics with trends (HRV, sleep, mood, fatigue)
get-wellness-for-date Get complete wellness data for a specific date
update-wellness Update or create wellness data for a date

Events/Calendar (9 tools)

Tool Description
get-calendar-events Get planned events and workouts from calendar
get-upcoming-workouts Get upcoming planned workouts only
get-event Get details for a specific event
create-event Create new calendar events (workouts, races, notes, goals)
update-event Modify existing calendar events
delete-event Remove events from calendar
bulk-create-events Create multiple events in a single operation
bulk-delete-events Delete multiple events in a single operation
duplicate-event Duplicate an event to a new date

Performance/Curves (3 tools)

Tool Description
get-power-curves Analyze power curves with FTP estimation and power zones
get-hr-curves Analyze heart rate curves with HR zones
get-pace-curves Analyze running/swimming pace curves with optional GAP

Workout Library (2 tools)

Tool Description
get-workout-library Browse workout folders and training plans
get-workouts-in-folder View all workouts in a specific folder

Gear Management (6 tools)

Tool Description
get-gear-list Get all gear items with usage and status
create-gear Add new gear to tracking
update-gear Update gear details, mileage, or status
delete-gear Remove gear from tracking
create-gear-reminder Create maintenance reminders for gear
update-gear-reminder Update existing gear maintenance reminders

Sport Settings (5 tools)

Tool Description
get-sport-settings Get sport-specific settings and thresholds
update-sport-settings Update FTP, FTHR, pace threshold, or zone configuration
apply-sport-settings Apply updated settings to historical activities
create-sport-settings Create new sport-specific settings
delete-sport-settings Delete sport-specific settings

MCP Resources

Resources provide ongoing context to the LLM without requiring explicit tool calls:

Resource Description
intervals-icu://athlete/profile Complete athlete profile with current fitness metrics and sport settings

MCP Prompts

Prompt templates for common queries (accessible via prompt suggestions in Claude):

Prompt Description
analyze-recent-training Comprehensive training analysis over a specified period
performance-analysis Detailed power/HR/pace curve analysis with zones
activity-deep-dive Deep dive into a specific activity with streams, intervals, best efforts
recovery-check Recovery assessment with wellness trends and training load
training-plan-review Weekly training plan evaluation with workout library
plan-training-week AI-assisted weekly training plan creation based on current fitness

License

MIT License - see LICENSE file for details

Disclaimer

This project is not affiliated with, endorsed by, or sponsored by Intervals.icu. All product names, logos, and brands are property of their respective owners.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选