intervals-icu-mcp: Intervals.icu training data in an agent

intervals-icu-mcp

An MCP server that lets Claude and ChatGPT read and edit Intervals.icu data: workouts, wellness, calendar and structured plans

  • 124 ★ on the repository
  • Last commit
  • MIT
MCP server

Broad access

Why this level

  • The API key gives read and write access to training and wellness data, which is sensitive health information
  • The agent can change and delete activities and workouts when `full` mode is on
All reasons and checks

hhopke/intervals-icu-mcp

Install

Manual install

{"mcpServers":{"intervals-icu":{"command":"uvx","args":["intervals-icu-mcp"],"env":{"INTERVALS_ICU_API_KEY":"your-api-key-here","INTERVALS_ICU_ATHLETE_ID":"i123456"}}}}

Configuration from the README, uv must be installed.

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • The API key gives read and write access to training and wellness data, which is sensitive health information
  • The agent can change and delete activities and workouts when `full` mode is on

This is third-party code. Review the repository files before installing.

What it does

The server connects an agent to Intervals.icu, a service for analysing sports training. It has 73 tools, 4 resources and 9 prompt templates. The tools cover activities and their analysis, activity notes, the athlete profile, wellness, calendar and events, performance curves, the workout library, gear and sport settings. The agent answers questions like "show my activities from the last 7 days" and builds structured workouts, for example an interval bike session for tomorrow. Data can be read and edited with ordinary requests, and bulk operations exist in the calendar and the library. Destructive tools are gated by `INTERVALS_ICU_DELETE_MODE` with the values `safe`, `full` and `none`; the default is `safe`. It is a server-side check: unregistered tools cannot be called by the model. The server uses stdio, and HTTP and SSE modes exist for remote setups. The project continues eddmann/intervals-icu-mcp with fixes and new features.

Who it is for. Athletes and coaches on Intervals.icu who want to review training, wellness and a season plan by talking to Claude, ChatGPT or Cursor.

Good fit when

  • You want to compare load across recent weeks and see where form dipped
  • You need an interval workout for tomorrow added to the calendar at once
  • A coach wants to leave comments on several activities of an athlete
  • You need a race preparation plan built from periodization blocks
  • You want to match wellness metrics against sleep and load curves

Not a fit when

  • You have no Intervals.icu account: the server has nothing to read
  • You need data straight from Garmin or Strava: the server only works with Intervals.icu
  • The agent must not change the plan or delete activities: keep delete mode on `safe` or `none` and review every edit

Example request

Show my activities from the last seven days, estimate total load and draft an interval workout for tomorrow, but do not put it in the calendar yet.

MCP

Transport
stdio
Authentication
API key

Environment variables

INTERVALS_ICU_API_KEY required, secret
API key from Settings, Developer in Intervals.icu.
INTERVALS_ICU_ATHLETE_ID required
Athlete ID like i123456 from the profile URL.
INTERVALS_ICU_DELETE_MODE
Delete mode: safe (default), full or none.

Limitations

It needs an Intervals.icu account, an API key and an athlete ID like `i123456`. The key is created in settings under Developer. `uv` runs it: `uvx` downloads and caches the package itself.

The server reads and writes: the agent can update and delete activities, events and workouts. The default delete mode `safe` restricts dangerous tools, and `full` opens all. Health and training data count as sensitive.

The project is independent: the author states it continues someone else's repository and is not an official Intervals.icu product.

How to disable. Remove the `intervals-icu` entry from the client configuration and revoke the API key in Intervals.icu settings under Developer.

FAQ

How many tools does it have?

73 tools, 4 resources and 9 prompt templates. The full reference is in `docs/tools.md` in the repository.

How do I connect it to Claude Desktop?

Get an API key and athlete ID, add an `intervals-icu` server with the command `uvx intervals-icu-mcp` and two environment variables to `claude_desktop_config.json`, then restart Claude.

Can the agent delete my workouts?

Only if `INTERVALS_ICU_DELETE_MODE` allows it. `safe` is the default and restricts destructive tools, `none` removes them completely and `full` opens them all.

Does it work with ChatGPT and Cursor?

Yes, the server speaks stdio and suits any MCP client. The README has config blocks for Claude Code, Cursor and ChatGPT, and HTTP and SSE modes for remote setups.

Can I run it without uv?

Yes, the server can be built from source with `uv sync` or as a Docker image. For Docker the credentials are mounted from an `intervals-icu-mcp.env` file and the client config uses `docker run -i --rm`.

Discussion

No questions or reviews yet.

An MCP server for Intervals.icu: Claude reads workouts, power and wellness and also adds and deletes planned workouts and races

MCP serverExtended access391Repository stars
Official

An MCP server for workout tracking: Claude Desktop, Cursor and Cline read routines, sets, body weight and 1RM from your self-hosted openGym

MCP serverExtended access21.1KRepository stars

Unofficial Coros MCP server: sleep, HRV, load and workouts from Training Hub, plus scheduling sessions in the calendar.

MCP serverBroad access125Repository stars

Strava MCP

Strava MCP Server

Strava MCP server: an agent reads your workouts, heart rate, power, segments and routes and exports routes to GPX and TCX

MCP serverBroad access506Repository stars
Official

Official COROS MCP: an agent reads workouts, sleep and heart rate and drafts training plans saved to your account.

MCP serverExtended access82Repository stars

README in short

The README opens with a Claude Desktop quick start, then explains creating the API key, installing through uvx, from source and in Docker, client configs, example prompts and a summary of tools by category. Separate sections cover the delete safety mode and remote deployment over HTTP and SSE.

README badge

Report a problem