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
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
Install
- Works in
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 reviewBroad 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_KEYrequired, secret- API key from Settings, Developer in Intervals.icu.
INTERVALS_ICU_ATHLETE_IDrequired- 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.
Related
MCP serversAn MCP server for Intervals.icu: Claude reads workouts, power and wellness and also adds and deletes planned workouts and races
An MCP server for workout tracking: Claude Desktop, Cursor and Cline read routines, sets, body weight and 1RM from your self-hosted openGym
coros-mcp (community)
coros-mcp
Unofficial Coros MCP server: sleep, HRV, load and workouts from Training Hub, plus scheduling sessions in the calendar.
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
Official COROS MCP: an agent reads workouts, sleep and heart rate and drafts training plans saved to your account.
MCP server of an open endurance training platform: calendar, sessions, load and records, queried through an assistant
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.