MCP App Store
by KeenEthics

Overview

Connect Cora and bring your entire customer operation into Claude. Cora's Account Brain holds persistent memory across your CRM, support tickets, product usage, calls, and Slack, so every query is grounded in the whole customer relationship rather than one system's view of it. Ask which accounts are at risk this quarter and what to do about them. Generate QBR summaries, prep docs, account briefs, and dashboards from live data. Update your CRM, send email and Slack, and assign tasks. Then automate it. Build and schedule Cora agents that watch for signals and run the work themselves.

Tools

cora_add_planned_workout

ChatGPT
Schedule one new workout using an exact HealthKit activity name. Trusted code derives the numeric HealthKit ID. Never choose or pass a numeric workout type. Use manage_training_plan for move/rename/remove and add_workout_from_template for an existing saved template. Args: date: Local scheduled day in YYYY-MM-DD format. workout_type_name: Exact Apple HealthKit activity name from the enum. display_name: Optional user-facing workout name. plan_id: Active plan ID to attach to, or omit for a standalone workout. target_duration_min: Target duration; omitted defaults to 60 minutes.

cora_add_workout_from_template

ChatGPT
Schedule a saved workout template onto a date in the training plan. Args: template_id: Template id — find it via get_saved_workouts. scheduled_date: Day to schedule it, YYYY-MM-DD.

cora_analyze_meal

ChatGPT
Estimate calories/macros for a described meal WITHOUT saving anything. Use to preview a new/hypothetical meal estimate or prepare item data for plan_meal. It never saves. For a known logged meal, fetch the saved data rather than estimating again; to estimate-and-save genuinely new food use log_nutrition. Args: description: The food to analyze, e.g. "2 eggs, toast with butter". meal_type: breakfast | lunch | dinner | snack | dessert.

cora_ask_coach

ChatGPT
Ask Cora, the user's AI fitness coach, for ADVICE — not data. Runs a real coaching turn over the user's data and returns Cora's reply. Use ONLY for judgment/advice questions ("am I recovered enough to train hard?", "what should I eat post-workout?"). Do NOT use it to fetch data: for sleep/recovery/meals/plan/habits the cora_get_* tools are faster, complete, and structured — and to log or edit data use the dedicated write tools. Slow (~10-30s, full coaching turn); nothing is saved to the user's chat history. Args: message: The advice question for Cora.

cora_cancel_reminder

ChatGPT
Cancel a pending one-shot push reminder by id.

cora_complete_routine

ChatGPT
Mark a routine as completed for a day (idempotent per day). Args: routine_id: The routine id — find it via get_habits. timestamp: ISO datetime it was done (defaults to now). notes: Optional note.

cora_create_habit

ChatGPT
Create a new habit for the user to track. Args: title: Habit name, e.g. "No screens before bed". metric: What is tracked — e.g. "manual_checkoff" for simple done/not- done habits (an invalid value returns the full supported list). frequency: DAILY, WEEKLY, or MONTHLY. threshold: Target per period (for manual_checkoff habits use 1). notes: Optional notes shown with the habit.

cora_create_journal

ChatGPT
Create a journal (a recurring check-in question the user answers). Args: title: Journal name, e.g. "Evening mood". prompt: The question asked each time, e.g. "How was your mood today?" category: Journal category (an invalid value returns the valid list). input_kind: Answer type (an invalid value returns the valid list) — e.g. scale, yes_no, text, tags, number. unit: Unit label for numeric answers. scale_max: Max value for scale answers (e.g. 5 or 10). tag_options: Selectable options for tags answers. schedule_kind: How often it's asked (invalid value returns the list). days_of_week: Days 0-6 (0=Sunday) for weekly schedules. reminder_enabled: Whether to remind the user (needs hour+minute). reminder_hour: Reminder hour 0-23 (user's timezone). reminder_minute: Reminder minute 0-59. notes: Optional notes.

cora_create_routine

