Intervals.icu MCP server Let your AI agent run your Intervals.icu training.

Your agent reads your activities and wellness, plans workouts on your calendar and checks your thresholds. It runs in the ChatGPT and Claude apps, on a schedule if you like, with no API key and no server to host.

  • Free 7-day trial, no card
  • Unofficial, not affiliated with Intervals.icu
Intervals.icu logo Intervals.icu Cloud Browser

12 tools Read and write

Calendar to review

What can your AI agent do in Intervals.icu? Athlete or coach, six jobs.

  • Plan next week's workouts

  • Log daily wellness

  • Review the week's training

  • Move missed workouts

  • Add RPE and notes to sessions

  • Check the power curve against FTP

API and MCP

Does Intervals.icu have an MCP server or an API? Both. The MCP connector is for Supporters.

Yes to both (checked 6 Nov 2026). Intervals.icu has a public REST API with a personal key and OAuth, and since 31 Oct 2026 an official Intervals.icu Connector in beta at mcp.intervals.icu, for Supporters at $4 a month. Cotlet runs 12 Intervals.icu tools hosted, over MCP for agents and REST for scripts, with no API key and no plan upgrade for Cotlet to work.

  • The API reference lists 120 paths: activities, intervals, wellness, calendar events, sport settings, power curves and activity comments. A personal key allows 5,000 requests a day, 2,500 per 15 minutes and 10 calls a second per IP address.
  • The official connector works in Claude, ChatGPT, Gemini and Grok. It reads training data and, after you say yes, changes the calendar, wellness, thresholds and your season plan.
  • Webhooks exist for activity uploads, calendar updates and athlete events. Zapier and n8n list no Intervals.icu app (404 on both, 6 Nov 2026).
Intervals.icu API, official connector and Cotlet compared
What you need REST APIOfficial connectorCotlet
Read activities and intervals Yes, with your own code Yes Yes
Read and log daily wellness Yes, with your own code Yes, after your yes Yes
Add, move and delete planned workouts Yes, with your own code Yes, after your yes Yes
Set RPE and feel on a session Yes, with your own code Yes Yes
Post a comment on an activity Yes, with your own code Reads comments Yes, after your OK
No API key or code to write Key and code needed Sign in with Intervals.icu Sign in once
Runs on a schedule, no chat open Your own script Inside a chat Yes, plus n8n, Make, Zapier
Extra cost None Supporter, $4 a month Credits per call

Checked 6 Nov 2026. Sources: Intervals.icu Forum: API access to Intervals.icu · Intervals.icu: Open API · Intervals.icu Forum: Intervals.icu Connector (Official MCP) beta · Intervals.icu: Connector · Intervals.icu: Pricing

Set up once

How does Cotlet connect to Intervals.icu? One account, two ways to connect.

  1. 1Sign in to Intervals.icu

    Use your own account in its Cotlet Cloud Browser.

  2. 2Choose MCP or REST

    Connect your agent or create a Cotlet API key.

  3. 3Run your workflow

    Ask your agent or send an HTTP request.

We never keep your Intervals.icu password, and a comment on an activity waits for your OK before coaches and followers can read it. Who can see your session

Any MCP client

How to connect Intervals.icu to your AI agent

Three steps. The same address works in Claude, ChatGPT, editors, n8n, Make and Zapier.

  1. 1

    Enable Intervals.icu. Sign up, log in to Intervals.icu in its Cloud Browser and turn it on for agents.

  2. 2

    Add the Cotlet address. Add https://cotlet.dev/mcp/v1 as an MCP server or connector in your agent.

  3. 3

    Sign in or use a key. Chat apps sign you in to Cotlet; editors and scripts take an API key from the console.

One address covers Intervals.icu and every other app you enable. Turned Intervals.icu on after connecting? Refresh the connector so the tools show up.

Claude
Settings > Connectors > Add custom connector
URL: https://cotlet.dev/mcp/v1/connect

Claude Code:
claude mcp add --transport http cotlet \
  https://cotlet.dev/mcp/v1 \
  --header "Authorization: Bearer $COTLET_API_KEY"
