Saturday Claude Connector
Saturday publishes a remote MCP connector for Claude. There is one connector and one URL; which tools appear depends on who signs in.- An athlete (any active Saturday subscriber) gets self-tools over their own data.
- A coach (Pro Coach tier or above) additionally gets roster and config tools.
Connect
In Claude, add a custom connector pointing at:Subscriber wall. Only an active Saturday subscriber can complete the connect flow. A non-subscriber sees a “subscription required” page carrying a Subscribe link to plans and a “Use a different account” option for re-authenticating after signing in with the wrong account. Nothing is written to their account. A lapsed subscriber loses access within about an hour, on the next token refresh (access tokens live one hour).
Transport and protocol
The connector speaks the MCP Streamable HTTP transport (POST /mcp) and protocol revision 2025-11-25, negotiating down to older revisions a client offers. Tokens are bound to the connector resource (https://api.saturday.fit/mcp) via RFC 8707 audience binding, so a token minted for Saturday cannot be replayed against another server.
Athlete tools
When an athlete connects, Claude can read and write their own Saturday data. Athlete tools operate strictly on the signed-in athlete; there is no athlete selector. The full catalog is in MCP Integration. Highlights:get_athlete,update_athleteread and update their own profile.list_activities,get_activity,create_activitymanage their own activities.calculate_activity_prescription,get_activity_prescriptionask Saturday’s engine to compute the prescription. It is never writable by hand.build_bottling_plan,record_bottling_choiceturn the prescription into a bottle-by-bottle mix plan.build_bottling_planrenders the interactive Bottle Builder app.calculate_nutrition,search_products,analyze_product_fit,get_athlete_insights,search_knowledge.
Coach tools
A Pro Coach or above additionally sees the tools below. Every athlete argument is confined to the coach’s roster (a non-roster athlete returns “resource not found”). They cover the same operations as the Coach REST API, with one gap: the REST surface can disable and re-enable a webhook endpoint, and the connector cannot.Read tools
window is one of 7, 14, 30; focus is worst, rolling, or key.
Config tools
scope is overall (whole roster), group (a coach group), or athlete (one athlete), and the most specific scope wins. scope_id is required for group and athlete.
Config writes are idempotent: set_notification_rules replaces the rule set at a scope, so re-running the same call is a no-op, and the MCP path needs no idempotency key.
Webhook delivery requires the Business or Enterprise tier.
register_webhook succeeds below that line, but nothing is delivered until the tier qualifies.Configuring a roster in one conversation
The connector writes config as well as reading data. A coach can describe their monitoring philosophy in plain English and let Claude configure the whole roster:“Only ping me when sodium is under 60% on long rides for my elite group; bundle everyone else into a Friday digest, and POST concern alerts to my system.”Claude translates that into:
apply_alert_preset{ scope: "overall", preset: "balanced" }sets a baseline for everyone.set_notification_rules{ scope: "group", scope_id: "grp_elite", rules: { notification_rules: { under_fuel: { enabled: true, urgent_threshold: 0.6, channels: ["webhook"], cadence: "realtime" } } } }.register_webhook{ url: "https://my-system.example.com/saturday" }, then store the returned secret.
Lapsed coach
If a coach’s tier lapses mid-session, the coach tools disappear on the next entitlement check while the athlete self-tools remain, since the coach is still a subscriber. The result is a degrade to their own data, with no error and no broken state. Webhook deliveries to an unentitled coach stop.See also
- Coach API covers the REST surface behind these tools.
- OAuth2 covers the connector sign-in flow, coach scopes, and RFC 8707 audience binding.
- MCP Integration has the full tool catalog and partner-key MCP usage.