ChatGPT
Create a routine (an ordered checklist, e.g. a wind-down routine). Args: title: Routine name, e.g. "Evening wind-down". slot: When in the day it belongs (invalid value returns valid list). category: Routine category (invalid value returns the valid list). steps: 1-8 step titles, in order. description: Optional description. schedule_kind: How often (invalid value returns the valid list). days_of_week: Days 0-6 (0=Sunday) for weekly schedules. reminder_enabled: Whether to remind the user (needs hour+minute). reminder_hour: Reminder hour 0-23 (user's timezone). reminder_minute: Reminder minute 0-59. notes: Optional notes.

cora_delete_habit

ChatGPT
Delete a habit permanently (confirm with the user first). The response includes the deleted habit's title so the user can verify. Args: goal_id: The habit's goal id — find it via get_habits.

cora_delete_journal

ChatGPT
Delete a journal permanently (confirm with the user first). The response includes the deleted journal's title for verification. Args: checkin_id: The journal id — find it via get_habits.

cora_delete_routine

ChatGPT
Delete a routine permanently (confirm with the user first). The response includes the deleted routine's title for verification. Args: routine_id: The routine id — find it via get_habits.

cora_delete_sleep_schedule

ChatGPT
Delete one of the user's sleep schedules by its scheduleId. Get the scheduleId from get_sleep_schedules. A stale/unknown id errors. This soft-deletes the schedule and stops its sleep reminders. Args: scheduleId: The id of the schedule to delete (from get_sleep_schedules).

cora_duplicate_nutrition

ChatGPT
Re-log a known past meal or saved template without AI re-estimation. Use only after resolving the exact typed source through get_nutrition or search_nutrition. Re-read the target day afterward to verify the write. Args: source: "entry" (copy a past logged meal) or "template" (instantiate a saved meal template). source_id: Id of the source entry/template. For an exact day, get the entry id from get_nutrition; for a vague meal or template, use search_nutrition. A planned_meal_id is never valid here. date: Day to log to, YYYY-MM-DD. portions: Portion multiplier (default 1).

cora_edit_nutrition

ChatGPT
Scale the portions of a logged meal, or delete it. Args: entry_id: The nutrition entry id — find it via get_nutrition or search_nutrition. action: "scale" (multiply all macros by scale_factor) or "delete" (removes the entry — irreversible). scale_factor: Required for "scale", e.g. 0.5 for half, 2 for double.

cora_generate_training_plan

ChatGPT
Generate a complete personalized training plan and make it the user's CURRENT plan in Cora — structure (phases/weeks) plus the first week of concrete workouts with exercises. Takes ~30-60 seconds (two AI generations). The previous current plan is archived to Plan History (recoverable), so CONFIRM with the user before calling if they already have an active plan (check get_training_plan). description is freeform — goals, schedule, equipment, experience, injuries, preferences (e.g. "build muscle, 4x/week, full gym, bad left knee, hate burpees"). Optional duration_weeks (4-16) and workouts_per_week (2-6) pin those choices; omitted = AI decides. After it returns, the plan is live in the app immediately. Use manage_training_plan for day-to-day edits and get_training_plan to view it.

cora_get_app_help

ChatGPT
How the Cora app works: screens, navigation paths, feature flows, metric definitions/ranges, and troubleshooting — the SAME knowledge base Cora's in-app FAQ uses. Call this whenever the user asks "how do I…", "where do I find…", "what does <metric/score> mean", or something in Cora looks broken. Pass a few keywords as query (e.g. "connect chatgpt", "recovery score bands", "edit habit"); omit it for a table of contents. Answer from the returned entries — do not guess at app behavior. No user data is involved and no data scope is required.

cora_get_cardio_goals

ChatGPT
Get the user's weekly cardio (zone-minutes) goals, if set.

cora_get_daily_scores

ChatGPT
Day-by-day sleep, recovery, and activity scores for exact dates. Use this (NOT get_sleep/get_recovery, which return window summaries) when the user asks about a SPECIFIC day — "what was my sleep score last night / on July 2?". Each row is one local calendar day in the user's timezone; a sleep row for day D covers the night ending that morning. Args: start_date: Range start YYYY-MM-DD. Omit for the last 14 days. end_date: Range end YYYY-MM-DD. Omit for today (user's timezone).

cora_get_habit_progress

ChatGPT
Get one habit's streak, completion rate and recent period results. Args: goal_id: The habit's goal id — find it via get_habits. range: Window — one of 7d, 30d, 90d, 180d, 365d.

cora_get_habits

ChatGPT
Get the user's active habits, routines and journals.

cora_get_metric_timeseries

