Strength log · Coach · MCP

Close the loop on every set.

Zeroed logs every workout and set and models your squat, bench, deadlift and overhead press. Connect Claude over MCP and run your training from the chat: check your week, read a lift's trend, adjust a training max, edit your program.

Web app · installable PWA · iPhone app in progress

Convergence reticle: a crosshair zeroing in on its center
TM
Training max
e1RM
RPE-based
Trend
4 / 8 wk

The headline

Your log, inside the conversation.

Zeroed exposes your training to Claude through the Model Context Protocol. Claude reads the same data the app does, then works with you in plain language.

It starts with get_training_brief. Then it pulls lift models, coach notes and your program as it needs them. To change anything, it has to show you a diff first.

ClaudeZeroed connected
You
What's on my training week? And bench feels heavy, should I drop the TM?
Claude · tools
→ get_training_brief()
→ get_lift_model(lift: "bench")
→ get_coach_notes()
Claude

You have four sessions this week. Bench is on Tuesday and Friday.

Bench model
MetricValue
Training max100 kg
e1RM (RPE)104 kg
4-wk trend−1.5%
8-wk trend+0.8%

Your e1RM is slipping and the training max is now 96% of it. Here's a preview of a 2.5 kg drop. Nothing has been written yet:

bench.training_max 100 kg bench.training_max 97.5 kg

Apply it?

You
Yes, apply.
Claude · tools
→ set_training_max(lift: "bench", kg: 97.5, confirm: true)
Illustrative example. Numbers are sample data, not a real athlete.

Safety model

The model proposes. Zeroed disposes.

Claude can suggest any change it likes. Zeroed decides what gets written, and only after you say yes.

propose → preview → confirm → apply

  1. 01 · PROPOSE

    Claude drafts the edit

    It works from your real log, lift models and coach notes.

  2. 02 · PREVIEW

    Deterministic diff

    preview_program_edits shows exactly what would change and writes nothing.

  3. 03 · CONFIRM

    You say yes

    Nothing applies without confirm=true. set_training_max also previews unless you confirm.

  4. 04 · APPLY

    Revision recorded

    Your program keeps its revision history. Logged workouts are never deleted. Edits can be queued for next week.

The instrument

A training log that models you.

Claude needs something to read. Zeroed keeps it.

Log

Every workout. Every set.

Each session and set goes in the log, so trends come from what you actually lifted.

Lift models

Four lifts, fully modeled

Working max, training max, 4- and 8-week trend, all-time best, and RPE-based e1RM.

  • SQUAT
  • BENCH
  • DEADLIFT
  • OHP
Program

Weekly program with revisions

Every change to your week is saved as a revision, so you can see how the program got here.

Coach

Coach notes & weekly reviews

Notes and reviews stay with the training they're about.

Insights

Weak-link map

Shows where your strength is lagging so you know what to work on next.

Anywhere

Web & installable PWA

Runs in the browser and installs to your home screen. A native iPhone app is in progress.

MCP surface

Thirteen tools. Two that write.

Most of what Claude can call is read-only. The two tools that change your data preview by default and only apply on confirmation.

  • get_training_brief start hereOrientation: your current state and week at a glance.
  • get_athleteYour athlete profile.
  • get_insightsThe weak-link map.
  • get_current_programThis week's program.
  • list_workoutsYour logged sessions.
  • get_workoutOne session, set by set.
  • search_liftsFind lifts in your history.
  • get_lift_modelWorking max, TM, trends, best, e1RM.
  • set_training_max write · confirmPreviews unless confirmed.
  • get_program_journeyHow your program evolved, revision by revision.
  • get_coach_notesCoach notes and weekly reviews.
  • preview_program_edits writes nothingDeterministic diff of proposed edits.
  • apply_program_edits write · confirmApplies only with confirm=true.

Setup · ~2 minutes

Connect Claude or ChatGPT

Zeroed runs a remote MCP server over Streamable HTTP. You authenticate with a personal token sent as a request header. There's no OAuth sign-in yet.

Server URL. Right now it's MCP server · Streamable HTTPhttps://pzxkcngdmkjjwbimncdx.supabase.co/functions/v1/mcp The URL shown in the app is the one to trust. It may change as Zeroed moves hosting, so always copy it from the app.

Claude Works today

claude.ai on the web, plus Claude Desktop, which uses the same connectors. Pro or Max plan.

  1. In Zeroed, open You (Profile) → Claude connector, create a named token, and tap Copy URL + token.
  2. In Claude, go to Customize → Connectors, click + Add, then Add custom connector.
  3. Name it Zeroed, paste the server URL, and click Continue.
  4. Under Authentication, choose No sign in.
  5. Under Request headers, choose the header name authorization and enter this value (the word Bearer, then a space, then your token): ValueBearer YOUR_ZEROED_TOKEN Click Add.
  6. Enable Zeroed in a chat and ask: “What's on my training week?”
Heads up: Claude's Request headers option is in beta and only some accounts have it. On Team or Enterprise, an Owner adds the connector under Organization settings → Connectors. If you don't see Request headers, use the Claude Desktop config below.
Alternative: Claude Desktop config

Open Settings → Developer → Edit Config and add this to claude_desktop_config.json:

{
  "mcpServers": {
    "zeroed": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://pzxkcngdmkjjwbimncdx.supabase.co/functions/v1/mcp",
        "--header",
        "Authorization: Bearer YOUR_ZEROED_TOKEN"
      ]
    }
  }
}

Then fully quit Claude Desktop and reopen it. Requires Node.js.

ChatGPT Coming soon

Not available yet. Here's why.

For custom MCP servers, ChatGPT currently offers only OAuth or No authentication. There's no field for a bearer token, so you can't enter a Zeroed token in ChatGPT yet. ChatGPT support will come once Zeroed adds OAuth sign-in.

When it's ready, setup will look like this:

  1. Open ChatGPT on the web.
  2. Turn on developer mode: Settings → Apps → Advanced settings → Developer mode.
  3. Choose Create / add a custom MCP server. Name it Zeroed and paste the server URL from the app.
  4. Sign in to Zeroed when prompted, then ask: “What's on my training week?”

Whether you have developer mode depends on your ChatGPT plan and workspace.

Token · 01

Shown once

Zeroed shows your token only once, when you create it. Copy it straight into Claude.

Token · 02

Treat it like a password

Anyone with the token can reach your training data. Don't paste it into shared chats or public files.

Token · 03

Revoke if it leaks

Revoke it from You (Profile) → Claude connector, the same screen where you created it, then create a new one.

Log it. Model it. Zero in.

Open Zeroed in your browser, install it to your home screen, and connect Claude when you're ready.