---
title: "MCP resources and prompts"
description: "Reference for icuvisor MCP Resources and Prompts."
---

icuvisor exposes MCP Resources for long-form reference material and MCP Prompts for curated starting points in clients that support them. Resources and prompts keep bulky guidance out of every tool description while still letting an AI client fetch it when needed.

MCP Prompts are server-registered workflows that clients can invoke when they support `prompts/list`. Claude Project instructions are client-side standing instructions that apply across ordinary chats; use the [Claude Project instructions guide]({{< relref "../guides/claude-project-instructions" >}}) when you want timezone/date, grounding, and stale-data guardrails even outside a specific MCP Prompt.

## Resources

| URI                              | Name                  | MIME type          | Description                                                                                                                                                                                                                                                                                                                       |
| -------------------------------- | --------------------- | ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `icuvisor://workout-syntax`      | `workout_syntax`      | `text/markdown`    | Intervals.icu structured-workout DSL syntax supported by icuvisor.                                                                                                                                                                                                                                                                |
| `icuvisor://event-categories`    | `event_categories`    | `text/markdown`    | intervals.icu calendar event category enum values and meanings.                                                                                                                                                                                                                                                                   |
| `icuvisor://custom-item-schemas` | `custom_item_schemas` | `text/markdown`    | Representative content schemas for intervals.icu custom item types.                                                                                                                                                                                                                                                               |
| `icuvisor://analysis-formulas`   | `analysis_formulas`   | `text/markdown`    | Canonical analyzer formula refs for HR drift, Pw:HR decoupling, polarization index, EF, VI, and z-score; analyzer responses link to these entries through `_meta.formula_ref`.                                                                                                                                                     |
| `icuvisor://athlete-profile`     | `athlete_profile`     | `application/json` | Dynamic cached athlete profile, units, thresholds, zones, and response metadata shaped like [`get_athlete_profile`]({{< relref "tools#get_athlete_profile" >}}). This resource is registered when the server has a profile client and is disabled for coach-mode startup to avoid one cached profile representing a whole roster. |

Clients that do not expose `resources/list` can still use the equivalent MCP tools or ordinary docs pages. Resource URIs are stable identifiers for clients that support MCP Resources.

## Prompts