ChatGPT
Settings > Apps & Connectors > Create
MCP server URL: https://cotlet.dev/mcp/v1/connect
Authentication: OAuth
Cursor
// ~/.cursor/mcp.json
{
  "mcpServers": {
    "cotlet": {
      "url": "https://cotlet.dev/mcp/v1",
      "headers": { "Authorization": "Bearer ${env:COTLET_API_KEY}" }
    }
  }
}
Codex
# ~/.codex/config.toml
[mcp_servers.cotlet]
url = "https://cotlet.dev/mcp/v1"
bearer_token_env_var = "COTLET_API_KEY"
n8n
MCP Client Tool (inside an AI Agent)
Transport: HTTP Streamable
URL: https://cotlet.dev/mcp/v1
Auth: Bearer, <your key>
Tool: intervals_icu_read
Make, Zapier
Make: MCP Client > Call a tool
Zapier: MCP Client by Zapier > Run Tool
Server URL: https://cotlet.dev/mcp/v1
Token: <your key>
Tool: intervals_icu_write
6 read, 6 write

All 12 Intervals.icu MCP tools

Activities4

Activities that came from Strava return a date and an id only. Garmin, Wahoo and direct uploads come in full.

  • list_activities Completed activities in a date range with type, duration, distance and training load, newest first. read

    Returns the activities Intervals.icu shows for your account between two dates, newest first. Each row has the id, name, sport type, start time, moving time, distance, training load and average power or heart rate where the activity has them. Strava-sourced activities show date and id only, because Intervals.icu may not pass their data on. Pass an id to get_activity for the full detail.

    MCP callintervals_icu_read → list_activities

    REST endpointGET https://cotlet.dev/api/v1/intervals-icu/activities

    Parameters

    Parameters: list_activities
    NameTypeDescription
    oldest date required date First day to include.
    newest date required date Last day to include.
    type string string Only this sport, e.g. Ride, Run, Swim, WeightTraining.

    Example input

    {
      "oldest": "2026-10-01",
      "newest": "2026-10-01"
    }

    Example response

    {
      "activities": [
        {
          "id": "i88120456",
          "name": "Sunday long ride",
          "type": "Ride",
          "start_date_local": "2026-11-01T08:42:10",
          "moving_time": 12840,
          "distance": 82400,
          "icu_training_load": 124,
          "average_watts": 168
        },
        {
          "id": "i88104311",
          "name": "Easy spin",
          "type": "Ride",
          "start_date_local": "2026-10-30T17:05:00",
          "moving_time": 2700,
          "distance": 12100,
          "icu_training_load": 58,
          "average_watts": 132
        }
      ]
    }
  • get_activity One activity with its detected intervals, notes, RPE and feel. read

    Returns one activity by id: summary figures, the intervals Intervals.icu detected (duration, average power and heart rate), the description, RPE and feel. Intervals come in the order they happen in the activity. An activity that came from Strava returns only its date and id.

    MCP callintervals_icu_read → get_activity

    REST endpointGET https://cotlet.dev/api/v1/intervals-icu/activity

    Parameters

    Parameters: get_activity
    NameTypeDescription
    id string required string Activity id from list_activities.

    Example input

    {
      "id": "id"
    }

    Example response

    {
      "id": "i88120456",
      "name": "Sunday long ride",
      "type": "Ride",
      "start_date_local": "2026-11-01T08:42:10",
      "moving_time": 12840,
      "icu_training_load": 124,
      "icu_rpe": 6,
      "feel": 2,
      "description": "Steady tempo, felt good.",
      "intervals": [
        {
          "id": 1,
          "label": "Interval 1",
          "moving_time": 1200,
          "average_watts": 212,
          "average_heartrate": 148
        },
        {
          "id": 2,
          "label": "Interval 2",
          "moving_time": 1200,
          "average_watts": 208,
          "average_heartrate": 151
        }
      ]
    }
  • update_activity Change the name, description, RPE or feel of a completed activity. write

    Changes only the fields you pass on one of your activities. RPE is 1 to 10. The recorded data stays as it is. Returns the activity as saved. It reaches no one and a second call puts the old values back, so it does not ask for confirmation.

    MCP callintervals_icu_write → update_activity

    REST endpointPATCH https://cotlet.dev/api/v1/intervals-icu/activity

    Parameters

    Parameters: update_activity
    NameTypeDescription
    id string required string Activity id from list_activities.
    name string string New name.
    description string string New description.
    rpe integer integer Rate of perceived exertion, 1 to 10.
    feel integer integer Feel, on the scale the activity page shows.

    Example input

    {
      "id": "id"
    }

    Example response

    {
      "id": "i88120456",
      "name": "Sunday long ride",
      "icu_rpe": 6,
      "description": "Legs heavy in the last interval."
    }
  • add_activity_comment Post a comment on an activity, visible to your coach and followers. writeasks first

    Adds a comment to one activity. Coaches and athletes who follow the activity can read it. Returns the comment with its time. By default you confirm each call; you can switch that off for this tool.

    MCP callintervals_icu_write → add_activity_comment

    REST endpointPOST https://cotlet.dev/api/v1/intervals-icu/activities/{activity_id}/comment

    Parameters

    Parameters: add_activity_comment
    NameTypeDescription
    activity_id string required string Activity id from list_activities.
    comment string required string Text of the comment.

    Example input

    {
      "activity_id": "activity_8c41d2",
      "comment": "comment"
    }

    Example response

    {
      "activity_id": "i88120456",
      "comment": "Felt strong on the climbs today.",
      "created": "2026-11-06T09:12:00"
    }

