intervals-icu-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| INTERVALS_API_KEY | Yes | Your Intervals.icu API key. Required. Obtain from Intervals.icu Settings > Developer Settings. | |
| INTERVALS_ATHLETE_ID | No | Optional. The athlete ID to use as default for requests. If empty, must be provided per tool call. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_activitiesB | Ambil daftar aktivitas latihan seorang athlete dari Intervals.icu dalam rentang tanggal tertentu. |
| get_activity_detailsB | Ambil detail lengkap satu aktivitas berdasarkan activity ID. |
| get_activity_intervalsA | Ambil data interval/lap (power, HR, pace per segmen) dari satu aktivitas. |
| get_activity_streamsA | Ambil data time-series (streams) dari satu aktivitas, misalnya power, heart rate, cadence, altitude, distance, velocity. |
| get_activity_messagesB | Ambil catatan/komentar (messages) pada satu aktivitas. |
| add_activity_messageA | Tambahkan catatan/komentar baru ke sebuah aktivitas. |
| get_wellness_dataA | Ambil data wellness harian athlete (training metrics, HRV, resting HR, sleep, subjective scores, dll) dalam rentang tanggal tertentu. |
| get_eventsA | Ambil daftar event kalender (planned workout, race, note) dalam rentang tanggal. |
| get_event_by_idB | Ambil detail satu event kalender berdasarkan event ID. |
| delete_eventB | Hapus satu event kalender berdasarkan event ID. |
| add_or_update_planned_workoutA | Buat atau update planned workout (event kalender kategori WORKOUT) di Intervals.icu. Kirim event_id untuk update, kosongkan untuk membuat baru. workoutDoc opsional untuk mendefinisikan struktur steps (warmup/interval/cooldown, target power/hr/pace, dll — ikuti format workout builder Intervals.icu). |
| add_or_update_noteA | Buat atau update catatan teks biasa (kategori NOTE) di kalender Intervals.icu. |
| get_gear_listB | Ambil katalog gear (sepeda, sepatu, dll) beserta statistik dasarnya untuk seorang athlete. |
| get_athlete_power_curvesA | Ambil power curve (best power per durasi, dalam watt) seorang athlete untuk musim ini/lalu, dan/atau rentang tanggal custom. |
| get_custom_itemsA | Ambil daftar custom item (custom chart, field, zones, dll) milik seorang athlete. |
| get_custom_item_by_idA | Ambil detail satu custom item berdasarkan ID. |
| create_custom_itemA | Buat custom item baru (chart/field/zones) untuk seorang athlete. Catatan enum penting: field 'type' di dalam content untuk INPUT_FIELD/ACTIVITY_FIELD harus 'numeric' | 'text' | 'select' (bukan 'number'); field 'aggregate' harus MIN|SUM|MAX|AVERAGE (bukan AVG). |
| update_custom_itemA | Update custom item yang sudah ada. Hanya field yang diisi yang akan dikirim. |
| delete_custom_itemB | Hapus satu custom item berdasarkan ID. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 19 tools
Each tool targets a distinct resource and action. Activity-related tools are separated by data granularity (list, details, intervals, streams, messages), and event/custom item tools follow clear CRUD patterns. No two tools appear to serve the same purpose.
All tools use a consistent verb_noun pattern in snake_case. Retrieval uses get_, creation uses add_/create_, updates use update_/add_or_update_, and deletion uses delete_. Minor variation like add_or_update_ is predictable.
At 19 tools, this is above the ideal 3-15 range but appropriate for the broad scope covering activities, events, wellness, gear, power curves, and custom items. The tools are grouped by domain and each is justified; still, a few could be consolidated, so not a perfect 5.
Core workflows are well covered: activities have read and message addition, events have full CRUD, and custom items have full CRUD. Gaps include no activity update/delete, no gear management, and no wellness update, but these may be outside the API's intended scope or rare needs.