ChatGPT
Raw per-day values for ONE metric — use for trend graphs and tables. This is the series behind get_stats' aggregates: every recorded value with its date, sorted ascending. Perfect for "graph my resting heart rate for the past week" or correlating two metrics (call twice). Args: metric: One metric slug — same slugs as get_stats (e.g. "resting_heart_rate", "hrv", "sleep_score", "step_count", "daily_protein_g"). An invalid value returns the full list. range: Window ending today — one of 7d, 30d, 90d, 180d, 365d. Ignored when start_date/end_date are given. start_date: Optional exact range start, YYYY-MM-DD. end_date: Optional exact range end, YYYY-MM-DD (defaults to today in the user's timezone when only start_date is given).

cora_get_nutrition

ChatGPT
Get the user's logged meals and macro totals for one day. Use whenever the source day is known, including when resolving a logged entry for a later edit or duplicate operation. Each item's macro values are consumed totals after its servings multiplier; servings and serving_size_g are returned separately for exact comparison. Args: date: Day to fetch as YYYY-MM-DD. Omit to use today (user's timezone).

cora_get_nutrition_goals

ChatGPT
Get the user's daily nutrition goals (calorie/macro targets). Goals are dated and carry forward until changed; this returns the targets in effect today (user's timezone).

cora_get_nutrition_profile

ChatGPT
Read the user's saved Nutrition profile — the answers from the app's Your Profiles > Nutrition screen (goals, style, eating pattern/routine, diet type, restrictions, food likes/avoids, meals per day, challenges, notes). Returns {profile, completed, answers}. Use before set_nutrition_profile to see what's already set (a provided list REPLACES, so read first).

cora_get_onboarding_options

ChatGPT
Get stable field and option ids for one onboarding intake stage. Args: stage: goal | current | profile. pillar: Required for current/profile. Read the active pillar from get_onboarding_status.

cora_get_onboarding_status

ChatGPT
Get progress for a new user's goal -> current -> profile intake. Use current_stage and active_pillar to call get_onboarding_options, then save answers using only its stable option ids. When has_completed_native_onboarding is true, intake is closed; use the get_/set_*_profile tools instead.

cora_get_planned_meals

ChatGPT
Get the user's planned (not-yet-logged) meals and meal notes for a range. These are meals the user has planned ahead, distinct from logged diary entries (see get_nutrition for what was actually eaten). Args: start_date: Range start YYYY-MM-DD. Omit for today (user's timezone). end_date: Range end YYYY-MM-DD. Omit to use start_date + 7 days.

cora_get_profile_options

ChatGPT
List the valid option ids for every Training/Sleep/Nutrition profile field, so you don't hardcode them. Use these values with set_*_profile. Returns {training, sleep, nutrition} -> field -> either a list of allowed ids (enum fields) or a machine descriptor for non-enum fields ({"type": "free_text"} or {"type": "number", "min": .., "max": ..}). This is static vocabulary and exposes no user data; it gates on ANY read scope purely to keep the surface authenticated.

cora_get_recovery

ChatGPT
Summary stats of recovery score, HRV and resting HR over a window. Returns min/max/mean over the window — for a SPECIFIC day's values use get_daily_scores instead. Args: range: Window — one of 7d, 30d, 90d, 180d, 365d.

cora_get_saved_workouts

ChatGPT
Get the user's saved workout templates, optionally filtered by name. Use the returned template id with add_workout_from_template to schedule it. manage_training_plan does not accept template ids. Args: query: Optional text to match against template names. Omit to list all.

cora_get_sleep

ChatGPT
Summary stats of the user's sleep duration and score over a window. Returns min/max/mean over the window — for a SPECIFIC day's score use get_daily_scores instead. Args: range: Window — one of 7d, 30d, 90d, 180d, 365d.

cora_get_sleep_profile

ChatGPT
Read the user's saved Sleep profile — the answers from the app's Your Profiles > Sleep screen (ideal hours, goals, issues, environment, lifestyle factors, notes). Returns {profile, completed, answers, note}. note flags that this reads the backend sleep profile Cora uses for coaching; the app's on-device Sleep screen (MMKV) is stored separately and may not match — read it and surface the caveat rather than assuming this is the source of truth.

cora_get_sleep_schedules