Calendar and workouts4

A workout takes its steps as Intervals.icu workout text, one dash line per step. Connected devices receive it like any planned workout.

  • list_events Planned workouts, notes and races on your calendar in a date range. read

    Returns the calendar entries between two dates in date order: planned workouts, notes and races, each with id, category, sport type, name, start date and the workout text. Entries added by other apps are included. Use the id with update_event or delete_event.

    MCP callintervals_icu_read → list_events

    REST endpointGET https://cotlet.dev/api/v1/intervals-icu/events

    Parameters

    Parameters: list_events
    NameTypeDescription
    oldest date required date First day to include.
    newest date required date Last day to include.
    category enum enum WORKOUT or NOTE. Default: both.

    Example input

    {
      "oldest": "2026-10-01",
      "newest": "2026-10-01"
    }

    Example response

    {
      "events": [
        {
          "id": 55120931,
          "category": "WORKOUT",
          "type": "Ride",
          "start_date_local": "2026-11-09T00:00:00",
          "name": "Sweet spot 3x10",
          "description": "- 10m 55% Warmup\n\n3x\n- 10m 90%\n- 5m 50%\n\n- 10m 50% Cooldown"
        },
        {
          "id": 55120940,
          "category": "NOTE",
          "start_date_local": "2026-11-10T00:00:00",
          "name": "Rest day",
          "description": "No training."
        }
      ]
    }
  • create_event Add a planned workout or a note to your calendar. write

    Adds one entry on a day of your calendar. A WORKOUT takes its steps as Intervals.icu workout text in description: one dash line per step with a duration and a target, repeats written as 3x on their own line. Returns the new event with its id. It reaches no one and you undo it with delete_event, so it does not ask for confirmation. Devices connected to Intervals.icu receive it as the app does for any planned workout.

    MCP callintervals_icu_write → create_event

    REST endpointPOST https://cotlet.dev/api/v1/intervals-icu/events

    Parameters

    Parameters: create_event
    NameTypeDescription
    category enum required enum WORKOUT or NOTE.
    start_date_local datetime required datetime Local day, e.g. 2026-11-09T00:00:00.
    name string required string Title shown on the calendar.
    type string string Sport for a workout, e.g. Ride, Run, WeightTraining.
    description string string Workout text for a WORKOUT, or the text of a NOTE.

    Example input

    {
      "category": "WORKOUT",
      "start_date_local": "2026-11-09T00:00:00",
      "name": "Sweet spot 3x10",
      "type": "Ride",
      "description": "- 10m 55% Warmup\n\n3x\n- 10m 90%\n- 5m 50%\n\n- 10m 50% Cooldown"
    }

    Example response

    {
      "id": 55120931,
      "category": "WORKOUT",
      "type": "Ride",
      "start_date_local": "2026-11-09T00:00:00",
      "name": "Sweet spot 3x10",
      "description": "- 10m 55% Warmup\n\n3x\n- 10m 90%\n- 5m 50%\n\n- 10m 50% Cooldown"
    }
  • update_event Change the day, name or text of a planned workout or note. write

    Changes the fields you pass on one calendar entry and leaves the rest. Moving a workout is a new start_date_local. Returns the updated event. It reaches no one and a second call puts the old values back, so it does not ask for confirmation.

    MCP callintervals_icu_write → update_event

    REST endpointPATCH https://cotlet.dev/api/v1/intervals-icu/event

    Parameters

    Parameters: update_event
    NameTypeDescription
    id integer required integer Event id from list_events.
    start_date_local datetime datetime New local day.
    name string string New title.
    description string string New workout text or note text.

    Example input

    {
      "id": 1
    }

    Example response

    {
      "id": 55120931,
      "category": "WORKOUT",
      "type": "Ride",
      "start_date_local": "2026-11-11T00:00:00",
      "name": "Sweet spot 3x10"
    }
  • delete_event Remove one planned workout or note from your calendar. write

    Deletes one calendar entry by id. Completed activities are not touched. It reaches no one; if you delete the wrong entry, create it again with create_event. It does not ask for confirmation.

    MCP callintervals_icu_write → delete_event

    REST endpointDELETE https://cotlet.dev/api/v1/intervals-icu/events

    Parameters

    Parameters: delete_event
    NameTypeDescription
    id integer required integer Event id from list_events.

    Example input

    {
      "id": 1
    }

    Example response

    {
      "deleted": 1,
      "id": 55120940
    }