| Prompt                | Arguments                                                | Description                                                                                         | Code-truth workflow                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| --------------------- | -------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |   |
| `training_analysis`   | Optional `start_date`, `end_date`                        | Guide a terse training-load, trend, and best-effort readout from existing icuvisor read tools.      | Reads `icuvisor://athlete-profile`; uses [`get_athlete_profile`]({{< relref "tools#get_athlete_profile" >}}), [`get_fitness`]({{< relref "tools#get_fitness" >}}), [`get_training_summary`]({{< relref "tools#get_training_summary" >}}), [`get_best_efforts`]({{< relref "tools#get_best_efforts" >}}), and [`get_activities`]({{< relref "tools#get_activities" >}}).                                                                                                                                                                      |
| `recovery_check`      | Optional `date`, `lookback_days`                         | Guide a wellness-led recovery and readiness check with correct sleep scales and staleness handling. | Reads `icuvisor://athlete-profile`; uses [`get_athlete_profile`]({{< relref "tools#get_athlete_profile" >}}), [`get_wellness_data`]({{< relref "tools#get_wellness_data" >}}), and [`get_fitness`]({{< relref "tools#get_fitness" >}}).                                                                                                                                                                                                                                                                                                      |
| `weekly_planning`     | Optional `week_start`                                    | Guide week planning from calendar events, training plans, and completed activity context.           | Reads `icuvisor://athlete-profile`, `icuvisor://event-categories`, and `icuvisor://workout-syntax`; uses [`get_athlete_profile`]({{< relref "tools#get_athlete_profile" >}}), [`get_events`]({{< relref "tools#get_events" >}}), [`get_training_plan`]({{< relref "tools#get_training_plan" >}}), [`get_activities`]({{< relref "tools#get_activities" >}}), [`get_training_summary`]({{< relref "tools#get_training_summary" >}}), and [`icuvisor_list_advanced_capabilities`]({{< relref "tools#icuvisor_list_advanced_capabilities" >}}). |
| `weekly_review`       | Optional `week_start`, `lookback_days`, `include_next_week` | Guide a structured review of the previous training week and optional preview of the upcoming week using existing icuvisor tools. | Reads `icuvisor://athlete-profile` and `icuvisor://event-categories`; uses [`get_athlete_profile`]({{< relref "tools#get_athlete_profile" >}}), [`get_wellness_data`]({{< relref "tools#get_wellness_data" >}}), [`get_fitness`]({{< relref "tools#get_fitness" >}}), [`get_training_summary`]({{< relref "tools#get_training_summary" >}}), [`get_activities`]({{< relref "tools#get_activities" >}}), [`get_events`]({{< relref "tools#get_events" >}}), [`get_training_plan`]({{< relref "tools#get_training_plan" >}}), [`compute_zone_time`]({{< relref "tools#compute_zone_time" >}}), [`compute_load_balance`]({{< relref "tools#compute_load_balance" >}}), [`compute_compliance_rate`]({{< relref "tools#compute_compliance_rate" >}}), [`analyze_trend`]({{< relref "tools#analyze_trend" >}}), and [`icuvisor_list_advanced_capabilities`]({{< relref "tools#icuvisor_list_advanced_capabilities" >}}). |
| `plan_health_review`  | Optional `planned_start`, `planned_end`, `completed_lookback_days`, `race_date`, `race_name` | Guide a transparent plan-health audit using adherence, load/form projection, wellness caveats, and race-date risk from deterministic tools. | Reads `icuvisor://athlete-profile`, `icuvisor://event-categories`, and `icuvisor://analysis-formulas`; uses [`get_athlete_profile`]({{< relref "tools#get_athlete_profile" >}}), [`get_events`]({{< relref "tools#get_events" >}}), [`get_training_plan`]({{< relref "tools#get_training_plan" >}}), [`get_activities`]({{< relref "tools#get_activities" >}}), [`compute_compliance_rate`]({{< relref "tools#compute_compliance_rate" >}}), [`get_fitness`]({{< relref "tools#get_fitness" >}}), [`get_training_summary`]({{< relref "tools#get_training_summary" >}}), [`compute_load_balance`]({{< relref "tools#compute_load_balance" >}}), [`get_fitness_projection`]({{< relref "tools#get_fitness_projection" >}}), [`get_wellness_data`]({{< relref "tools#get_wellness_data" >}}), and [`icuvisor_list_advanced_capabilities`]({{< relref "tools#icuvisor_list_advanced_capabilities" >}}). |
| `race_week_taper`     | Required `race_date`; optional `race_name`               | Guide race-week taper analysis using calendar race context and recent fitness/load reads.           | Reads `icuvisor://athlete-profile`, `icuvisor://event-categories`, and `icuvisor://workout-syntax`; uses [`get_athlete_profile`]({{< relref "tools#get_athlete_profile" >}}), [`get_events`]({{< relref "tools#get_events" >}}), [`get_fitness`]({{< relref "tools#get_fitness" >}}), [`get_training_summary`]({{< relref "tools#get_training_summary" >}}), and [`get_activities`]({{< relref "tools#get_activities" >}}).                                                                                                                  |
| `coach_roster_triage` | Required `athlete_id`; optional `start_date`, `end_date` | Guide a coach-mode per-athlete scan; `athlete_id` is a selector, not a credential.                  | Reads `icuvisor://athlete-profile` and `icuvisor://event-categories`; uses [`get_athlete_profile`]({{< relref "tools#get_athlete_profile" >}}), [`get_wellness_data`]({{< relref "tools#get_wellness_data" >}}), [`get_fitness`]({{< relref "tools#get_fitness" >}}), [`get_training_summary`]({{< relref "tools#get_training_summary" >}}), [`get_events`]({{< relref "tools#get_events" >}}), and [`get_activities`]({{< relref "tools#get_activities" >}}).                                                                               |

## Prompt guardrails

The rendered prompts include two default guardrails unless a prompt overrides them; `plan_health_review` keeps both and adds no-black-box-score and reviewed-before-write rules:

- Do not request or accept intervals.icu API keys in chat.
- Prefer terse default tool responses; use `include_full` only when the user asks or evidence is missing.

The `race_week_taper` and `coach_roster_triage` prompts validate required arguments before rendering. Missing `race_date` or `athlete_id` returns a short user-facing error instead of a stack trace. `plan_health_review` has no required arguments; when no race event is found, it treats any supplied race date as a scenario anchor and says that no confirmed race event was found.
