The model never chooses the athlete.

How Bulk Coach authenticates fitness MCP requests, limits permissions and protects athlete identity, timestamps and idempotency keys.

DIRECT ANSWER

Bulk Coach resolves the authenticated athlete at the transport boundary. The model cannot supply an athlete ID, idempotency key or timestamp, and every supported write is dispatched through the same validated function core used by the first-party coach.

Identity and permission

Production access requires a Clerk-authenticated connection and a live external-agents grant. Turning Connected AI assistants off blocks every connected client at request time. The current OAuth layer uses Clerk's supported identity scope and does not claim custom training scopes that Clerk does not issue.

Write boundaries

The server injects athlete identity, creates idempotency keys and stamps time. A caller can request a supported action but cannot mint those ownership fields. Completed workout contents remain read-only except for explicit whole-workout deletion from the product's permitted route.

Health stays outside

Apple Health access does not follow from the workout connection. The Health-summary tool is unavailable over MCP because the external grant does not represent a separate Health decision.

Revocation

Revoking Connected AI assistants is checked on future requests and blocks every OAuth client immediately. Disconnecting one client through its own settings invalidates that client's Clerk access.

Updated 7 August 2026Reviewed by James Wood, founder