intervals-training-bridge
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@intervals-training-bridgeshow my training load and planned workouts for the last two weeks"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
intervals-training-bridge
An MCP server that lets Claude Code read your intervals.icu training data and write planned workouts to your intervals.icu calendar. If your calendar syncs to Garmin Connect, those workouts appear on your watch.
The bridge is deliberately mechanical. It fetches and writes data; all the training judgement stays with you and Claude.
Tools
Tool | What it does | Writes? |
| Wellness (CTL/ATL/form, resting HR, HRV, sleep), completed activities, planned events, and a planned-versus-completed reconciliation for a date range. Planned events include an | No |
| Per-lap pace, heart rate, power, cadence and gradient for one activity. | No |
| Time-series for one activity, bucketed (per kilometre by default) with min/avg/max per metric. Never raw samples. | No |
| Creates a planned workout on a given date. | Yes |
| Replaces an existing planned workout. | Yes |
| Removes a planned workout. | Yes |
dryRun defaults
push_workout, update_workout and delete_workout all default to dryRun: true. A dry run reports what would be written and changes nothing. Claude should only pass dryRun: false after you have explicitly approved that specific change.
Warning:
dryRun: falsewrites to your real intervals.icu calendar, which syncs to Garmin Connect and onto your watch.delete_workoutcannot be undone. Always review the dry run first.
Each workout stays in one metric family: all pace or all power. Mixing them breaks intervals.icu's load and time-in-zone calculations. Workouts can be pushed for run and bike.
Related MCP server: garmin-claude-mcp
Setup
1. Get an intervals.icu API key
In intervals.icu, open Settings, then Developer Settings, and create an API key.
2. Create a settings file
Create config/intervals.env in your project:
INTERVALS_API_KEY=
INTERVALS_ATHLETE_ID=Paste your key after the =. INTERVALS_ATHLETE_ID is optional. Leave it blank to use the owner of the API key. This file holds a live API key, so keep it out of version control. Add it to your project's .gitignore:
config/intervals.env3. Add the server to Claude Code
Add this to .mcp.json in your project:
{
"mcpServers": {
"intervals-training-bridge": {
"command": "npx",
"args": [
"-y",
"intervals-training-bridge@^0.2",
"--stdio",
"--settings-file",
"config/intervals.env"
]
}
}
}Relative settings-file paths resolve against the directory Claude Code launches the server from. As an alternative to the flag, set the INTERVALS_ENV_FILE environment variable to the file's path; the flag wins if both are given.
Restart Claude Code, approve the server, and ask it for your recent training.
Optional settings
These go in the same settings file.
LOGS_PATH: a directory to writebridge.logto. Logs always go to stderr, which Claude Code captures. With--stdio, no log file is written unless you set this.TIMEZONE: the time zone that decides what "today" is, for exampleEurope/LondonorAmerica/New_York. Leave it out to use your computer's time zone.
Requirements
Node.js 20 or later.
Development
npm install
npm run build
npm testLicence
MIT. See LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Connect Claude to your Intervals.icu watch data for fitness, workout review, and plan writing.
Your triathlon training in Claude: activities, PMC load, plans pushed to Garmin, races, recovery.
- Coach MCPOAuthai.iamcoach
Your endurance training data in your AI assistant: activities, recovery, plan, workout edits.
Garmin data in Claude: 135 tools — activities, sleep, HRV, training, workouts. Free, open source.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables Claude AI to access and manage intervals.icu training data, including workouts, wellness, and fitness trends, through natural language conversation.MIT
- AlicenseNot gradedqualityCmaintenanceEnables Claude to read recent training activities and wellness data, then create, update, or delete structured workouts through intervals.icu so they sync to Garmin Connect and a watch.MIT
- AlicenseNot gradedqualityCmaintenanceEnables Claude to read recent Garmin training and wellness data and to create, update, or delete structured workouts through intervals.icu so they sync to Garmin Connect and a user's watch.MIT
- AlicenseNot gradedqualityCmaintenanceEnables Claude to read recent Garmin training and wellness data via intervals.icu and to create, update, or delete structured workouts that sync to Garmin Connect and a Garmin watch.MIT