Intervals.icu MCP Server
An MCP server for Intervals.icu: Claude reads workouts, power and wellness and also adds and deletes planned workouts and races
- 391 ★ on the repository
- Last commit
- GPL-3.0
Extended access
Why this level
- The server reads personal health and training data: heart rate, wellness and routes
- The agent creates, changes and deletes calendar events and custom items, and deletion is possible for a whole date range at once
Install
- Works in
Manual install
mcp install src/intervals_mcp_server/server.py --name "Intervals.icu" --with-editable . --env-file .envRun from the repository folder after uv sync and filling in .env. On Windows add the entry to the configuration by hand.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The server reads personal health and training data: heart rate, wellness and routes
- The agent creates, changes and deletes calendar events and custom items, and deletion is possible for a whole date range at once
This is third-party code. Review the repository files before installing.
What it does
Intervals.icu MCP Server connects Claude to your Intervals.icu account, a platform for analyzing and planning training. The agent answers questions about past and future workouts, wellness and power using data from the platform's API. The server has 16 tools. For reading it offers a list of activities, details of one workout, interval data and raw streams such as power and heart rate. Separate tools return best-power curves for chosen periods and wellness data. Event tools work with the calendar: fetch upcoming workouts and races, create or update an event, delete one or all within a date range. For custom items, meaning charts, fields and zones, there is read, create, update and delete. Installation goes through uv and a local copy of the repository. For Claude Desktop the `mcp install` command writes the server into the configuration, and on Windows you add the entry by hand. The server can also run over SSE for ChatGPT, in which case its address must be made reachable from outside.
Who it is for. For runners, cyclists and coaches who log training in Intervals.icu and want to discuss load, power and the plan with Claude.
Good fit when
- You want to break down the latest workout: intervals, power and heart rate second by second from the data streams
- You need to compare best-power curves across different periods before a race
- You want to look at wellness over a week and match it to training load
- You want the agent to add a series of workouts or a race to the calendar and delete extras if needed
- You need to create or tweak a custom chart and zones in the account without manual work in the interface
Not a fit when
- You track training in another service: the server works only with the Intervals.icu API
- You need Strava data: the catalog has a separate Strava MCP Server for that
- The agent must not change the calendar: the server can delete events, including in bulk by date range
- You need a ready package with no Python: installation goes through uv, a repository clone and a virtual environment
Example request
Show my workouts for the last two weeks, compare best 20-minute power with last month and add a 3-hour long ride on Saturday.MCP
- Transport
- stdio, sse
- Authentication
- API key
Environment variables
API_KEYrequired, secret- API key from Intervals.icu settings
ATHLETE_IDrequired- Athlete ID like i12345
INTERVALS_API_BASE_URL- API base URL, https://intervals.icu/api/v1 by default
MCP_TRANSPORT- The value sse starts the server for ChatGPT
Limitations
You need Python 3.12 or newer, the uv package manager and a repository clone. In Intervals.icu account settings, under API, you create a key, and the athlete ID is visible in the page address and looks like `i12345`. Both values go into the `.env` file or into the env block of the Claude Desktop configuration.
On Windows the `mcp install` command may fail, and you add the entry to `claude_desktop_config.json` by hand with double backslashes in paths. If Claude Desktop was installed from the Microsoft Store, it reads its configuration from another directory, under AppData\Local\Packages. The common `spawn uv ENOENT` error is fixed with the full path to the uv executable.
For ChatGPT you run the server in SSE mode and expose its address, for example through ngrok. The license is GPL-3.0. Availability of Intervals.icu from Russia is unconfirmed, so the card says unknown.
How to disable. Delete the Intervals.icu entry from claude_desktop_config.json and restart Claude Desktop. In Intervals.icu revoke the key in the API settings and delete the `.env` file with it from the repository folder.
FAQ
How do I connect Intervals.icu to Claude Desktop?
Clone the repository, run uv sync, fill the `.env` file with your API key and athlete ID and run `mcp install src/intervals_mcp_server/server.py --name "Intervals.icu" --with-editable . --env-file .env`. The command registers the server in the configuration.
Where do I get the API key and athlete ID?
You create the key in Intervals.icu under Settings, API. The ID is visible in the page address after you sign in: in a link like intervals.icu/athlete/i12345 it is i12345.
What data can Claude read?
The list of activities, workout details and intervals, raw power and heart rate streams, best-power curves, wellness data, calendar events and custom items such as charts and zones.
Can Claude change the calendar?
Yes. The tools add and update events, delete one event or all within a date range, and create, change and delete custom items. The tool list has no read-only mode, so approve write calls by hand.
Can I use the server with ChatGPT?
Yes, over SSE. Start the server with MCP_TRANSPORT=sse, expose its address outside, for example with `ngrok http 8765`, and add the address to a custom ChatGPT connector.
Discussion
No questions or reviews yet.
Related
MCP serversintervals-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
An MCP server for workout tracking: Claude Desktop, Cursor and Cline read routines, sets, body weight and 1RM from your self-hosted openGym
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.
coros-mcp (community)
coros-mcp
Unofficial Coros MCP server: sleep, HRV, load and workouts from Training Hub, plus scheduling sessions in the calendar.
The official Kibela MCP server searches, reads and edits notes, folders and comments of your wiki straight from an assistant chat
README in short
The README consists of requirements, step-by-step installation, an update section with common Windows and Claude Desktop errors, the list of 16 tools and instructions for ChatGPT over SSE. The author asks for donations to support development and says the project is under active development.