Wellness2

Sleep is in hours. A device that syncs the same day may write its own values over yours.

  • list_wellness Daily wellness entries in a date range: weight, resting heart rate, sleep, fatigue and mood. read

    Returns one entry per day between two dates, oldest first, with the fields you or your device filled in: weight, resting heart rate, sleep, soreness, fatigue, stress, mood and comments. Days without data are left out. The fitness, fatigue and form values Intervals.icu calculates for each day come with the entry when the app shows them.

    MCP callintervals_icu_read → list_wellness

    REST endpointGET https://cotlet.dev/api/v1/intervals-icu/wellness

    Parameters

    Parameters: list_wellness
    NameTypeDescription
    oldest date required date First day to include.
    newest date required date Last day to include.

    Example input

    {
      "oldest": "2026-10-01",
      "newest": "2026-10-01"
    }

    Example response

    {
      "wellness": [
        {
          "id": "2026-11-04",
          "weight": 72.4,
          "restingHR": 48,
          "sleepSecs": 27000,
          "soreness": 2,
          "mood": 4
        },
        {
          "id": "2026-11-05",
          "weight": 72.3,
          "restingHR": 50,
          "sleepSecs": 25200,
          "soreness": 3,
          "mood": 3
        }
      ]
    }
  • update_wellness Set wellness values for one day: sleep, weight, soreness, fatigue, stress, mood and comments. write

    Writes the values you pass for one day and keeps the others. Sleep is in hours; soreness, fatigue, stress and mood use the scales the Intervals.icu wellness form shows. Returns the day as saved. It reaches no one and a second call corrects it, so it does not ask for confirmation. A device that syncs the same day may write its own values over yours.

    MCP callintervals_icu_write → update_wellness

    REST endpointPATCH https://cotlet.dev/api/v1/intervals-icu/wellness

    Parameters

    Parameters: update_wellness
    NameTypeDescription
    date date required date Day to write.
    sleep_hours number number Hours of sleep.
    weight number number Body weight in kilograms.
    soreness integer integer Soreness, on the form scale.
    fatigue integer integer Fatigue, on the form scale.
    mood integer integer Mood, on the form scale.
    comments string string Free text for the day.

    Example input

    {
      "date": "2026-10-01"
    }

    Example response

    {
      "id": "2026-11-06",
      "sleepSecs": 27000,
      "soreness": 3,
      "mood": 4,
      "comments": "Slept well"
    }

