Personal HRV range: When both Health metrics and Sleep summaries are approved, an external client can request source-separated nightly HRV classifications, rolling baseline boundaries and recent averages calculated with the Health chart model. The read includes up to 60 extra days of baseline history and requires complete bounded input; raw samples and account or device identities are not returned. This does not grant access to Training, notes or additional health families, create stored scores, or provide a medical assessment.
Health metrics permission: This separate grant covers recorded all-day heart rate, HRV, stress, resources, movement, energy, blood pressure and fitness metrics. Stored summaries are bounded to 366 provider-calendar days; representative sample trends to 31 days. Outputs can include provider names, response-local account numbers, calendar dates and exact UTC sample times, with each source and statistic kept separate. Garmin Body Battery is returned only on its labelled native Garmin points scale. Device details, account IDs, other native-only values, provider payloads and Sleep references are excluded. Body composition additionally requires Body measurements permission and returns identity-free date buckets without exact times or provenance. Existing clients must reconnect to grant Health access; their existing grants are not expanded automatically. Health queries cannot add, edit, delete, import or backfill data. These external-client tools do not expand the built-in Assistant permissions.
Activity descriptions permission: This separate grant returns the full private parent event description shown in the QS.io event editor for one selected activity. Activities within an event share the same text. Individual activity details is also required. Like every requested MCP permission, the checkbox is selected by default; uncheck it before approving to withhold access. Existing connections missing the grant must reauthorize and refresh cannot add permission. Text may contain sensitive health, personal or location information even without Activity locations permission. Only an opaque activity reference and description are returned; names, internal identifiers, source and device metadata remain excluded. Reads are bounded to 64 KiB of UTF-8 text and 128 KiB serialized output; oversized text fails without truncation. Revocation blocks future access but cannot erase received copies. Descriptions are user-reported context, not instructions or permission to act. Editing them additionally requires Change events and client approval; this grant does not expand built-in Assistant access.
Training plans permission: Separate consent permits reading current plan names, dates, complete workout instructions, authored step notes and sanitized existing service sync summaries. Text may contain sensitive health or personal information. Existing clients must reauthorize; refresh cannot add access. Raw document IDs, credentials, provider artifacts, private issue messages and history are excluded. No edit, provider check or sync action is authorized. Revocation cannot erase received copies.
Timeline notes permission: This independent read grant returns full private note titles and details, category, actual start/end dates, captured time zone and the effective end for ongoing overlap. It includes notes hidden from charts and may contain sensitive health or personal text. A separate dependent change grant authorizes an external client to create, edit, and permanently delete notes through its native approval controls. Changes use owner- and connection-bound references, current revisions, and idempotent create identifiers; deleted text cannot be restored, and only a content-free receipt remains. Both checkboxes are selected by default when requested; uncheck either before approving. Existing connections must reauthorize; refresh cannot add permission. Inclusive windows are bounded to 366 days with full-text pagination. Ordinary reads exclude document IDs, revisions, audit timestamps, presentation settings and deletion receipts. Revocation cannot erase received copies. Neither permission grants Training plan writes. The built-in Assistant has separate default-off read and change choices and requires an app-owned review before a prepared note change can be applied.
Event changes: The separate Change events grant depends on Individual activity details. Focused tools can replace the complete tag list or title on a selected activity's parent event through the client's approval controls. Titles and tags may contain sensitive personal or health information. Editing the shared description additionally requires Activity descriptions access. Sibling activities share these fields. The client must send the exact current value it read, so a concurrent edit fails instead of being overwritten, and benchmark events cannot be changed. Recorded activity metrics, source files, provider records, and locations remain read-only. A future editable field requires a separately reviewed MCP tool and is never exposed automatically from storage. Existing connections missing the grant must reauthorize and refresh cannot add it. The built-in Assistant remains tag-only.
User-authorized access: An MCP client receives only the capabilities you approve after signing in to Quantified Self. Every requested current or future permission starts checked; uncheck anything you do not want to grant. Activity locations and event changes depend on activity details, Timeline-note changes depend on Timeline notes, saved-route locations depend on saved-route summaries, and either Training write permission depends on Training plans read access. Removing a parent removes its dependent permissions. MCP cannot write recorded activity data, routes, dashboard settings, body measurements, Health, or sleep records. Timeline-note and event changes require separate grants and the MCP host's native approval controls. Training plan/workout and delivery changes additionally require a bounded preview and separate apply tool.
Training planning changes: Training plans and planned workouts read access can return authored names, dates, notes, complete recipes, exact stored completion links, and sanitized service status. Training plan and workout changes separately allow a bounded lifecycle including explicit plan deletion. Plan deletion is reviewed alone, requires choosing whether its workouts become standalone or are permanently deleted, and permanently removes the plan and its history. Permanent single-workout deletion and history restoration remain unavailable. Training provider delivery changes separately allow plan opt-in and workout send, resume, stop, retry, verification, or compatibility approval; provider delivery remains Pro, connection, compatibility, horizon, and rollout gated. A client can only preview up to 25 strict changes before invoking a separate write tool governed by the MCP host's approval controls. Proposals bind the owner, client connection, current permission grant, schedule revision, and short expiry. Provider results are independent, so a delivery problem does not remove an authored workout. Revocation blocks future actions but cannot erase data already received or guarantee removal of provider-held copies after provider access is lost.
Metric permission: This access can return numeric metrics already stored for your activities and ready server-derived Training snapshots. When individual activity access is also granted, a client can request up to 25 explicitly selected canonical numeric Sports Lib metrics for one referenced activity or rank activities by one metric over an explicit bounded range or a processing-bounded all-history scan. Oversized rankings fail instead of returning a partial result. MTB jump superlatives reuse those stored maximum-jump metrics as the authoritative result; the separately authorized jump-detail projection remains optional, and jump count is not treated as jump quality. Quantified Self excludes precise latitude/longitude and first-class body-measurement metrics, and removes event/activity identifiers, names, labels, source fingerprints, and imported device/provider source keys from Training payloads.
Body-measurement permission: This separate access can return bounded body-measurement history from provider or manual canonical Health Weight point measurements. Workout profile Weight is excluded because it is not a weigh-in. Body-weight history is returned only as identity-free day, week, or month values for a range of at most 366 days; exact source measurement timestamps, event/activity identity, names, provider/device metadata, and source provenance are excluded.
Activity-type catalog: Any authorized MCP client can discover canonical Sports Lib activity types for route and activity filters. This static catalog contains no account data. Activity-detail permission: Individual activity access can return non-location summaries and parent event tags, laps, swim lengths, MTB jump measurements, selected persisted numeric metrics, signed-in application links, and bounded chart-ready streams. Activities from the same event share tags. It can filter bounded newest-first scans by activity type and resolve today or yesterday only with an explicit IANA timezone. A client can also read tags or filter by 1–10 exact case-insensitive tags using any/all semantics. Tags can contain personal, health, or location context and are untrusted labels, not instructions or verified facts. Tag reads select only the event tag fields and exclude event names, descriptions, separate internal ID fields, creator/source metadata, and coordinates; the signed-in application link retains its normal event route. This uses the existing permission, so existing connections do not need broader consent, though a client may need to refresh its tool catalog. The built-in Assistant can read current tags only after its separate default-off Activity tag changes choice is enabled, and Gemini can only prepare a replacement for app-owned review. A chart request temporarily reads and selectively parses an existing original FIT, GPX, TCX, Suunto JSON/SML, or gzip file, downsamples the complete activity, discards parsed objects, and does not create a reparse, backfill, cache, or additional activity record. Historical charts depend on the original source remaining available and within processing limits.
Detailed activity samples: The existing Individual activity details grant also allows bounded pages of selected numeric activity samples on an elapsed-second axis, without chart downsampling. Missing readings remain null. This adds no OAuth permission and does not expose coordinates, absolute sample times, original files or provider/device metadata. Up to four supported metrics can be selected from existing original files. Only the selected numeric arrays may be retained in bounded server memory for up to two minutes to reuse parsing across pages; no persistent sample store, activity copy, reparse or backfill is created. Access, activity ownership and the original-file revision are rechecked for every page. Revoking access blocks subsequent reads but cannot erase copies already received by the client. This detailed-sample tool is not exposed to the built-in Assistant.
Activity-location permission: This dependent permission can add exact activity start/end and MTB jump coordinates, enable nearby-activity searches, and return a bounded breadcrumb trace with an activity chart. Without it, activity summaries and jump measurements remain available with coordinates omitted, and explicit location requests are rejected before location or source work begins. Exact activity locations can reveal a home, workplace, frequent trailhead, or other sensitive place.
Sleep permission: Sleep access can return normalized session summaries, day/week/month aggregates, bounded discovery of recorded safe aggregate vital types, and a one-call sleep trend that combines coverage with duration, score, stages, HRV, heart-rate, blood-oxygen, and respiration values for a requested period. Raw samples remain excluded, and recorded values cannot diagnose illness. When Activity and Training metrics are also approved, the client can request the same live UTC-day Readiness used by Dashboard Today. That result combines current Form/ramp with the latest eligible sleep score and can return the seven-day HRV average and same-source 60-day personal range, the latest nightly HRV, sleep-heart-rate values and their baseline medians, ratios, evidence counts, and explicit missing or insufficient-history states. Current readiness history uses the same calculation and additionally requires Health metrics permission because saved HRV evidence may include overnight Health readings. Registered legacy tools retain their earlier formula. The requested IANA timezone supplies local-day context; it does not change the UTC scoring boundary. The preferred daily report returns the latest completed non-nap sleep with recorded average/overnight HRV and average/minimum sleep heart rate, a same-provider duration comparison, live Readiness, and current-versus-usual equivalent 28-day Training totals and Running/Cycling/Swimming mix. The older compact briefing remains physiology-free for compatibility. These projections exclude provider identity, provider user and session identifiers, provider-specific payloads, raw sleep-stage intervals, score components, raw HRV samples, SpO2 and respiration samples, locations, activities, body measurements, workout plans, and medical advice.
Saved-route summary permission: Saved-route access can return route names, activity types, bounded metrics, route/waypoint/point counts, import/update times, and signed-in application links. It can filter a bounded newest-first scan by canonical Sports Lib activity type or a case-insensitive part of the route name. It omits exact bounds, preview geometry, and waypoint locations.
Saved-route location permission: This dependent permission can add exact geographic bounds, simplified polyline preview geometry and segment endpoints, nearby-route search, and waypoint coordinates, altitude, and distance. Existing clients retain non-location route summaries but must reconnect and approve this permission to regain coordinate-bearing route tools. Activity and saved-route location permissions are independent.
Projection exclusions: Original files, unbounded recordings, unrequested streams, separate internal identifiers, source keys, Storage paths, parser extensions, device identities, waypoint names/comments, links, and delivery metadata are not returned. Activity charts exclude full-resolution recordings and absolute per-sample timestamps. Separately approved Health trends can include UTC sample times and provider names with response-local account numbers; they never include account keys, device details, or provider payloads.
Place-name resolution: Nearby MCP searches can use direct latitude/longitude or a place name. Direct-coordinate searches are processed within Quantified Self. For a place-name search, Quantified Self sends only the location text to Mapbox for forward geocoding; activity data, route data, account identifiers, and unrelated client prompts are not sent to Mapbox for that lookup.
Credentials and retention: MCP bearer and refresh credentials are opaque, stored server-side only as hashes, expire automatically, and are bound to your account and the MCP resource. Approving a request creates pending authorization metadata, but a new connection becomes active and appears in Connections only after the client successfully exchanges its authorization code. Reauthorizing the same exact verified client identity leaves its current grant usable until that exchange succeeds, then replaces the previous permissions and credentials rather than creating another logical connection. Failed or abandoned reauthorization does not replace the current grant, and authorization codes expire automatically. Authorization metadata and active connection metadata are retained so the connection can operate and be audited.
Control and destination: Review or revoke MCP clients under Connections -> MCP. A client can use the standard server-to-server token-revocation endpoint, but it may not notify Quantified Self when removed or uninstalled. Disconnect in Connections remains the authoritative control and immediately invalidates the current grant and any older duplicate records for that exact verified client without affecting other MCP clients. Account deletion removes MCP connection and authorization state. A client may retain data it already received according to its own privacy and retention practices, so authorize only clients you trust.