MCP resources and prompts

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 when you want timezone/date, grounding, and stale-data guardrails even outside a specific MCP Prompt.

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://analysis-formulasanalysis_formulastext/markdownCanonical 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-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.
ride_analysisOptional activity_id, activity_date, focusGuide a unit-safe analysis of one ride using deterministic analyzers rather than chat-side reductions.Reads icuvisor://athlete-profile and icuvisor://analysis-formulas; resolves a missing activity ID with get_activities, then uses get_activity_details, get_activity_intervals, targeted streams/histograms only when needed, and deterministic segment, zone, distribution, and effort analyzers.
fueling_reviewOptional activity_id, start_date, end_date, race_date, race_nameGuide a read-only review of logged activity and daily nutrition evidence with transparent grams-per-hour calculations and explicit gaps.Reads icuvisor://athlete-profile; starts with get_athlete_profile, resolves default/relative athlete-local windows with resolve_calendar_dates, uses terse paginated get_activities with include_unnamed:true or one get_activity_details, and reads nutrition-only get_wellness_data only when useful. It calculates carbs_ingested_g / (moving_time_seconds / 3600) only for non-negative logged intake and positive duration, reports coverage/exclusions, keeps carbs_used_g and daily macros distinct, and reads same-day bounded get_events only for a supplied race_date. It never writes, fetches streams/raw payloads, or prescribes nutrition targets.
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, get_fitness, and get_today for today-specific planned-event tags, indoor flags, weather availability/provenance, and completed-activity context. Weather unavailable from get_today must be stated rather than invented; indoor alternatives are recommendations/previews until the user approves an exact calendar change, and the prompt avoids creating a second active workout for the same session.
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, resolve_calendar_dates, get_planning_context, get_events, get_training_plan, get_fitness, get_training_summary, get_activities, compute_compliance_rate, and icuvisor_list_advanced_capabilities.
weekly_reviewOptional week_start, lookback_days, include_next_weekGuide 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, get_wellness_data, get_fitness, get_training_summary, get_activities, get_events, get_training_plan, compute_zone_time, compute_load_balance, compute_compliance_rate, analyze_trend, and icuvisor_list_advanced_capabilities.
coaching_handoffOptional lookback_days (default 28, range 1-90), race_context_days (default 90, range 1-365)Guide a compact, privacy-safe coaching handoff for manual review and copying into a fresh client conversation.Reads icuvisor://athlete-profile and icuvisor://event-categories; always uses get_athlete_profile and resolve_calendar_dates, then terse get_events, get_training_plan, get_fitness, get_training_summary, get_activities, and get_wellness_data only as needed. It returns six ordered sections separating user-explicit decisions from source-labelled evidence with athlete-local dates/freshness, gaps, and next actions; it excludes credentials, raw IDs/paths/payloads, defaults to no sensitive details, and never writes, deletes, uses raw streams, or claims automatic client import.
shareable_training_reportOptional report_type, start_date, end_date, race_date, audienceGuide a privacy-safe Markdown report draft the athlete can review and share manually.Reads icuvisor://athlete-profile and icuvisor://event-categories; uses get_athlete_profile, get_fitness, get_training_summary, get_activities, get_events, get_training_plan, get_wellness_data, compute_zone_time, compute_load_balance, analyze_trend, and icuvisor_list_advanced_capabilities. It drafts Markdown first, offers simple static HTML conversion only in chat after review, and never publishes, uploads, hosts, or auto-shares the report.
plan_health_reviewOptional planned_start, planned_end, completed_lookback_days, race_date, race_nameGuide 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, resolve_calendar_dates, get_events, get_training_plan, get_activities, compute_compliance_rate, get_fitness, get_training_summary, compute_load_balance, get_fitness_projection, get_wellness_data, and icuvisor_list_advanced_capabilities.
masters_plan_reviewOptional paired planned_start, planned_end; history_lookback_days (1-90); baseline_lookback_days (1-180); race_date, race_nameGuide a strictly read-only audit of an existing plan using athlete-specific evidence and stated preferences, not age rules or opaque scores.Reads athlete-local profile/date, calendar, plan, activity, load, baseline, projection, and wellness evidence. It returns separate sourced evidence, stated preferences, cautious interpretation, gaps/questions, and conditional unapplied proposals; hard-session, wellness, race, and projection conclusions remain evidence-limited, and it never writes or deletes.
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, resolve_calendar_dates, get_events, get_training_plan, get_fitness, get_training_summary, get_activities, compute_compliance_rate, get_fitness_projection, and icuvisor_list_advanced_capabilities.
coach_athlete_onboardingOptional athlete_id, start_date, end_dateGuide a coach through authorized athlete/team onboarding using existing read-only coach-mode tools.Reads icuvisor://athlete-profile and icuvisor://event-categories; uses list_athletes, select_athlete, get_athlete_profile, get_activities, get_training_summary, get_fitness, get_wellness_data, get_events, get_training_plan, and icuvisor_list_advanced_capabilities. It verifies the selected athlete identity/authorization, returns thresholds/zones, activity, wellness/HRV, races/events, device/source, and missing-data checklist rows, and stays read-only.
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; fueling_review is strictly read-only and keeps logged intake, upstream used/burned estimates, daily nutrition, and conditional general education separate without target prescriptions; coaching_handoff is strictly read-only and adds source separation, explicit freshness/gaps, manual-copy, and sensitive-data exclusions; shareable_training_report keeps the no-API-key rule and adds manual review/no-publish/no-host/no-heavy-payload sharing guardrails, plan_health_review keeps both and adds no-black-box-score and reviewed-before-write rules; masters_plan_review is absolutely read-only, separates athlete-stated preferences from sourced evidence, forbids age-derived/medical/opaque-score claims, and keeps every calendar idea unapplied; and coach_athlete_onboarding adds selector-not-credential, consent-outside-chat, no-private-token, review/redact, and no-live-account-test guardrails:

  • 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. fueling_review validates strict athlete-local YYYY-MM-DD date-only range/race arguments before rendering, rejects activity/date conflicts and a name-only race lookup, and remains read-only: it does not estimate intake, prescribe nutrition targets, or use streams/raw payloads. coach_athlete_onboarding has no required arguments but validates athlete_id when supplied. 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. masters_plan_review accepts strict paired planned dates (same-day through 90 days), bounded 1-90-day history and 1-180-day baseline lookbacks, and a race name only with a strict race date; its default uses non-overlapping 14-day planned, 28-day history, and 56-day baseline windows.