
Body Lab
lol.bodylabPublished by bodylab.lolOfficial publisherv1.0.0Updated Oct 24, 2026
Body Lab training: today's prescribed session and why, load, recovery, activities and strength.
Overview
Hosted MCP server that connects an assistant to a Body Lab training account to read prescribed sessions, recovery, activities and strength, and to add…
- What you can do
- Read today's and the week's prescribed sessions, readiness and the reasons behind them
- Review weekly reviews, training status, activities, recovery, steps, measurements, strength and profile
- Schedule arranged sessions and strength routines on the calendar, list them, and withdraw them again
- Add or remove races and goals at priority B or C
- Read and record daily updates, lab results and body composition scans, and see patterns in check-ins
- Search the exercise catalogue and suggest routes that fit today's session
- When to use it
- Useful for athletes already training with Body Lab who want to ask an assistant what to do today and why, how the week went, whether they are recovered, or how a lift or lab marker is trending, and to let it add sessions, races and check-ins without opening the app.
- Requirements
- A Body Lab account and OAuth sign-in on first connection. The server is hosted at a fixed remote address, so nothing is installed locally. Optional scopes (today:write, schedule:write, events:write, checkins:read, checkins:write, labs:read, labs:write, body:read, body:write) are chosen on the consent page; training:read is always granted.
Installation
In SourceWeft
- Open Body Lab in the dashboard and add it to a workspace.
- Connect the required credentials. They are stored privately and never shown on public pages.
- Enable the server for the chats that should use its tools.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Use with an agent
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/lol.bodylab%2Fbody-lab/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Other MCP clients
Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.
{
"mcpServers": {
"body-lab": {
"type": "http",
"url": "https://bodylab.lol/mcp"
}
}
}README
Body Lab MCP server
Connect Claude, ChatGPT, or any assistant that speaks the Model Context Protocol to your Body Lab training. Ask what to do today and why, how last week went, whether you're recovered, or what your squat has been doing, and the answers come from your own data and Body Lab's engine.
This repository is the public home of the server: how to connect, the tool reference, the MCP Registry entry, and a Claude Code plugin. The server itself runs at the address above. It's hosted, so there's nothing to install or run.
Connect
You need a Body Lab account. The first time an assistant connects, it sends you to Body Lab to sign in and approve it.
Body Lab isn't listed in assistants' app directories yet, so you add it by its address.
Claude (web, desktop, mobile):
- On claude.ai or in Claude Desktop, open Customize → Connectors.
- Press +, choose Add custom connector, paste
https://bodylab.lol/mcpand press Add. - Press Connect, then sign in to Body Lab and allow Claude.
- In a chat, turn Body Lab on from + → Connectors. It's then available in the Claude mobile app too.
On a Team or Enterprise plan, an organization owner adds it first (Organization settings → Connectors). The free plan allows one custom connector. See Anthropic's custom connector guide.
ChatGPT (web; Plus, Pro, Business, Enterprise or Education):
- Open Settings → Security and login and turn on Developer mode.
- Open Plugins, press +, and create an app with
https://bodylab.lol/mcp, using OAuth. - Sign in to Body Lab and allow ChatGPT.
- In a chat, choose Body Lab from Developer mode in the message box.
See OpenAI's developer mode guide.
Claude Code:
Then run /mcp inside Claude Code and choose Body Lab to sign in. Or install
the plugin, which adds the server and skills for using it well:
VS Code, Cursor and other clients: add a remote (Streamable HTTP) MCP
server with the URL https://bodylab.lol/mcp. For clients configured with
JSON:
What it can do
An assistant can see your training. With your permission it can also tell Body Lab about today, put sessions you've arranged and strength routines you've chosen on your calendar and take them off again, add races and goals at priority B or C, see your lab results and add new ones, for example from a PDF or photo of a lab report, do the same with body composition scans such as DEXA, and read or record your daily updates: how you felt and what happened the night before, and the patterns Body Lab finds in them. It can't change your training history, delete anything, or make an event the A race your plan is built around — that's yours to do in Body Lab.
Prompts: What should I do today? (todays-session) and Review my week
(weekly-review).
Full reference, with every argument: TOOLS.md. Machine-readable, with input and output schemas: tools.json.
Your data and permissions
Every connection can see your training (training:read). Daily updates, lab
results and body composition scans are separate from it and from each other,
and each is off unless you turn it on when you approve an assistant:
schedule:write covers sessions you've arranged and strength routines you've
chosen, and nothing Body Lab prescribed: a withdrawn session stays on record,
marked withdrawn. A routine names exercises from Body Lab's catalogue only, so
an assistant can't add an exercise of its own, and any weight it states is
shown to you in the strength runner before you lift, with a note when it's
well above what you've logged. events:write adds races and goals at B or C
only; making one your A race, editing it, or removing it stays in Body Lab, so
an assistant can't restructure months of your plan or delete a race by
mistake. Every session or event an assistant adds is recorded as that
assistant's, and each assistant is held to a rolling limit on how much it can
schedule.
An assistant you already allowed to schedule sessions can put strength routines on your calendar too, without reconnecting: they come under the same permission. Otherwise, an assistant you connected before these existed doesn't get them automatically, and one you allowed for lab results doesn't get body composition. To allow any of them, connect it again (in Claude, disconnect and reconnect Body Lab) and tick those boxes when Body Lab asks. To correct or delete a lab result, to remove a scan, or to change or remove a race, use Body Lab on the web.
Body composition scans, including bone density, are measurements you recorded. Body Lab shows them back to you and nothing more: they are not a diagnosis, a whole-body scan is not a diagnostic bone density test, and nothing Body Lab prescribes reads them.
- When you approve an assistant, Body Lab shows who published it (or that it's unverified), where it will send you back to, and what it can do.
- What an assistant reads goes to that assistant's provider, and they handle it under their own terms.
- See and disconnect assistants any time in Body Lab under Settings → AI assistants. Disconnecting works immediately.
- Body Lab's recommendations are training guidance, not medical advice.
- Full details: Privacy Policy and Terms of Service.
For client developers
The server follows the MCP authorization spec (2026-07-28):
- Protected resource metadata:
https://bodylab.lol/.well-known/oauth-protected-resource/mcp - Authorization server metadata:
https://bodylab.lol/.well-known/oauth-authorization-server - Client registration: Client ID Metadata Documents (preferred), or dynamic
client registration at
/oauth/register. - Flow: authorization code with PKCE (S256 only). Include the
resourceparameter (https://bodylab.lol/mcp). Authorization responses carryiss. - Clients: public only (
token_endpoint_auth_method: none). Refresh tokens rotate. Revoke at/oauth/revoke. - Scopes:
training:read(every connection), plus the optionaltoday:write,schedule:write,events:write,checkins:read,checkins:write,labs:read,labs:write,body:readandbody:write. A 401 names all ten; the athlete chooses the optional ones on the consent page, and the token response'sscopesays what was granted.tools/listshows only the tools the grant covers. Atools/callfor a tool it doesn't cover gets403withWWW-Authenticate: Bearer error="insufficient_scope"and ascopenaming the grant's scopes plus the one needed, for step-up authorization. - Transport: Streamable HTTP, stateless, on protocol 2026-07-28 and the 2025
initializehandshake.
Registry name: lol.bodylab/body-lab.
Issues
Bugs, questions and tool requests: open an issue.
Source: README.md at commit 2633d11
Tools
0Version history
1- v1.0.0LatestSep 16, 2026
Score
85% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 daysRequired25 pts
- Auth declaredRequired10 pts
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts