Body Lab について
Body LabのMCPサーバーは、トレーニングデータと独自のトレーニングエンジンへのアクセスをアシスタントに提供し、練習内容の確認や振り返りを支援します。許可に応じて更新の記録や予定の登録もでき、回復、筋力、検査情報を扱えます。
主な機能
- 01当日の処方セッションと理由の確認
- 02週間計画、レビュー、トレーニング状況
- 03活動、回復、測定履歴の参照
- 04セッションと筋力ルーティンの登録
- 05許可された健康データの読み書き
活用シーン
- 01今日のトレーニング内容と理由を確認
- 02完了した週のトレーニングを振り返る
- 03回復状況と最近の活動を確認
- 04検査結果や体組成スキャンを追加
MCP 対応
ホスト型MCPサーバー https://bodylab.lol/mcp が、接続したクライアントにBody Labのツールを提供します。トレーニング情報へのアクセスと任意の読み書き機能は、個別の権限で制御されます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://bodylab.lol/mcpclaude mcp add --transport http lol-bodylab-body-lab https://bodylab.lol/mcp{"mcpServers":{"lol-bodylab-body-lab":{"type":"http","url":"https://bodylab.lol/mcp"}}}Cursor で開く{"servers":{"lol-bodylab-body-lab":{"type":"http","url":"https://bodylab.lol/mcp"}}}VS Code で開く{"mcpServers":{"lol-bodylab-body-lab":{"type":"http","url":"https://bodylab.lol/mcp"}}}{"mcpServers":{"lol-bodylab-body-lab":{"serverUrl":"https://bodylab.lol/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
Body Lab MCP サーバー
Model Context Protocolに対応した Claude、ChatGPT、その他のアシスタントを、あなたのBody Labのトレーニングにつなげます。今日何をすべきか、その理由、先週の調子、回復できているか、スクワットの状態などを尋ねると、あなた自身のデータと Body Lab のエンジンに基づいて回答します。
https://bodylab.lol/mcp
このリポジトリは、サーバーの公開情報をまとめた場所です。接続方法、ツールリファレンス、MCP Registry のエントリー、Claude Code プラグインを掲載しています。サーバー自体は上記のアドレスで稼働しています。ホスト型のため、インストールや実行は不要です。
接続
Body Lab アカウントが必要です。アシスタントが初めて接続すると、Body Lab に移動してサインインし、接続を許可するよう求められます。
Body Lab はまだアシスタントのアプリディレクトリに掲載されていないため、アドレスを指定して追加します。
Claude(ウェブ、デスクトップ、モバイル):
- claude.ai または Claude Desktop で、Customize → Connectors を開きます。
- + を押し、Add custom connector を選択して、
https://bodylab.lol/mcpを貼り付け、Add を押します。 - Connect を押し、Body Lab にサインインして Claude に接続を許可します。
- チャットで + → Connectors から Body Lab をオンにします。Claude モバイルアプリでも利用できるようになります。
Team または Enterprise プランでは、組織のオーナーが先に追加する必要があります(Organization settings → Connectors)。無料プランで追加できるカスタムコネクタは 1 つです。Anthropic のカスタムコネクタガイドをご覧ください。
ChatGPT(ウェブ、Plus、Pro、Business、Enterprise、Education):
- Settings → Security and login を開き、Developer mode をオンにします。
- Plugins を開いて + を押し、OAuth を使用して
https://bodylab.lol/mcpでアプリを作成します。 - Body Lab にサインインし、ChatGPT に接続を許可します。
- チャットのメッセージボックスで、Developer mode から Body Lab を選択します。
OpenAI の開発者モードガイドをご覧ください。
Claude Code:
claude mcp add --transport http body-lab https://bodylab.lol/mcp
次に、Claude Code 内で /mcp を実行し、Body Lab を選んでサインインします。または、サーバーと、適切な使い方を案内するスキルを追加するプラグインをインストールします。
/plugin marketplace add bodylab-lol/mcp
/plugin install body-lab@bodylab-lol
VS Code、Cursor、その他のクライアント: URL https://bodylab.lol/mcp を使って、リモートの(Streamable HTTP)MCP サーバーを追加します。JSON で設定するクライアントの場合:
{
"mcpServers": {
"body-lab": { "type": "http", "url": "https://bodylab.lol/mcp" }
}
}
できること
アシスタントはあなたのトレーニングを確認できます。許可すると、今日の状況を Body Lab に伝えたり、予定しているセッションや選んだ筋力トレーニングのルーティンをカレンダーに追加・削除したり、優先度 B または C のレースや目標を追加したりできます。また、検査結果を確認して新しい結果を追加できます。たとえば、検査報告書の PDF や写真から結果を追加できます。DEXA などの体組成スキャンでも同様のことができます。さらに、毎日の記録(気分や前夜に起きたこと)と、Body Lab がそこから見つけたパターンを読み取ったり記録したりできます。トレーニング履歴の変更、データの削除、または計画の中心となる A レースへのイベントの指定はできません。それらは Body Lab であなた自身が行います。
| ツール | 用途 |
|---|---|
get_today | 今日(および明日)に処方されたセッション。心拍数とパワーの目標に加え、クリティカルスピードが判明している場合はランニングのペースも表示します。その理由や代替案、準備状況に加え、Body Lab が今日注目していること(睡眠または回復データのパターン、新たな自己ベスト、プランに関するメモ、データの不足)も確認できます |
set_today_context | 今日使える時間、手元にある器具、実施できないスポーツを Body Lab に伝え、再処方されたセッションを返します。今日のみ有効です。today:write が必要です |
get_week | エンジンが予測する今後 7 日間の予定です。明日までは詳細を、その後は要約を表示し、毎朝更新されます |
schedule_session | 自分で予定したセッション(クラブライド、友人とのランニングなど)を、実施日ごとに 1 件ずつカレンダーに登録します。Body Lab はこれをもとに週のプランを立てます。同じセッションを 2 回登録しても、1 件として保存されます。schedule:write が必要です |
schedule_strength_routine | 選んだ筋力トレーニングのルーティン(プログラムの各日のメニュー、コーチが作成したセッションなど)をカレンダーに登録します。Body Lab のカタログにある種目名と、セット数、レップ数、休憩時間、重量、最大重量に対する割合、または余力レップ数を指定できます。重量を省略すると、当日に自分のリフティング実績をもとに Body Lab が設定します。指定した重量はそのまま保持されます。ルーティンを登録すると、その日のセッションはそれだけになります。Body Lab の筋力トレーニング用ランナーで実施し、記録してください。同じ日に同じルーティンを 2 回登録しても、1 件として保存されます。Body Lab にない種目は、候補を提示して登録を拒否します。schedule:write が必要です |
list_strength_routines | カレンダーに登録されている、最長 60 日分の筋力トレーニングのルーティン。それぞれの種目、セット数、レップ数、指定した重量を確認できます |
withdraw_session | 自分で予定したセッション、または筋力トレーニングのルーティンをカレンダーから取り消します。削除はせず、取り消し済みとして保持します。Body Lab が設定したセッションには変更を加えられません。schedule:write が必要です |
schedule_event | 優先度 B または C のレースや目標を追加します。優先度 A のイベントは追加できず、編集もできません。どちらも Body Lab で自分で行ってください。events:write が必要です |
remove_event | 自身が追加したレースを、内容を読み上げて確認したうえで削除します。自分で登録したレースは削除できません。また、自身が追加した場合でも優先度 A のレースは削除できません。レースを A に昇格するかどうかは自分で決めるため、取り消すかどうかも自分で決めてください。削除すると元に戻せません。events:write が必要です |
get_weekly_review | 処方された内容に対する週全体の実績、負荷が目標範囲内かどうか、筋力トレーニングの最低基準、これまでのトレーニングが今後のイベントに適しているかを確認できます |
get_training_status | フィットネス、疲労、フォーム、ワークロード比、負荷、強度バランスを週ごとに確認できます。ランナーの場合はクリティカルスピード(最近のハードランから算出した、持続可能なハードランニングの限界ペースとその ±)も表示します |
list_activities、get_activity | 自分のアクティビティ一覧と、負荷、ゾーン、パワーおよびスピードのベスト記録、プランの達成状況を含む個別の詳細を確認できます |
get_recovery | 朝の安静時心拍数、HRV、睡眠スコア、エネルギースコアを確認できます |
get_daily_steps | 各日の歩数と、その計測元、直近の完了済み 7 日間の平均歩数を確認できます。各日の歩数は 1 つの計測元の値で、複数のデバイスの値を合算することはありません。今日の歩数には途中経過であることが示されます |
get_measurements | 指定した期間の測定データを、複数の項目についてまとめて確認できます。朝の測定値、歩数、体重、VO2max、FTP、閾値の数値、測定ごとにまとめられたすべての血圧記録が対象です。各項目につき最長 2 年分を、回答ごとの上限内で取得できます |
get_strength | Body Lab が現時点で処方する筋力トレーニングのセッション、推定最大重量、最近のセッションを確認できます |
get_profile | 心拍数の基準値、FTP、体重、直近の血圧、筋力トレーニング用器具、テスト結果、パワーカーブを確認できます |
find_exercises | 筋力トレーニングの種目カタログを検索できます。種目名や別名(「RDL」、「スカルクラッシャー」など)、動作パターン、対象の筋肉で検索でき、各種目に必要な器具も表示されます |
suggest_routes | 今日のセッションに合う、過去に走ったルートを提案します |
get_patterns | 毎日の更新内容を集計し、夜について記録できる項目(飲酒、遅い時間のカフェイン摂取、ストレスの多い日、遅い時間の夕食、温浴、暑い寝室など)ごとに、前日のトレーニングを考慮したうえで、翌朝の状態が普段の夜と比べてどうだったか、判断に十分なデータがあるかを確認できます。継続中の 14 夜の実験と、実施可能な実験も表示します。比較対象は自分自身の夜であり、原因について断定するものではありません。checkins:read が必要です |
record_daily_update | 今朝や昨夜の様子(体調、あったこと、または普段どおりの夜だったこと)についてアシスタントに伝えた内容を記録します。今日のみ有効です。アプリですでに記録した内容は保持します。病気、けが、月経の開始は記録できません。今日のセッションは変更されません。checkins:write が必要です |
get_lab_results | 血液検査の結果を確認できます。各マーカーの経時変化、検査機関の基準範囲とガイドラインの上限、変化が通常の変動を超えているかどうかを表示します。labs:read が必要です |
record_lab_results | アシスタントが値を確認したうえで、検査報告書に記載されたとおりに採血結果を追加します。結果の編集や削除はできません。labs:write が必要です |
get_body_composition | 体組成スキャンの結果を確認できます。報告書に記載された、全身および部位別の脂肪量、除脂肪量、骨量、体脂肪率、内臓脂肪、全身の骨密度が対象です。body:read が必要です |
record_body_composition | アシスタントがすべての値を読み上げて確認したうえで、報告書に記載されたとおりにスキャン結果を追加します。スキャン結果の編集や削除はできません。body:write が必要です |
プロンプト:今日は何をすればよいですか?(todays-session)および今週を振り返る | |
(weekly-review)。 |
すべての引数を含む完全なリファレンス:TOOLS.md。入力および出力スキーマを含む機械可読形式:tools.json。
データと権限
すべての接続で、トレーニング(training:read)を参照できます。日々の更新、検査結果、体組成スキャンは、トレーニングとは別々に管理され、互いにも独立しています。アシスタントを承認するときに有効にしない限り、それぞれ無効です。
| スコープ | アシスタントに許可される操作 |
|---|---|
training:read | トレーニング、リカバリー、アクティビティ、プロフィールを参照する |
today:write | 今日について、時間、器具、できないスポーツをBody Labに伝える。トレーニング履歴は変更できません |
schedule:write | セッションと筋力トレーニングのルーティンをカレンダーに追加する。ルーティンのエクササイズ、セット数、回数、重量も含みます。また、追加したものを削除する。トレーニング履歴は変更できません |
events:write | あなたが伝えたレースと目標を追加、削除する。Aレースにはできません。これを行うと数か月分のプランが再構成されるため、Body Labで操作してください |
checkins:read | 日々の更新を参照する。体調、前日に関する記録、飲酒や月経周期などの記録、Body Labが見つけたパターンを含みます |
checkins:write | あなたが伝えた日々の更新を記録する。トレーニング履歴は変更できません |
labs:read | 検査結果を参照する |
labs:write | あなたが伝えた検査結果を追加する。変更や削除はできません |
body:read | 体組成スキャンを参照する |
body:write | あなたが伝えた体組成スキャンを追加する。変更や削除はできません |
schedule:write で対象となるのは、あなたが予定したセッションと選択した筋力トレーニングのルーティンだけです。Body Labが処方したものは対象外です。取り消したセッションは、取り消し済みと記録されたまま残ります。ルーティンではBody Labのカタログにあるエクササイズのみを指定できるため、アシスタントが独自のエクササイズを追加することはできません。また、指定された重量は、実施前に筋力トレーニング画面に表示されます。記録済みの重量を大幅に上回る場合は、その旨も表示されます。events:write で追加できるレースと目標はBまたはCのみです。Aレースへの変更、編集、削除はBody Labで行う必要があります。そのため、アシスタントが数か月分のプランを再構成したり、誤ってレースを削除したりすることはありません。アシスタントが追加したセッションやイベントはすべて、そのアシスタントが追加したものとして記録されます。また、各アシスタントには、予定を追加できる数に一定期間あたりの上限があります。
すでにセッションの予定追加を許可しているアシスタントは、再接続しなくても筋力トレーニングのルーティンをカレンダーに追加できます。いずれも同じ権限の対象です。それ以外の場合、これらの機能が追加される前に接続したアシスタントには、自動的に権限が付与されません。また、検査結果の追加を許可したアシスタントには、体組成データの権限は付与されません。いずれかを許可するには、再接続し(ClaudeではBody Labをいったん切断してから再接続してください)、Body Labの確認時に該当する項目にチェックを入れてください。検査結果の訂正や削除、スキャンの削除、レースの変更や削除は、ウェブ版のBody Labで行ってください。
骨密度を含む体組成スキャンは、あなたが記録した測定値です。Body Labはそれを表示するだけで、それ以上のことは行いません。診断ではなく、全身スキャンは診断用の骨密度検査ではありません。また、Body Labが処方する内容にこれらのデータが使われることもありません。
- アシスタントを承認すると、Body Labは公開者(または未検証であること)、リダイレクト先、実行可能な操作を表示します。
- アシスタントが読み取ったデータは、そのアシスタントの提供元に送信されます。データは提供元独自の規約に従って取り扱われます。
- Body Labの 設定 → AI アシスタント から、いつでもアシスタントを確認、切断できます。切断はすぐに反映されます。
- Body Labの推奨はトレーニングの指針であり、医療上のアドバイスではありません。
- 詳細:プライバシーポリシーおよび利用規約。
クライアント開発者向け
このサーバーは MCP 認可仕様(2026-07-28)に準拠しています。
- 保護対象リソースのメタデータ:
https://bodylab.lol/.well-known/oauth-protected-resource/mcp - 認可サーバーのメタデータ:
https://bodylab.lol/.well-known/oauth-authorization-server - クライアント登録: Client ID Metadata Documents(推奨)、または
/oauth/registerでの動的クライアント登録。 - フロー: PKCE(S256 のみ)を使用する認可コードフローです。
resourceパラメーター(https://bodylab.lol/mcp)を含めます。認可レスポンスにはissが含まれます。 - クライアント: パブリッククライアントのみ(
token_endpoint_auth_method: none)です。リフレッシュトークンはローテーションされます。/oauth/revokeで失効させます。 - スコープ:
training:read(すべての接続で必要)に加え、任意でtoday:write、schedule:write、events:write、checkins:read、checkins:write、labs:read、labs:write、body:read、body:writeを指定できます。401 レスポンスには 10 個すべてが示されます。アスリートは同意ページで任意のスコープを選択し、トークンレスポンスのscopeに許可されたスコープが示されます。tools/listには、許可されたスコープで利用できるツールのみが表示されます。許可されていないツールに対するtools/callは、WWW-Authenticate: Bearer error="insufficient_scope"と、追加認可のために現在の許可スコープおよび必要なスコープを示すscopeを含む403を返します。 - トランスポート: Streamable HTTP を使用するステートレス方式です。プロトコル 2026-07-28 と、2025 年の
initializeハンドシェイクに対応しています。
レジストリ名:lol.bodylab/body-lab。
問題
バグ、質問、ツールのリクエストについては、issue を作成してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。