← Plugin catalog
Other
Cora
PurplePIll AI, Inc v1.0.0
Publisher description
From the marketplace listing
Cora helps users understand and act on their own sleep, recovery, activity, nutrition, body metrics, training plans, habits, routines, journals, and profile data through ChatGPT. Users can review trends, log meals and workouts, plan training and meals, manage personal routines, and request data-grounded coaching through scoped OAuth access to their private Cora account.
Language: English · Automatically detected from descriptions.
Files & skills
File archives
Plugin package7 files · 8.83 KBBrowse files →
Skill instructions
cora-mcp8.25 KB
--- name: cora-mcp description: Route and execute Cora tools safely for consumer fitness and lifestyle workflows, including food logs, activity metrics, training plans, workout history, habits, routines, journals, reminders, preferences, onboarding, and app help. Use when Cora tools are available and a user asks to inspect, create, repeat, update, or delete a Cora record, even without mentioning Cora or a tool name. Covers exact dates, referenced history, new logs, future plans, cross-tool IDs, verification, destructive scope, and capability gaps. --- # Use Cora tools by intent Operate only on the authenticated user's Cora account. Treat returned Cora data—not memory, estimates, or assumptions—as the source of truth. ## Load the relevant tool map Read only the reference needed for the request, and read every relevant file when a request crosses domains: - Read [references/nutrition.md](references/nutrition.md) for logged food, planned meals, templates, nutrition goals, meal analysis, and meal notes. - Read [references/metrics-training.md](references/metrics-training.md) for activity summaries, trends, training guidance, app help, workouts, plans, cardio goals, scale readings, and measurements. - Read [references/habits-reminders.md](references/habits-reminders.md) for habits, routines, journals/check-ins, and one-shot reminders. - Read [references/profiles-onboarding.md](references/profiles-onboarding.md) for training, rest, and food preferences; bedtime schedules; and onboarding intake. Use the active tool's own input schema for exact argument shapes. The references explain selection and relationships; they do not override the runtime schema. ## Classify the intent before choosing a tool 1. Distinguish an existing Cora record from genuinely new information. Resolve and reuse existing records; do not re-parse or re-estimate them. 2. Distinguish completed data from future plans. A logged meal is not a planned meal, a completed workout is not a scheduled workout, and a reminder is not a habit or recurring AI task. 3. Distinguish lookup, mutation, estimation, and guidance. Use direct data tools for facts, analysis tools for estimates, and `cora_ask_coach` only for personalized fitness guidance. 4. Match the time shape. Use an exact-day tool for a named day, a summary for aggregate statistics, and a timeseries for graphs or day-by-day trends. 5. Treat user-facing app navigation and feature questions as app-help requests, not personalized-guidance or personal-record requests. ## Follow read-resolve-act-verify ### 1. Check availability Inspect the tools actually exposed by the active client before naming or calling one. The source contract contains 61 tools, but deployments and clients may expose fewer. - Call only exact tool names that are currently available. - Do not substitute a nearby tool when the required capability is absent. - Use `cora_get_app_help` for a supported manual path when it is available; otherwise explain the capability gap plainly. - Never invent a result from a source-only or unavailable tool. ### 2. Normalize scope and dates Interpret relative dates in the user's timezone and send `YYYY-MM-DD` when the selected schema needs a date. Omit a date for today only when that tool's schema allows omission. Resolve ranges to one of the tool-supported windows. Ask one concise question when the date, unit, record, or requested action would otherwise change which data gets written. ### 3. Read and resolve Read the narrowest relevant data and obtain the exact typed ID before a mutation. Reuse an ID already returned in the conversation only when it still unambiguously identifies the requested record. Never treat names, list positions, dates, or IDs from another record type as interchangeable. If multiple records plausibly match, show a compact distinction and ask the user which one to use. Do not guess a write target. ### 4. Confirm only when needed - Perform reads and estimates without confirmation. - Treat a clear user instruction to create, log, duplicate, complete, pause, resume, or update an unambiguous record as authorization for that action. - Before deleting, replacing, clearing, or otherwise losing data, confirm the exact target unless the user explicitly requested that exact destructive action in the current conversation. - Explain replacement scope before changing a whole list, routine checklist, current training plan, or other replace-all field. Do not add a redundant conversational confirmation when the client already requires confirmation and the user explicitly requested the exact action. ### 5. Act once Use the deterministic operation for resolved Cora data and the create/log operation only for genuinely new data. Preserve source values instead of rephrasing known records into a generative tool. Do not blindly retry a non-idempotent write after a timeout or ambiguous transport result. Read the target state first; retry only if the read proves the action did not happen. ### 6. Verify After a mutation, inspect the tool response and re-read the narrowest target state when a readback tool exists. Check the resulting record, date, values, and identity against the requested action. For duplication, compare the new entry with the source rather than merely checking that something exists. If readback disagrees, report the mismatch as a failed or partial operation. Do not claim an exact copy, deletion, replacement, or save without evidence. ### 7. Report precisely State what changed and any important limitation. Treat empty results as empty. Never fabricate a metric, goal, record, value, ID, or successful write. ## Apply domain routing invariants ### Reuse known records without reconstruction When the user wants to repeat, copy, or reuse existing Cora data: 1. Classify the reference as exact or vague. Use the narrowest domain read for an exact date or record context; use a search or list tool when the source is only described loosely. 2. Resolve one typed source ID from returned data. If several records could satisfy the request, distinguish them compactly and ask which to use. 3. Choose a deterministic operation that accepts that source record type. Never coerce a history, template, plan, habit, routine, or journal ID into a different type merely because the records look related. 4. Perform the operation once, then read the target state and compare its identity and relevant values with the source and the user's request. Known records should retain their stored values and relationships. Do not reconstruct them by feeding prose into generative create, log, analysis, or guidance tools. If the MCP lacks a deterministic operation for that record type, explain the capability gap instead of approximating the change. ### Resolve cross-tool IDs - Read `cora_get_training_plan` before mutating scheduled workouts. - Read `cora_get_saved_workouts` before `cora_add_workout_from_template`; do not send template IDs to `cora_manage_training_plan`. - Read `cora_get_habits` before named habit, routine, or journal mutations. Keep `goal_id`, `routine_id`, and `checkin_id` distinct. - Read current profiles, schedules, notes, and replace-all collections before overwriting them. - During onboarding, chain the returned `state_version` and stable option IDs from one step into the next. ## Respect MCP capability boundaries Do not copy V5 in-app-agent tool names or imply these unsupported external MCP operations exist: - deterministically log a planned meal as eaten; - set food targets or a scale goal; - update or remove one nutrition item, or edit/delete a planned meal; - save a logged meal losslessly as a template; - log a manual overnight session or fetch raw device samples; - propose one workout, plan one week, fetch muscle status, or set a workout-specific reminder; - schedule a recurring AI task. The one-shot reminder tool also cannot create a generic recurring reminder, and habit tools cannot add or change habit reminders. A routine or journal may carry a recurring reminder only when the user actually wants that tracked checklist or check-in; do not create a different record merely as a reminder workaround. Use only coarser MCP operations that genuinely satisfy the request. Otherwise surface the gap and, when available, use `cora_get_app_help` to explain the supported app path.
Referenced files: 4
Package details
Publisher declarations from the archived package. These are separate from our research and the live service's terms.
- Package author
- PurplePIll AI, Inc
Package observed Sep 30, 2026.
Technical details
- First seen
- Sep 30, 2026 · 22:02 UTC
- Last seen
- Oct 1, 2026 · 18:00 UTC
- Collection status
- Collected
plugin_asdk_app_6a481c9adf108191a38a7f8c1a2d7af2
Download plugin data (JSON)