Server data from the Official MCP Registry
Body Lab training: today's prescribed session and why, load, recovery, activities and strength.
About
Body Lab training: today's prescribed session and why, load, recovery, activities and strength.
Remote endpoints: streamable-http: https://bodylab.lol/mcp
Security Report
Valid MCP server (1 strong, 1 medium validity signals). No known CVEs in dependencies. Imported from the Official MCP Registry.
Endpoint verified · Requires authentication · 1 issue found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Permissions Required
This plugin requests these system permissions. Most are normal for its category.
How to Connect
Remote Plugin
No local installation needed. Your AI client connects to the remote endpoint directly.
Add this to your MCP configuration to connect:
{
"mcpServers": {
"lol-bodylab-body-lab": {
"url": "https://bodylab.lol/mcp"
}
}
}Documentation
View on GitHubFrom the project's GitHub 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.
https://bodylab.lol/mcp
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:
claude mcp add --transport http body-lab https://bodylab.lol/mcp
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:
/plugin marketplace add bodylab-lol/mcp
/plugin install body-lab@bodylab-lol
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:
{
"mcpServers": {
"body-lab": { "type": "http", "url": "https://bodylab.lol/mcp" }
}
}
What it can do
An assistant can see your training. With your permission it can also see your lab results and add new ones, for example from a PDF or photo of a lab report, and do the same with body composition scans such as DEXA. It can't change or delete anything.
| Tool | For |
|---|---|
get_today | Today's (and tomorrow's) prescribed session, the reasons behind it, alternatives, readiness |
get_week | The next seven days as the engine projects them: detailed through tomorrow, summarised after, and shifting each morning |
get_weekly_review | How a complete week went against what was prescribed, load against the band, the strength floor, and whether training so far supports an upcoming event |
get_training_status | Fitness, fatigue, form, workload ratio, strain, intensity balance, week by week |
list_activities, get_activity | Your activities, and one in detail with load, zones, power bests and plan adherence |
get_recovery | Morning resting HR, HRV, sleep and energy scores |
get_strength | The strength session Body Lab would prescribe now, estimated maxes, recent sessions |
get_profile | Heart-rate anchors, FTP, strength equipment, test results, power curve |
find_exercises | The strength exercise catalogue |
suggest_routes | Routes you've done before that fit today's session |
get_lab_results | Your blood test results: each marker over time against the lab's range and guideline limits, and whether a change is beyond normal variation. Needs labs:read |
record_lab_results | Adds a blood draw and its results as the report prints them, after the assistant checks the values with you. It can't edit or delete results. Needs labs:write |
get_body_composition | Your body composition scans: total and regional fat, lean and bone mass, body fat percent, visceral fat, and whole-body bone density, as your report gave them. Needs body:read |
record_body_composition | Adds one scan as the report prints it, after the assistant reads every value back to you. It can't edit or delete scans. Needs body:write |
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). 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:
| Scope | Lets the assistant |
|---|---|
training:read | See your training, recovery, activities and profile |
labs:read | See your lab results |
labs:write | Add lab results you give it. It can't change or delete them |
body:read | See your body composition scans |
body:write | Add body composition scans you give it. It can't change or delete them |
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 either, 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, or to remove a scan, 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 optionallabs:read,labs:write,body:readandbody:write. A 401 names all five; 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.
Reviews
No reviews yet
Be the first to review this server!
More Developer Tools MCP Servers
Git
Freeby Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
Fetch
Freeby Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
Paperclip
Freeby Paperclipai · Developer Tools
Trending hip-hop artist momentum scores across four cultural dimensions.
Toleno
Freeby Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
mcp-creator-python
Freeby mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
MCP Marketplace
Freeby mcp-marketplace · Developer Tools
Search and install MCP servers from inside your AI client.