Thresholds and power2

Read the thresholds before you write workouts in percent. Strava activities do not count in the power curve.

  • get_sport_settings FTP, threshold heart rate, max heart rate and zones for one sport. read

    Returns the thresholds Intervals.icu uses for one sport: FTP, threshold heart rate, max heart rate, threshold pace and the zones built from them. Read it before writing workouts in percent so the targets match the athlete. It changes nothing.

    MCP callintervals_icu_read → get_sport_settings

    REST endpointGET https://cotlet.dev/api/v1/intervals-icu/sport-settings

    Parameters

    Parameters: get_sport_settings
    NameTypeDescription
    type string required string Sport, e.g. Ride, Run, Swim.

    Example input

    {
      "type": "type"
    }

    Example response

    {
      "type": "Ride",
      "ftp": 248,
      "lthr": 168,
      "max_hr": 189,
      "power_zones": [
        55,
        75,
        90,
        105,
        120,
        150,
        999
      ]
    }
  • get_power_curve Best power for set durations over a date range. read

    Returns the best average power for standard durations (5 seconds to 1 hour) across the activities in a date range, with the date of each effort. Use it to check whether a recent best effort sits above your current FTP. Strava-sourced activities do not count because their data is not returned.

    MCP callintervals_icu_read → get_power_curve

    REST endpointGET https://cotlet.dev/api/v1/intervals-icu/power-curve

    Parameters

    Parameters: get_power_curve
    NameTypeDescription
    oldest date required date First day to include.
    newest date required date Last day to include.
    type string string Sport. Default: Ride.

    Example input

    {
      "oldest": "2026-10-01",
      "newest": "2026-10-01"
    }

    Example response

    {
      "type": "Ride",
      "bests": [
        {
          "seconds": 300,
          "watts": 318,
          "date": "2026-10-12"
        },
        {
          "seconds": 1200,
          "watts": 262,
          "date": "2026-10-19"
        },
        {
          "seconds": 3600,
          "watts": 238,
          "date": "2026-09-28"
        }
      ]
    }
Encrypted, revocable

Who can see my Intervals.icu session, and how do I revoke it?

  • What we store

    Your logged-in Intervals.icu profile, AES-256-GCM, in Finland. Not your password.

  • What your agent gets

    The 12 Intervals.icu tools, never the login or a cookie.

  • What the session sees

    Your activities, wellness, calendar and thresholds, and the athletes you coach if your account has them.

  • What no tool touches

    Your Supporter subscription, billing, password and account deletion.

  • If Intervals.icu logs you out

    Your agent gets a link to sign in again. We never do it for you.

  • How to cut access

    Disable for agents, reset the browser or delete the key. The next call stops.

Our site scores A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory (live results). There is no SOC 2 report or third-party pentest yet.

Tested every 12 h

What happens when Intervals.icu changes? We fix the tool, your prompts stay the same.

between tests of the Intervals.icu tools
12 h
for a call to a tool paused for a fix
$0

Intervals.icu ships changes often. Its forum lists a connector release on 5 Nov 2026 alone. When it moves a button or renames a field, the fix happens on our side. status.cotlet.dev watches the site, console and API every 3 minutes.

1 tool asks first

Approvals, undo and mistakes Anything coaches can read waits for you.

  1. 01 Reads your data The days and sports you named.
  2. 02 Drafts the change A workout, a wellness entry or a comment.
  3. 03 Waits when others can read it A comment shows up in your Cotlet console first.
  4. 04 Reports back Event ID, date and status.
