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
MCP server

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
All reasons and checks

mvilanova/intervals-mcp-server

Install

Manual install

mcp install src/intervals_mcp_server/server.py --name "Intervals.icu" --with-editable . --env-file .env

Run 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 review

Extended 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_KEY required, secret
API key from Intervals.icu settings
ATHLETE_ID required
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.

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

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

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

MCP serverBroad access125Repository stars
Official

The official Kibela MCP server searches, reads and edits notes, folders and comments of your wiki straight from an assistant chat

MCP serverExtended access16Repository stars

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.

README badge

Report a problem