ChatGPT
List the user's active sleep schedules — each with its scheduleId, bedtime, wake time, days, and optional wind-down/up minutes. Use this to resolve a day-conflict from set_sleep_schedule (find the overlapping schedule, then update or delete it), or to fetch the current scheduleId before an update. Each set_sleep_schedule write returns a NEW scheduleId, so re-read here if you've lost track. Returns {schedules: [...]}.

cora_get_stats

ChatGPT
Compute summary statistics for health metrics over a time window. Supported metric slugs: Recovery: recovery_score, hrv, resting_heart_rate Sleep: sleep (duration), sleep_score Activity/day: zo2_strain_actual_score, zo2_strain_target_score, step_count, active_energy_burned, basal_energy_burned, vo2_max, max_heart_rate, hrr, o2_saturation, zone0_minutes..zone5_minutes, low_intensity_minutes, high_intensity_minutes Workouts: workout_duration, workout_calories, workout_strain_score, workout_average_heart_rate, workout_max_heart_rate, workout_distance, workout_average_pace, workout_low_intensity_minutes, workout_high_intensity_minutes Nutrition macros: daily_calories, daily_protein_g, daily_carbs_g, daily_fat_g, daily_sugar_g Nutrition micros: daily_fiber_g, daily_sodium_mg, daily_saturated_fat_g, daily_cholesterol_mg, daily_potassium_mg, daily_calcium_mg, daily_iron_mg, daily_vitamin_d_ug, daily_added_sugars_g, daily_trans_fat_g, daily_caffeine_mg Args: metric: Metric slug(s), comma-separated, max 10 (e.g. "hrv" or "recovery_score,sleep,daily_protein_g"). range: Window — one of 7d, 30d, 90d, 180d, 365d.

cora_get_training_plan

ChatGPT
Get the user's current training plan and its scheduled workouts.

cora_get_training_profile

ChatGPT
Read the user's saved Training profile — the answers from the app's Your Profiles > Training screen (goals, training types, environment, schedule, experience, injuries, notes). Returns {profile, completed, answers}. completed is false when the user hasn't finished this profile yet. Use before set_training_profile to see what's already set (a provided list REPLACES, so read first to avoid dropping existing answers).

cora_get_weight_history

ChatGPT
Get the user's logged body-weight entries over a window (newest first). Returns weights the user logged via Cora (values in their stated unit). Does NOT include Apple Health data. Args: range: Window — one of 7d, 30d, 90d, 180d, 365d.

cora_get_workout_details

ChatGPT
Get full details of one planned workout (exercises, sets, instructions). Args: workout_id: The planned workout id — get it from get_training_plan.

cora_get_workouts

ChatGPT
Get the user's COMPLETED workouts (planned + manually logged). Omit both dates to get the most recent workout(s). For the upcoming plan use get_training_plan; for one planned workout's exercises use get_workout_details. Args: start_date: Range start YYYY-MM-DD. Omit with end_date for "recent N". end_date: Range end YYYY-MM-DD. limit: Max workouts (used in recent-N mode; default 1 when no dates).

cora_list_reminders

ChatGPT
List pending one-shot push reminders.

cora_log_body_measurement

ChatGPT
Record one or more body circumference measurements. Values are interpreted in the user's preferred unit from their profile (inches for imperial, centimeters otherwise). Args: measurements: Items with "type" (waist, neck, shoulders, chest, biceps, glutes, forearms, abdomen, thighs, or calves) and positive numeric "value". date: Day to record as YYYY-MM-DD. Omit for today (user's timezone).

cora_log_checkin_event

ChatGPT
Record an answer to a journal (check-in). Args: checkin_id: The journal id — find it via get_habits. value: The answer — a number for scale/number journals, true/false for yes/no, a string for text, or a list of strings for tags. timestamp: ISO datetime it happened (defaults to now). notes: Optional note.

cora_log_habit_event

ChatGPT
Mark a habit as done for a period (binary/check-off habits only). Args: goal_id: The habit's goal id — find it via get_habits. value: Optional numeric value (defaults to 1 = done). timestamp: ISO datetime it happened (defaults to now, user timezone). notes: Optional note for the log.

cora_log_nutrition