What each Intervals.icu write does
ActionWhat happens
Create calendar eventA workout or note appears on the day; undo with delete
Update calendar eventOnly the fields you pass change; a second call puts the old values back
Delete calendar eventOne entry goes; completed activities stay
Log wellnessValues for one day; the other fields stay
Update activityName, description, RPE or feel; recorded data stays
Comment on activityCoaches and followers of the activity read it

1 of 12 tools asks first: the comment, because other people read it. The other writes reach no one and you can undo each one with another call. Reads never ask. Switch the wait off per tool for a scheduled run.

Read a comment before you approve it. The tools cannot edit one afterwards.

MCP call
{
  "name": "create_event",
  "arguments": {
    "category": "WORKOUT",
    "start_date_local": "2026-11-09T00:00:00",
    "name": "Sweet spot 3x10",
    "type": "Ride",
    "description": "- 10m 55% Warmup\n\n3x\n- 10m 90%\n- 5m 50%\n\n- 10m 50% Cooldown"
  }
}
REST
curl -X POST https://cotlet.dev/api/v1/intervals-icu/events \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"category":"WORKOUT","start_date_local":"2026-11-09T00:00:00","name":"Sweet spot 3x10","type":"Ride","description":"- 10m 55% Warmup\n\n3x\n- 10m 90%\n- 5m 50%\n\n- 10m 50% Cooldown"}'
Tool output
{
  "id": 55120931,
  "category": "WORKOUT",
  "type": "Ride",
  "start_date_local": "2026-11-09T00:00:00",
  "name": "Sweet spot 3x10",
  "description": "- 10m 55% Warmup\n\n3x\n- 10m 90%\n- 5m 50%\n\n- 10m 50% Cooldown"
}

Scripts and cron jobs reach the same tools over REST at /api/v1/intervals-icu, with the same key and price. A call Intervals.icu refuses fails and costs nothing. The tools table lists the REST path of each tool.

Pay per call

How much does the Intervals.icu MCP server cost?

About $18 a monthfor one athlete training five times a week, 3,080 credits. Intervals.icu stays free or $4 as before.

A month of Intervals.icu jobs for one athlete, in credits
JobCallsCredits
Log wellness and check fatigue, daily2 × 30600
Add RPE and notes after a session2 × 20400
Weekly training review7 × 4280
Plan next week's workouts, weekly7 × 4280
Check the power curve against FTP, monthly2 × 120
Cloud Browser, 30 days1,500
Total3,080
  • Free 7-day trial, no card
  • 10 credits per successful call, MCP or REST
  • 50 credits a day for the Cloud Browser
  • Works in your own account, whatever plan it is on

The month is our example. Intervals.icu publishes no figure for agent use; its home page counts 200,000+ active athletes. The platform is free, and Supporter costs $4 a month (pricing, 6 Nov 2026). Dollars at the $29 pack rate.

Cotlet credit packs: price, credits and calls at 10 credits each
Credits Price, one time Calls at 10 credits Per 1,000 credits
5,000 $29 500 $5.80
15,000 $79 1,500 $5.27
32,000 $149 3,200 $4.66
60,000 $249 6,000 $4.15

Only successful calls use credits; failed calls and timeouts cost nothing. At a balance of 0 calls pause, never a surprise charge. Authenticate with the Authorization: Bearer header.

Other options

Intervals.icu MCP server on GitHub or hosted: which to use Community servers and hosted tools.

