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.

Implementation source of truth: internal/resources/ and internal/prompts/.

Resources

URINameMIME typeDescription
icuvisor://workout-syntaxworkout_syntaxtext/markdownIntervals.icu structured-workout DSL syntax supported by icuvisor.
icuvisor://event-categoriesevent_categoriestext/markdownintervals.icu calendar event category enum values and meanings.
icuvisor://custom-item-schemascustom_item_schemastext/markdownRepresentative content schemas for intervals.icu custom item types.
icuvisor://athlete-profileathlete_profileapplication/jsonDynamic cached athlete profile, units, thresholds, zones, and response metadata shaped like 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

PromptArgumentsDescriptionCode-truth workflow
training_analysisOptional start_date, end_dateGuide a terse training-load, trend, and best-effort readout from existing icuvisor read tools.Reads icuvisor://athlete-profile; uses get_athlete_profile, get_fitness, get_training_summary, get_best_efforts, and get_activities.
recovery_checkOptional date, lookback_daysGuide a wellness-led recovery and readiness check with correct sleep scales and staleness handling.Reads icuvisor://athlete-profile; uses get_athlete_profile, get_wellness_data, and get_fitness.
weekly_planningOptional week_startGuide 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, get_events, get_training_plan, get_activities, get_training_summary, and icuvisor_list_advanced_capabilities.
race_week_taperRequired race_date; optional race_nameGuide 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, get_events, get_fitness, get_training_summary, and get_activities.
coach_roster_triageRequired athlete_id; optional start_date, end_dateGuide 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, get_wellness_data, get_fitness, get_training_summary, get_events, and get_activities.

Prompt guardrails

The rendered prompts include two default guardrails unless a prompt overrides them:

  • 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.