Labsco
hhopke logo

intervals-icu-mcp

β˜… 21

from hhopke

Read/write Intervals.icu MCP server β€” 55+ tools across activities, streams, wellness, calendar, gear, and sport zones, plus structured workout generation for cycling, running, and swimming.

πŸ”₯πŸ”₯πŸ”₯βœ“ VerifiedPaid serviceNeeds API keys
<!-- mcp-name: io.github.hhopke/intervals-icu-mcp -->

Intervals.icu MCP Server

intervals-icu-mcp demo

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

Originally based on eddmann/intervals-icu-mcp (MIT licensed). This project is an independent continuation with significant bug fixes and new features β€” see CHANGELOG.md for details.

Tests intervals-icu-mcp MCP server License: MIT Docker

Overview

59 tools spanning activities, activity analysis, activity messages, athlete profile, wellness, events/calendar, performance curves, workout library, gear, sport settings, and custom items β€” plus 4 MCP Resources (athlete profile, workout syntax, event categories, custom item schemas) and 7 MCP Prompts (training analysis, recovery check, weekly planning, and more). See Available Tools for the per-category breakdown.

Available Tools

59 tools, 4 resources, and 7 prompt templates. One-line summary below β€” full reference in docs/tools.md.

CategoryToolsSummary
Activities12Query, search, update, delete, download activities
Activity Analysis8Streams, intervals, best efforts, histograms
Activity Messages2Read and post notes/comments/coach feedback on activities
Athlete2Profile and CTL/ATL/TSB fitness analysis
Wellness3HRV, sleep, recovery metrics
Events / Calendar11Planned workouts, races, notes, ATP periodization (bulk ops supported)
Performance / Curves3Power, HR, and pace curves with zones
Workout Library2Browse workout folders and training plans
Gear Management6Track equipment and maintenance reminders
Sport Settings5FTP, FTHR, pace thresholds, and zones
Custom Items5User customizations: custom charts, fields, zones, dashboard panels

Delete Safety Mode

Destructive tools are gated by the optional INTERVALS_ICU_DELETE_MODE env var (safe / full / none, default safe) β€” a server-side gate outside the model's reach, so unregistered tools can't be invoked. See docs/tools.md for the full mode table, response envelope, and TZ-buffer rationale.

Documentation

Contributing

Issues and pull requests are welcome. Before opening a PR, run make can-release locally to match what CI enforces (ruff, pyright, pytest). For new tools, follow the pattern in .claude/skills/add-tool/SKILL.md and add a respx-mocked test file alongside the implementation.

License

MIT License - see the 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.