Skip to main content
Glama
hadidwirsty

intervals-icu-mcp

by hadidwirsty

πŸƒ intervals-icu-mcp

MCP Server untuk Intervals.icu

Hubungkan AI agent (Claude, Antigravity, atau MCP client lain) langsung ke data training Anda di Intervals.icu β€” activities, wellness, calendar, gear, power curves, dan custom items.

TypeScript MCP SDK Node.js License: MIT


✨ Fitur

  • πŸ“Š Activities β€” Ambil daftar aktivitas, detail, interval splits, dan time-series streams (power, HR, cadence, pace)

  • πŸ’€ Wellness β€” Data harian HRV, resting HR, sleep score, CTL/ATL

  • πŸ“… Calendar / Events β€” List, detail, hapus event, buat planned workout & catatan

  • βš™οΈ Gear β€” Katalog sepatu, sepeda, dan peralatan lain

  • πŸ“ˆ Power Curves β€” Best power per durasi (MMP)

  • πŸ—‚οΈ Custom Items β€” Baca, buat, update, dan hapus custom item

Related MCP server: fitness-mcp-server

πŸ€– Bonus: Running Coach AI (Template)

Project ini dilengkapi template Antigravity skill & workflow untuk membangun Running Coach AI personal berbasis data Intervals.icu Anda:

  • /run-report β€” Slash-command untuk analisis pasca-sesi otomatis: tidak perlu upload CSV atau screenshot manual, data diambil langsung via MCP.

  • running-coach-analysis β€” Skill yang berisi panduan analisis fisiologis (Aerobic Decoupling, Cardiac Drift, Efficiency Factor) dan format coaching report 4-bagian.

Lihat panduan konfigurasi di .agents/README.md.


πŸ› οΈ Tools (19)

Kategori

Tool

Keterangan

Activities

get_activities

List aktivitas dalam rentang tanggal

get_activity_details

Detail + profil fisiologis satu aktivitas

get_activity_intervals

Data interval/lap per sesi

get_activity_streams

Time-series: power, HR, cadence, pace

get_activity_messages

Catatan/komentar pada aktivitas

add_activity_message

Tambah catatan ke aktivitas

Wellness

get_wellness_data

Data wellness harian (HRV, sleep, RHR, CTL/ATL)

Events/Calendar

get_events

List event kalender

get_event_by_id

Detail satu event

delete_event

Hapus event

add_or_update_planned_workout

Buat/update planned workout (support workout steps)

add_or_update_note

Buat/update catatan di kalender

Gear

get_gear_list

Katalog gear

Power Curves

get_athlete_power_curves

Best power per durasi

Custom Items

get_custom_items

List custom item

get_custom_item_by_id

Detail custom item

create_custom_item

Buat custom item

update_custom_item

Update custom item

delete_custom_item

Hapus custom item

Setiap tool menerima apiKey opsional (override per-call) dan sebagian besar menerima athleteId opsional (fallback ke INTERVALS_ATHLETE_ID).


πŸš€ Setup

1. Install & Build

pnpm install
pnpm run build

2. Konfigurasi Environment

Copy .env.example ke .env untuk testing lokal:

cp .env.example .env

Isi .env dengan kredensial Anda:

INTERVALS_API_KEY=your_api_key_here
INTERVALS_ATHLETE_ID=i123456

3. Konfigurasi MCP Client

Antigravity / Claude Desktop

Tambahkan ke MCP config Anda (mcp_config.json atau claude_desktop_config.json):

{
  "mcpServers": {
    "intervals-icu": {
      "command": "node",
      "args": ["/path/absolut/ke/intervals-icu-mcp/dist/index.js"],
      "env": {
        "INTERVALS_API_KEY": "your_api_key_here",
        "INTERVALS_ATHLETE_ID": "i123456"
      }
    }
  }
}

Restart client setelah edit config.


πŸ” Debug Lokal

pnpm run inspector

Membuka MCP Inspector untuk mencoba tiap tool secara interaktif tanpa perlu connect ke client dulu.


πŸ“ Struktur Project

intervals-icu-mcp/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ index.ts          # Entry point, register semua tools, jalankan stdio transport
β”‚   β”œβ”€β”€ config.ts         # Load environment variables
β”‚   β”œβ”€β”€ client.ts         # HTTP client (Basic Auth, error handling)
β”‚   β”œβ”€β”€ types.ts          # Helper convert ApiResult β†’ CallToolResult
β”‚   └── tools/
β”‚       β”œβ”€β”€ activities.ts
β”‚       β”œβ”€β”€ wellness.ts
β”‚       β”œβ”€β”€ events.ts
β”‚       β”œβ”€β”€ gear.ts
β”‚       β”œβ”€β”€ powerCurves.ts
β”‚       └── customItems.ts
β”œβ”€β”€ .agents/              # Template Antigravity Agent konfigurasi (opsional)
β”‚   β”œβ”€β”€ skills/running-coach-analysis/SKILL.md
β”‚   └── workflows/run-report.md
β”œβ”€β”€ .env.example
└── .gitignore

⚠️ Known Limitations

  • Belum ada tool untuk athlete profile atau training zones secara langsung β€” bisa ditambah mengikuti pola yang sama di src/tools/.

  • get_athlete_power_curves mengembalikan raw response dari API; parsing tambahan bisa dilakukan di sisi client.

  • Belum ada rate-limit handling khusus di luar pesan error 429.


πŸ“š Referensi API

Struktur endpoint di project ini juga diverifikasi dari mvilanova/intervals-mcp-server, MCP server intervals.icu versi Python.


πŸ“„ License

MIT

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

–Maintainers
–Response time
–Release cycle
–Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors β€” no code.

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

  • MCP server for Argo RPG Platform β€” connects AI assistants to campaign data via OAuth2

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hadidwirsty/intervals-icu-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server