intervals-icu-mcp
This server provides an MCP interface to the Intervals.icu API, enabling AI assistants to read and manage endurance training data, analyze performance metrics, compute training loads, and create structured workouts.
Activity & Workout Management: Fetch activity history, detailed telemetry, intervals, raw streams (watts, HR, cadence, etc.), and messages. Add comments or coaching notes.
Athlete Profile & Zones: Retrieve biometrics (FTP, LTHR, Max HR, weight, resting HR) and training zones for power, heart rate, and pace.
Physiology Calculators & Analytics: Compute Jack Daniels VDOT and VO₂max estimates, generate running pace zones, analyze training load (ACWR, TSB Readiness, Ramp Rate Risk), and calculate safe weekly training budgets.
Calendar & Workout Planning: List, create, update, and delete calendar events (planned workouts, races, notes). Build structured workouts with steps (warmup, intervals, cooldown) and manage notes.
Workout Library: Search and retrieve workout templates.
Gear & Performance: List registered gear (bikes, shoes) with mileage, and fetch power duration curves.
Wellness & Fitness Tracking: Retrieve daily wellness metrics (HRV, sleep, fatigue, soreness, weight) and time-series fitness data (CTL, ATL, TSB, ramp rate, eFTP).
Custom Items: Create, read, update, and delete custom items such as charts, fields, zones, and panels.
Flexibility: All tools support per-call API key and athlete ID overrides, and many support date ranges and filters.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@intervals-icu-mcpWhat's my training load and sleep score for the last 7 days?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Intervals.icu MCP Server
An official-grade Model Context Protocol (MCP) Server for Intervals.icu. This server empowers AI assistants (Claude Desktop, Antigravity, Cursor, etc.) to read endurance training data, analyze physiological metrics, calculate Jack Daniels VDOT & pace zones, estimate ACWR & weekly budgets, and post structured workouts directly to your Intervals.icu calendar.
✨ Features & Tools Reference
The server exposes 15+ rich MCP tools categorized by functionality:
🏃 1. Activities & Workouts
get_activities: Fetch activity history within a date range (oldest,newest).get_activity_details: Retrieve full telemetry & metrics for a specific activity ID.get_activity_intervals: Extract lap and work/rest interval breakdowns.get_activity_streams: Access raw stream data (watts, heart rate, cadence, velocity, altitude).get_activity_messages: Read comments & coach notes on an activity.add_activity_message: Post comments/coaching notes on an activity.
👤 2. Athlete & Training Zones
get_athlete_profile: Retrieve athlete biometrics (FTP, LTHR, Max HR, weight, resting HR).get_training_zones: Access power, heart rate, and pace training zone boundaries.
🧮 3. Physiology & Running Calculators (Offline)
calculate_vdot: Compute Jack Daniels VDOT & VO₂max estimate from race/tempo result.calculate_pace_zones: Compute 5 running training pace zones (Easy, Marathon, Threshold, Interval, Repetition) inMM:SS/km.
⚖️ 4. Training Load & ACWR Analytics (Offline)
analyze_training_load: Compute ACWR (Acute:Chronic Workload Ratio =ATL/CTL), classify TSB Readiness Zones (Transition, Fresh, Grey Zone, Optimal, High Risk), and evaluate Ramp Rate Risk.calculate_weekly_budget: Calculate safe Weekly Training Budget (Total Volume, Long Run Max 30–35%, Quality/Interval Max 15–20%, Easy Run 45–55%) based on 42d avg load/distance (CTL) and target ramp rate (+5%).
📅 5. Calendar & Structured Workout Builder
get_events: Retrieve calendar items (planned workouts, notes, races) in a date range.get_event_by_id: Get detailed event data by ID.create_running_workout: Structured Workout Builder — Publish structured workouts to the calendar using Intervals.icu Text DSL (Warmup, Main Set Nx, Cooldown).add_or_update_planned_workout: Create or update planned workout events.add_or_update_note: Add text notes to calendar dates.delete_event: Remove calendar events by ID.get_workout_library: Search template workout library.get_workout_by_id: Get single workout template details.
🚴 6. Gear & Power Curves
get_gear_list: List registered bikes, shoes, and equipment with mileage (cached 30m).get_athlete_power_curves: Fetch power duration curves (cached 60m).
💚 7. Wellness & Fitness Time-Series
get_wellness_data: Retrieve daily wellness entries (sleep, HRV, fatigue, soreness, weight).get_fitness_chart: Retrieve time-series fitness data (ctl,atl,tsb,rampRate,eftp).
Related MCP server: fitness-mcp-server
🚀 Quick Start & Installation
Prerequisites
Node.js >= 18.0.0
pnpm / npm / yarn
An Intervals.icu API Key (Settings > Developer > API Key)
Installation & Build
git clone https://github.com/hadidwirsty/intervals-icu-mcp.git
cd intervals-icu-mcp
pnpm install
pnpm run build⚙️ Configuration
Set environment variables in your environment or MCP config:
Variable | Required | Description |
| Recommended | Your Intervals.icu API Key. Can also be passed per-call. |
| Recommended | Default Athlete ID (e.g. |
🔌 MCP Client Setup
1. Claude Desktop Configuration
Add the following to your claude_desktop_config.json:
{
"mcpServers": {
"intervals-icu": {
"command": "node",
"args": ["/path/to/intervals-icu-mcp/dist/index.js"],
"env": {
"INTERVALS_API_KEY": "your_api_key_here",
"INTERVALS_ATHLETE_ID": "your_athlete_id_here"
}
}
}
}2. Antigravity / Cursor Configuration
In your MCP settings JSON:
{
"mcpServers": {
"intervals-icu": {
"command": "node",
"args": ["/path/to/intervals-icu-mcp/dist/index.js"],
"env": {
"INTERVALS_API_KEY": "your_api_key_here",
"INTERVALS_ATHLETE_ID": "your_athlete_id_here"
}
}
}
}🧪 Testing
pnpm testIncludes 48+ unit tests covering utilities, client auto-retry on HTTP 429, LRU TTL caching, Jack Daniels VDOT math, ACWR load analytics, and workout DSL validation.
📄 License
MIT © Muhammad Hadid Wiransetyo
Maintenance
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
- AlicenseAqualityFmaintenanceA Model Context Protocol (MCP) server for Intervals.icu integration. Access your training data, wellness metrics, and performance analysis through Claude and other LLMs.4835MIT
- Flicense-qualityDmaintenanceProvides MCP servers for Claude to access fitness data from Strava and intervals.icu, enabling natural language queries for activity analysis, advanced training metrics, and wellness tracking.1
- Alicense-qualityDmaintenanceIntegrates Intervals.icu training data, wellness records, workouts, and calendar events with AI assistants through MCP tools.121MIT
- Alicense-qualityBmaintenanceA self-hosted, multi-tenant MCP server that exposes the Intervals.icu API—activities, events, wellness, power curves, gear, and custom items—as MCP tools for Claude.GPL 3.0
Related MCP Connectors
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.
MCP server for Argo RPG Platform — connects AI assistants to campaign data via OAuth2
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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