Other Intervals.icu MCP servers, checked 6 Nov 2026
OptionWhat it doesWhere it stops
mvilanova/intervals-mcp-serverPython MCP server for Claude and ChatGPT, GPL-3.0, 388 stars.Runs on your computer with your API key. ChatGPT needs a public URL you set up. Last commit 2 Aug 2026.
hhopke/intervals-icu-mcpRead and write server with 73 tools, MIT, 121 stars.You install it with uvx or Docker and paste your API key. Last commit 5 Nov 2026.
futureweb/intervals-mcp-serverAdds sign-in with Intervals.icu and Garmin-enriched metrics, GPL-3.0.Public beta, 13 stars, you host it. Last commit 1 Nov 2026.
IntervalSyncHosted MCP server with OAuth sign-in for Claude, ChatGPT and Grok.Pro is $5 a month with up to 600 Intervals.icu calls a day. The free plan reads only.
IcuSyncHosted connector with 32 tools (20 read, 12 write).$20 a year. Built around your calendar and workouts.
Intervals.icu ConnectorThe official connector for Claude, ChatGPT, Gemini and Grok.Beta, Supporter plan at $4 a month, works inside a chat.

Pick a GitHub server if you are happy to run it on your own computer. Pick the official connector if one chat assistant is enough. Pick Cotlet if your agent should also run on a schedule, in n8n, Make or Zapier, next to your other apps, with one account.

EU company, since 2019

Who runs Cotlet A company you can look up.

Cotlet is run by Take Group sp. z o.o., a software company registered in Poland, EU (VAT PL6342984273), working since 2019. The founders are Bart Krawczyk (Co-founder, CTO) and Jake Slugocki (Co-founder, SEO, sales and marketing). Questions about the Intervals.icu tools go to contact@cotlet.dev.

Intervals.icu MCP: questions

How do I connect Intervals.icu to ChatGPT or Claude?

Sign up at cotlet.dev, log in to Intervals.icu once in its Cloud Browser and add Cotlet to ChatGPT or Claude, following the steps in your console. No API key is needed. ChatGPT and Claude then work in your Intervals.icu account through Cotlet, in their phone apps too.

What can ChatGPT do in Intervals.icu?

With Cotlet, ChatGPT, Claude and other AI agents handle jobs like these in Intervals.icu: plan next week of workouts; log daily wellness and flag fatigue; weekly training review. You ask in plain words, and anything that reaches other people waits for your OK first.

Can I use Intervals.icu without an AI agent?

Yes. Call Cotlet's REST API from a script or an HTTP step in n8n, Make or Zapier with your Cotlet key. MCP is the way in for AI agents; you do not need one to use REST.

How do I get access?

Sign up free at https://cotlet.dev, open Intervals.icu under Integrations in the console and log in to Intervals.icu in its Cloud Browser. Your free trial starts with your first app, no card needed.

Does Intervals.icu have an official MCP server or API?

Yes to both (checked 6 Nov 2026). The REST API works with a personal key or OAuth. The official Intervals.icu Connector is in beta for Supporters, at $4 a month, and works in Claude, ChatGPT, Gemini and Grok. Cotlet is the hosted route that needs neither a key nor a Supporter plan, and it runs on a schedule and in n8n, Make and Zapier.

Do I need the Supporter plan?

Not for Cotlet. You can sign in with any account. Features that Intervals.icu keeps for Supporters stay Supporter-only.

Can it read my Strava activities?

Only as far as Intervals.icu shows them. Strava activities come through with date and id only, and the Intervals.icu API does not return their data (Intervals.icu forum, API access thread, 6 Nov 2026). Garmin, Wahoo and direct uploads come in full.

Does the official API have rate limits?

Yes. A personal API key allows 5,000 requests a day and 2,500 per rolling 15 minutes, and each IP address 10 calls a second (Intervals.icu forum, API access thread). Cotlet tools run in your account, not through your API key.

Does Intervals.icu have webhooks?

Yes, for activity uploads, calendar updates and athlete events, set up for an OAuth app (Intervals.icu Open API page, 6 Nov 2026). To react on a schedule without building an app, run your agent on a timer and read the calendar.

Is the MCP server different from the REST API?

Only the way in. Both have the same 12 tools, inputs and answers, one API key and one price. Agents use MCP; scripts, cron jobs and HTTP steps use REST.

Is Cotlet affiliated with Intervals.icu?

No. Cotlet is independent and not affiliated with Intervals.icu.

Give your agent access to Intervals.icu.

Free 7-day trial with 2,000 credits, no card needed.