A Model Context Protocol server that lets AI assistants read and analyse your Intervals.icu training data the way a coach would: activities with every custom field and stream, intervals, wellness against personal…
Futureweb Intervals MCP source profile. From the maintainer documentation: “A Model Context Protocol server that lets AI assistants read and analyse your Intervals.icu training data the way a coach would: activities with every custom field and stream, intervals, wellness against personal baselines, thresholds and zones, planned-versus-executed workouts, climbs, dual power meters, best efforts, efficiency and fatigue resistance, nutrition and weight, training summaries and the calendar. It runs where you run it, talks only to the Intervals.icu API and exposes nothing that writes unless you enable it.”
The project provides a local client configuration using uvx. Follow the repository’s build and installation steps before copying it, and replace example paths with the paths on your own computer.
The example declares API_KEY, ATHLETE_ID, MCP_PERMISSIONS. Secret-looking values have been replaced with placeholders. Required and optional labels are shown only when the documentation states them.
Project documentation · Repository · Discovery listing. This profile records the public documentation checked on 2026-10-13.
Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.
| Tool | What it does |
|---|---|
| get_activity_report | Complete analysis in one call: overview with fueling (carbs used/ingested per hour, sweat loss, energy), weather (temperature, feels-like, wind, head/tailwind… |
| get_activity_data_audit | Provenance and data quality of one activity: source and file (Garmin sync, Garmin export or bridge upload, Strava stub), upload and analysis times, filtered… |
| analyze_workout_execution | Planned vs executed per step (duration, target adherence, time in range, HR response, fade, Pw:HR drift with the Intervals.icu decoupling sign, stamina). A… |
| analyze_climbs | Climbs, descents and pauses with power, NP, HR, VAM and custom streams per segment; grade smoothed over a distance window (raw grade optional), grade… |
| compare_power_streams | Sample-aligned comparison of two power meters: offset, power bands, stable windows, drift, lag; without activity_id (date range or activity_ids) every ride… |
| get_best_efforts | Best efforts of one activity for durations or distances, with their elapsed-time windows (end index exclusive); windows across a recording pause are flagged |
| get_activity_histogram | Time distribution of power, heart rate, pace or GAP |
| get_activities | List with sport, gear and power meter filters, sorting, paging, compact or JSON output; without start_date the 30 days before end_date (or today) |
| get_activity_details | Summary, thresholds used (FTP, eFTP, LTHR, zones), device and power meter, running dynamics, every custom field with units, fueling, weather, W′ balance and… |
| get_activity_intervals | Intervals and groups, custom interval fields, per-interval statistics of any stream, optionally the planned step type next to the Intervals.icu type |
| compare_best_efforts | Best efforts across activities (ids, date range, sport, gear) side by side; ids are de-duplicated and capped to the limit before any request |
| find_similar_intervals | Activities with comparable intervals, from a reference activity or a given length and intensity; same sport family by default, ranked by comparability, with… |
| compare_workouts | Repeated workouts over time, comparing only comparable work intervals (reference activity, sport family, length, intensity, reps, FTP range); the reference… |
| get_power_hr_efficiency | Watts per heartbeat per power band and bike over time, with minimum sample sizes and filters for gear, indoor/outdoor and interval position |
| get_fatigue_resistance | Best power fresh vs after the athlete's kJ thresholds; without configured thresholds it explains the setting and suggests values instead of showing pseudo… |
| get_long_ride_fatigue_profile | HR, W/bpm, cadence and Garmin stamina at matched power in steady segments before vs after work thresholds (default 750 / 1,500 kJ, or kJ/kg), for given rides… |
| get_submax_test_trends | Submaximal fatigue tests detected by Intervals.icu (SFT) with a validity filter (target tolerance, CV, ignored, detected inside a regular workout, hard riding… |
| get_training_load | Acute and chronic load, acute:chronic ratio, Foster monotony and strain (rest days as 0), deload-like weeks, per sport with the primary sport, ISO week table… |
| get_intensity_distribution | Three-zone distribution from power, HR or pace zones (mapping by zone count; GAP zone times where Intervals.icu uses them), polarization index after Treff et… |
| get_durability | Aerobic decoupling of steady long sessions after a quality filter (excluded sessions per reason), median and count above 5 %, recent vs window with a… |
| get_load_projection | CTL, ATL and form projected over the planned workouts (42/7-day model), missing planned loads reported, race days, Intervals.icu's own projection and a model… |
| get_training_summary | Totals per week, month, sport or gear with the Intervals.icu load (power, else HR, else pace per activity) and the overlapping per-method sums, time in power… |
| get_recovery_snapshot | Today and the previous days, 42-day baselines, recent load and planned sessions in one call; names the usual wellness fields today's record does not have yet… |
| get_coach_context | Recommended first call for a weekly analysis: overview in about 2-2.5k characters with load, fitness, intensity distribution (per-sport split when zone bases… |
| get_wellness_trends | Rolling means, baselines, outliers, week-over-week changes, correlations, eFTP per sport; requested period, lookback and baseline window stated separately… |
| get_nutrition_summary | Intake, device burn, energy balance on logged days, weight trend, training load per day |
| get_fueling_analysis | Fueling of one activity or the long sessions of a period: carbs used (Intervals.icu estimate) and ingested per moving hour, ingested share of used, energy… |
| get_server_status | Version, enabled permissions, tool set, hidden tools, transport and sign-in mode, API check (also --doctor) |
| get_guide | Usage guide, workout syntax and method guides (the resources below) for clients that only call tools |
| Purpose | Core tools |
| Orientation | get_server_status, get_guide |
| Recovery | get_recovery_snapshot, get_wellness_data, get_wellness_trends |
| Planning | get_sport_settings, validate_workout, preview_workout |
{
"mcpServers": {
"intervals-icu": {
"command": "uvx",
"args": [
"futureweb-intervals-mcp@1.0.0b1"
],
"env": {
"API_KEY": "YOUR_API_KEY",
"ATHLETE_ID": "i123456",
"MCP_PERMISSIONS": "read"
}
}
}
}From the project documentation. Replace placeholders and example paths before connecting.
| Variable | Description | Required |
|---|---|---|
| API_KEY | Declared in the maintainer’s client configuration. | Yes |
| ATHLETE_ID | Declared in the maintainer’s client configuration. | Yes |
| MCP_PERMISSIONS | Declared in the maintainer’s client configuration. | Check documentation |
Metabase ships its own MCP endpoint — search your BI content, build and run queries, and save questions and dashboards without leaving the chat.
Facilitates interaction with the PyTorch HUD API, providing access to CI/CD data, job logs, and analytics.
MCP server for 1C:Enterprise (1С) over OData. Ask your accounting database in natural language — debtors, sales, taxes, cash flow — from any MCP
Your AI marketing analyst, connected to live data. 75 MCP tools across Google Ads, Meta Ads, GA4, Search Console, Shopify, Stripe and WordPress — read, analyze, manage, and monitor.
Draft, schedule and publish LinkedIn posts, reply to comments and read analytics via 2pr.io.
Read Accredible credentials, groups, designs, analytics, skills; issue one credential as a draft.