TrackLab MCP Ultimate Edition
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_TRANSPORT | No | Transport mode for MCP (stdio or sse) | stdio |
| INTERVALS_API_KEY | Yes | Your Intervals.icu API key | |
| INTERVALS_ATHLETE_ID | Yes | Your Intervals.icu athlete ID (e.g., i00000) |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| provider_statusA | Checks active endurance provider name, capabilities (HR, Power, Streams, HRV, Sleep), and health status. |
| provider_pingB | Pings provider API endpoint and reports response latency. |
| get_literature_referencesA | Lists all scientific paper & textbook references (Daniels, Seiler, Norwegian Method, Casado, Riegel, Banister, ACWR) registered in TrackLab. |
| get_athlete_profileA | Fetches athlete profile, LTHR, LT Pace, VDOT, and body metrics. |
| get_hr_zonesB | Calculates athlete 5-zone HR breakdown based on LTHR & Max HR. |
| get_pace_zonesA | Calculates athlete pace zones (Z1 Easy to Z5 Repetition). |
| get_latest_activityB | Fetches the most recent workout session and summary. |
| list_recent_activitiesB | Lists recent activities with pace, HR, distance, and training load. |
| analyze_activity_driftA | Analyzes cardiac decoupling (% aerobic drift) for a specific activity stream. |
| analyze_thresholdB | Executes multi-literature threshold analysis (Daniels, Norwegian Double Threshold, Casado, Seiler 3-Zone) with confidence scoring. |
| calculate_tidA | Calculates 3-zone Training Intensity Distribution (Polarized 80/20 vs Pyramidal vs Threshold). |
| get_fitness_fatigue_formB | Calculates Banister EWMA PMC (CTL Fitness, ATL Fatigue, TSB Form). |
| calculate_vdotB | Calculates Jack Daniels VDOT rating from a race performance. |
| predict_raceA | Predicts race finish time using Riegel & Daniels models with validity checking. |
| get_training_readinessB | Calculates 0-100 Training Readiness score and workout recommendation. |
| calculate_acwrA | Calculates Acute:Chronic Workload Ratio (7d vs 28d EWMA), Monotony, and Strain. |
| build_workoutA | Generates structured step workout (Threshold Cruise Intervals or VO2max Intervals). |
| calculate_race_nutritionA | Calculates Carb Loading (g/kg), fluid (mL/hr), sodium, and gel schedule. |
| generate_race_planA | Generates negative split kilometer pacing chart and fuel strategy. |
| export_weekly_reportA | Exports weekly performance & PMC summary report in GitHub Markdown. |
| training_dashboardA | Unified Status Dashboard summarizing PMC, TID, ACWR, Readiness, and Provider Status. |
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 21 tools
Most tools target distinct analytical functions (e.g., calculate_vdot vs predict_race), but some pairs like get_latest_activity vs list_recent_activities and get_fitness_fatigue_form vs get_training_readiness could be confused. Descriptions generally clarify the differences.
The majority follow a verb_noun pattern (get_*, calculate_*, analyze_*), but several deviate: provider_status, provider_ping, and training_dashboard are noun-led. This mixed convention is readable but not fully predictable.
With 21 tools, the server is at the higher end of the reasonable range for a comprehensive endurance analytics platform. Each tool has a specific purpose, and the count aligns with the 'Ultimate Edition' scope, though it feels slightly heavy.
The domain of training analytics is well covered with load metrics, threshold analysis, and race planning, but there are notable gaps: no tool to fetch a single activity's detailed stream (only analyze_activity_drift references streams), and no explicit activity detail view. This could force workarounds.