Hyrox Coach MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HYROX_COACH_PROVIDER | No | Chooses the wearable data source provider (e.g. "garmin"). Can alternatively be set with `hyrox-coach login --provider <name>` or in `~/.hyrox-coach/config.toml`. |
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_data_sourceA | Which wearable provider is connected, what it can supply (readiness, sleep, HRV, coach plan, fitness trends) and its coaching guidance: how to read this source's metrics, its traps and how to record sessions on it. Call this first in a conversation and follow the guidance when interpreting data. |
| get_readinessA | Recovery and readiness for a day (default today): the provider's readiness score and its limiting factors (if it has one), sleep, HRV vs baseline, resting HR, Body Battery, last hard session, and a signal (ready_for_hard / easy / rest_or_very_easy) with reasons. Pair it with get_coach_plan to decide today's session. |
| get_coach_planB | The athlete's running coach plan from their wearable (Garmin Coach): phase (build/peak/taper), week number, event date, today's workout and upcoming workouts with targets (HR or pace), and run consistency since the plan started. The coach plan owns the runs; plan stations and classes around it. |
| get_progressA | How the athlete is improving over the last N weeks, Garmin Coach style: VO2 max, predicted 5k/10k/half, endurance score (and HIIT vs running contribution), hill score, lactate threshold, aerobic efficiency on easy runs, running impact vs tolerance, plus station progress from logged notes. Each metric has a verdict (improving/stable/declining). Metrics the provider doesn't compute are listed as missing. |
| get_training_summaryB | Week-by-week training: run km and count, hybrid/class sessions, hours, training load, hard sessions, plus the provider's 4-week load balance and acute:chronic load ratio when available. |
| list_sessionsB | Recent sessions, newest first. kind filters to 'run', 'hybrid' (HIIT/classes/strength) or 'other'. has_note shows whether station details were logged. |
| log_session_noteA | Save what the athlete did in a session the wearable cannot see (stations, weights, reps, times, how it felt). Stored locally only, never sent to the wearable provider. Extract structured stations from what the athlete says; keep their own words in text. Defaults to today. |
| set_race_profileA | Set the athlete's race details (stored locally). division: open_men, open_women, pro_men, pro_women, doubles_men, doubles_women, doubles_mixed. goal is free text, e.g. 'finish strong' or 'sub 1:30'. Only the fields given are changed. |
| get_race_profileC | Race date, days to go, current phase (build/peak/taper/race day), division and goal, plus the race format and station standards for the division. |
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 9 tools
Each tool targets a distinct slice: readiness (daily recovery), coach_plan (upcoming runs), progress (long-term trends), training_summary (weekly load), sessions (recent log). There is mild overlap between get_progress and get_training_summary since both touch load/efficiency metrics, but descriptions make the split clear enough.
Consistent snake_case verb_noun pattern throughout: get_*, list_sessions, log_session_note, set_race_profile. The get/set pairing for race_profile is predictable and readable.
Nine tools is well-scoped for a hybrid-training coach. Each tool maps to a clear athlete-facing function with no filler.
The surface covers read paths across readiness, plan, progress, summaries and sessions, plus write paths for notes and race profile. Minor gaps: no explicit update/delete for logged session notes, and no way to remove or edit a race profile beyond overwrite-by-set.