ChatGPT
Log a meal from a free-text description (Cora estimates the macros). Use when the user describes genuinely new food they ate, such as "I had a protein shake and a banana". This estimates calories/macros and saves them. Do not use for a known past entry or template; resolve and duplicate that record instead so it is not estimated again. Args: text: What the user ate, in natural language (3-2000 chars). date: Day to log to as YYYY-MM-DD. Omit for today (user's timezone).

cora_log_weight

ChatGPT
Record the user's body weight. NOTE: this saves to the user's Cora body-measurement record; it does NOT write to Apple Health / HealthKit (that is the app's on-device job). Args: value: Weight amount in the given unit (must be positive). unit: "kg" or "lb". Defaults to "kg" — always pass the user's unit. date: Day to record as YYYY-MM-DD. Omit for today (user's timezone).

cora_log_workout

ChatGPT
Log a COMPLETED strength/resistance workout from a description. Parses the described exercises, sets, reps and weights into structured data (matched to the exercise library) and saves it as a finished workout. Use ONLY for strength/weightlifting/bodyweight/HIIT — not runs, cycling, or yoga. Args: description: Exercises with sets/reps/weight, e.g. "bench press 3x8 at 185, squats 4x5 at 225". activity_title: Short title, e.g. "Leg Day", "Push Day", "Upper Body". date: Day the workout was done (YYYY-MM-DD). Omit for today. duration_minutes: Total minutes if known; omitted = estimated from the exercises and sets (~5 min per exercise).

cora_manage_training_plan

ChatGPT
Move, rename, or remove workouts in the user's training plan. Each operation is an object with an "action" and its fields: - {"action": "move", "workoutId": "<id>", "date": "YYYY-MM-DD"} Reschedules an existing workout to a new date. - {"action": "rename", "workoutId": "<id>", "displayName": "New name"} Renames an existing workout. - {"action": "remove", "workoutId": "<id>"} Deletes a workout from the plan. Get workout IDs from get_training_plan first. For a new scheduled workout, use add_planned_workout so trusted code derives its HealthKit ID from an exact activity name. Legacy clients may continue replaying the older add operation shape. To log a workout the user actually did, use log_workout. Args: operations: List of operation objects as described above.

cora_pause_habit

ChatGPT
Pause a habit (stops streak tracking until resumed). Args: goal_id: The habit's goal id — find it via get_habits.

cora_plan_meal

ChatGPT
Plan a future meal (NOT logged as eaten — see get_planned_meals). Args: name: Meal name, e.g. "Chicken burrito bowl". items: At least one food item; always required, including template-only saves. Each item uses per-serving name, calories, proteinG, carbsG, fatG, sugarG, servings, and servingSizeG fields. date: Day (YYYY-MM-DD) or list of days to plan it on. Either date or save_as_template is required. meal_type: breakfast | lunch | dinner | snack | dessert. description: Optional short note about the meal. recipe: FULL recipe text (ingredients + instructions). When the conversation contains a recipe the user wants saved, pass the complete text here — it is stored on the meal and template and shown in the Cora app. Do not summarize it away. save_as_template: Also save it as a reusable meal template. Note: this does NOT create a reminder. To schedule a one-shot push notification, use set_reminder.

cora_resume_habit

ChatGPT
Resume a paused habit. Args: goal_id: The habit's goal id — find it via get_habits.

cora_save_healthkit_workout_template

ChatGPT
Save a reusable HealthKit workout template from an exact activity name. Trusted code derives the numeric HealthKit ID. Use save_workout_template for custom or built-in Cora workout identifiers. Args: name: Template name, e.g. "Saturday Basketball". exercises: A non-empty list of exercises in order; each exercise needs a title and may include set_count/library_exercise_id/ custom_exercise_id. workout_type_name: Exact Apple HealthKit activity name from the enum. description: Optional template description. target_duration_min: Estimated duration in minutes (default 45). equipment_needed: Optional equipment list. components: Optional instructions, each {"description": ...}.

cora_save_onboarding_step

ChatGPT
Validate and save one goal/current/profile intake step. Read get_onboarding_status and get_onboarding_options first. Omit expected_state_version on the first save. Every subsequent save must pass the state_version returned by the previous save or by get_onboarding_status. Validation errors identify invalid stable ids; correct them and retry. Continue until collection_status is complete.

cora_save_workout_template

ChatGPT
Save a reusable workout template (a saved workout). Args: name: Template name, e.g. 'Upper Body Push'. exercises: Exercises in order — each {"title", optional "set_count" (defaults to 3), optional "library_exercise_id"/"custom_exercise_id"}. workout_type: {"source": "custom"|"standard", "name"/"code"}. Use source='custom' with a name for most cases. Legacy integrations remain supported; new HealthKit templates must use save_healthkit_workout_template instead. description: Optional template description. target_duration_min: Estimated duration in minutes (default 45). equipment_needed: Optional equipment list. components: Optional instructions, each {"description": ...}.

cora_search_nutrition

ChatGPT
Search the user's past logged meals and/or saved meal templates. Use when the meal/date is vague, or to find a saved template before calling duplicate_nutrition. For a known day use get_nutrition instead. Search text should be food/title words, not date phrases such as "yesterday". Args: query: Optional text to match against titles/descriptions. Omit to list recent items. source: "entries" (logged meals), "templates" (saved meals), or "all". limit: Max results per source (1-50, default 20).

cora_set_meal_note

ChatGPT
Set (or clear with "") the user's meal note for a day + meal slot. Args: date: Day, YYYY-MM-DD. slot: general | breakfast | lunch | dinner | snack | dessert. note: The note text; empty string clears it.

cora_set_nutrition_profile

ChatGPT
Fill in the user's Nutrition profile — the same answers as the app's Your Profiles > Nutrition screen. Cora uses these for all nutrition coaching. Only provide fields you actually know about the user; omitted fields (and empty lists / blank notes) are left unchanged. A provided list REPLACES that field entirely — send the full desired set, not a delta. Marks the profile complete once at least one real field is given — a call with no fields does nothing. Args: nutritionGoals: Any of: fat_loss, muscle_gain, maintenance, body_recomp, performance, eat_smarter. nutritionStyle: Any of: strict_tracking, flexible_tracking, structure_no_count, intuitive, occasional_tips, meal_suggestions. currentEatingPattern: One of: dialed_in, mostly_good, inconsistent, unstructured, starting_over, not_sure. eatingRoutine: One of: cook_at_home, mixed, eat_out, meal_prep, family_meals, travel_shift. dietType: Any of: high_protein, mediterranean, keto, paleo, vegetarian, vegan, pescatarian, whole30, carnivore, flexible_dieting. dietaryRestrictions: Any of: gluten_free, dairy_free, nut_free, soy_free, egg_free, shellfish_free, low_fodmap, halal, kosher, sugar_free. foodAvoidTags: Free-text foods to avoid (NOT a fixed list). Common category tags like red_meat, shellfish, dairy, eggs, gluten, soy, nuts render as chips in-app; any other food is kept as plain text. foodLikeTags: Free-text foods the user likes (same free-form style as foodAvoidTags — any string is accepted). mealsPerDay: Any of: 2_meals, 3_meals, 4_meals, 5_plus_meals, varies, snacking. nutritionChallenges: Any of: overeating, undereating, low_protein, late_night_snacking, skipping_meals, too_much_sugar, eating_out, lack_of_time, food_cravings, social_eating, meal_planning, portion_control. extraNotes: Free-text notes about nutrition.

cora_set_reminder

ChatGPT
Schedule a one-shot push notification reminder. The message is stored and delivered as a push notification almost verbatim. This does not run Cora, inspect user data, or create recurring reminders. Args: message: Reminder body, 2-500 chars, e.g. "Start my zone 2 run". reminder_date: Local date to send on, YYYY-MM-DD. reminder_time: Local time to send at, HH:MM or HH:MM:SS. timezone_name: IANA timezone, e.g. America/Los_Angeles.

cora_set_sleep_profile

ChatGPT
Fill in the user's Sleep profile — the same answers as the app's Your Profiles > Sleep screen. Cora uses these for all sleep coaching. (Note: this updates the backend sleep profile Cora reads; the app's on-device Sleep screen won't visibly reflect it yet.) Only provide fields you actually know about the user; omitted fields (and empty lists / blank notes) are left unchanged. A provided list REPLACES that field entirely — send the full desired set, not a delta. Marks the profile complete once at least one real field is given — a call with no fields does nothing. Args: idealSleepHours: Target hours of sleep per night (number). sleepGoals: Any of: fall_asleep_faster, sleep_longer, better_quality, more_energy, consistent_schedule, fewer_wakeups. sleepIssues: Any of: trouble_falling_asleep, waking_during_night, waking_too_early, sleep_apnea, snoring, restless_legs, teeth_grinding, insomnia, none. sleepEnvironment: Any of: too_warm, too_cold, too_bright, noisy, uncomfortable_mattress, partner, pets, children. lifestyleFactors: Any of: late_caffeine, screen_time, late_exercise, shift_work, travel_timezones, stress_anxiety, alcohol, late_meals. extraNotes: Free-text notes about sleep.

cora_set_sleep_schedule

ChatGPT
Set (create or update) the user's sleep schedule — target bedtime, wake time and which days it applies to. Unlike the sleep profile preferences, this DOES persist server-side and drives the app's sleep reminders. Omit scheduleId to create a new schedule; pass an existing scheduleId to update it. NOTE: each write returns a NEW scheduleId (the previous row is closed) — persist the returned id and pass THAT to the next update; a stale/closed id errors. Day sets can't overlap another active schedule (that errors — get_sleep_schedules then update/delete the other one instead). Args: bedtime: Target bedtime as "HH:MM" (24-hour), e.g. "22:30". wakeTime: Target wake time as "HH:MM" (24-hour), e.g. "06:30". days: Days this applies to — ints 0=Sunday .. 6=Saturday, 1-7 unique. windDownMinutes: Optional pre-bed wind-down length (0-180). windUpMinutes: Optional post-wake wind-up length (0-180). scheduleId: Existing schedule id to update; omit to create a new one. Each write returns a NEW scheduleId; pass the latest one back.

cora_set_training_profile

ChatGPT
Fill in the user's Training profile — the same answers as the app's Your Profiles > Training screen. Cora uses these for all training coaching. Only provide fields you actually know about the user; omitted fields (and empty lists / blank notes) are left unchanged. A provided list REPLACES that field entirely — send the full desired set, not a delta. Marks the profile complete once at least one real field is given — a call with no fields does nothing. Args: mainGoal: Primary goal. One of: build_muscle, lose_fat, improve_cardio, performance, health_energy, routine, recovery, general_fitness. secondaryGoals: Other goals, from the same set as mainGoal. trainingTypes: Preferred training. Any of: weightlifting, cardio, hiit, functional, mobility, sports, bodyweight, walking. environment: Equipment/access. Any of: gym, home, dumbbells, bodyweight, outdoor, mix. schedule: Weekly frequency. One of: 1_per_week, 2_per_week, 3_per_week, 4_per_week, 5_per_week, 6_plus_per_week. sessionDuration: Typical session length. One of: quick, medium, standard, long, very_long. injuriesToAvoid: Areas to work around. Any of: lower_back, knee, shoulder, neck, ankle, wrist_elbow, hip_glutes, foot. experienceLevel: One of: beginner, beginner_intermediate, intermediate, intermediate_advanced, advanced. extraNotes: Free-text notes about training preferences.

cora_update_journal

ChatGPT
Update a journal. Only the provided fields change. Args: checkin_id: The journal id — find it via get_habits. title: New name. prompt: New question text. category: New category (invalid value returns the valid list). input_kind: New answer type (invalid value returns the valid list). schedule_kind: New schedule (invalid value returns the valid list). days_of_week: Days 0-6 (0=Sunday) for weekly schedules. reminder_enabled: Turn the reminder on/off (first enable needs reminder_hour + reminder_minute). reminder_hour: Reminder hour 0-23. reminder_minute: Reminder minute 0-59. notes: New notes.

cora_update_routine

ChatGPT
Update a routine. Only the provided fields change. WARNING: passing steps REPLACES the routine's entire checklist. Args: routine_id: The routine id — find it via get_habits. title: New name. description: New description. slot: New time-of-day slot (invalid value returns the valid list). category: New category (invalid value returns the valid list). schedule_kind: New schedule (invalid value returns the valid list). days_of_week: Days 0-6 (0=Sunday) for weekly schedules. steps: REPLACES all steps (1-8 step titles, in order). reminder_enabled: Turn the reminder on/off (first enable needs reminder_hour + reminder_minute). reminder_hour: Reminder hour 0-23. reminder_minute: Reminder minute 0-59. notes: New notes.

activate_skill

Claude

call_tool

Claude

list_custom_skills

Claude

load_custom_skill

Claude

search_tools

Claude

whoami

Claude

Capabilities

Writes

Example Prompts

Click any prompt to copy it.

Similar Apps