mcpField
H
Heatwayve

Heatwayve

リモート
github.com/abraraaaヘルスケア13 日前に更新
リポジトリ

Heatwayve について

Heatwayveは、筋力トレーニングアプリのデータを読み取り専用で接続クライアントに公開します。MCPツールではプログラム、セッション、現在の負荷、リフト履歴を取得できます。

主な機能

  1. 01読み取り専用のトレーニング概要と履歴
  2. 02プログラムと現在の負荷の取得
  3. 03リフト履歴の確認
  4. 04チャートスタイル情報の取得

活用シーン

  1. 01MCPクライアントで最近のセッションを確認
  2. 02現在の処方負荷を確認
  3. 03プログラムとリフト履歴を調べる

MCP 対応

Heatwayveは、読み取り専用のトレーニングツールを備えたリモートStreamable HTTP MCPサーバーを提供します。接続にはFace IDまたはパスキーを使うOAuthと、`training:read`スコープを使用します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://heatwayve.app/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

Heatwayve

最高の自分を解き放ちましょう。 エビデンスに基づき、自己調整できる筋力トレーニングです。自分の身体を形づくり、意図を持って動きましょう。Next.js PWAとして、heatwayve.appで公開中です。

週3日の筋力トレーニングプログラム(A/B/C — スクワット&プッシュ、ヒンジ&プル、パワー&ボリューム)です。トレーニングのきつさに応じて反応するプログレッションエンジン、エビデンスに基づく指標(MEV/MAV/MRV)に照らして筋肉ごとのボリュームを管理する機能、考えなくても刺激を新鮮に保つアクセサリー種目のローテーションエンジンを備えています。そしてロッカールームでは、トレーニングが数字ではなく身体に表れるようになります。

┌─────────────────────────────────────────────────────────────┐
│  Mon   Tue   Wed   Thu   Fri   Sat   Sun                    │
│  ───   ───   ───   ───   ───   ───   ───                    │
│  A     Z2    B     Mod   C     HIIT  Rest                   │
│  Sq    60m   Hinge 35m   Pwr   8-10  ─                      │
│  +Push       +Pull       +Vol  ×20s                         │
└─────────────────────────────────────────────────────────────┘

これは lib/programme.js の WEEK です。既定の構成であり、制約ではありません。週の内容はユーザーが編集できます。エンジンは自由に組み立てた週の内容に沿って進み、筋力トレーニングの枠にA → B → Cの順で割り当てます。

このリポジトリを公開している理由

科学的根拠を検証できるようにするためです。プログラムの構成、プログレッションのルール、ボリュームの指標を確認できます。読んで、疑問を投げかけ、関連文献(Israetel / Nuckols / Helms)と照らし合わせてください。それが公開の目的のすべてです。このリポジトリ自体が根拠であり、手引きではありません。ソースコードは閲覧できますが、オープンソースではありません。ライセンスをご覧ください。

プログラム

SESSIONS(lib/programme.js)は、週3日のテンプレートです。

Dayテーマメインリフトスーパーセットフィニッシャー
A 月スクワット&プッシュバーベル・バックスクワット、バーベル・ベンチプレスダンベル・リバースランジ+ランドマインプレス · 45度ヒップエクステンション+チェストサポート・ダンベルロウハンギング・レッグレイズ+スタンディング・カーフレイズ
B 水ヒンジ&プルヘックスバー・デッドリフト、バーベル・オーバーヘッドプレスレッグプレス+プルアップ · ブルガリアン・スプリットスクワット+マシン・ハムストリングカールトライセプス・プッシュダウン+ラテラルレイズ
C 金パワー&ボリュームパワークリーンダンベル・ウォーキングランジ+ケーブル・ラテラルレイズ · インクライン・ダンベルプレス+シーテッド・ケーブルロウ · ダンベルカール+スカルクラッシャーフェイスプル+ロー・トゥ・ハイ・ケーブルクロスオーバー

各アクセサリー枠には、ローテーションで差し替え可能な、事前に検証済みの代替種目プールがあります。各プールには負荷プロファイルが指定されているため、高重量・低回数の種目がフィニッシャー枠に入り込むことはありません。メインリフトは自動ローテーションされませんが、スワップオーバーレイから、機能的に同等な種目として承認済みのリストを選べます。

進捗

lib/progression.js は前回のセッションの努力度を読み取り、負荷を上げるか、維持するか、未達の度合いに応じて下げます。準備度が cooked の場合は、無条件で維持します。余裕のない状態で記録されたセッションによって、次回の処方が決まることはありません。増減幅としきい値は動作カテゴリごとに設定され、開始時の重量は体重を基準に算出し、扱える最小単位に丸められます。ルールはコードにあり、tests/progression.test.js によって固定されています。変化しうる説明文ではなく、そちらを確認してください。

記録するのは実際に行った内容であり、処方とは別です。 処方より少ない回数を記録しても、それだけで処方が変わることはありません。また、各セットは実施時に適用された目標に照らして判定されます。1回の短いセッションは誤差の範囲です。反復テストの研究では、日ごとのばらつきは1セットあたり約1レップとされています(1RMテスト・再テストの変動係数は約4%、Grgic et al. 2020)。余力のない状態で短くなったセットは能力不足による未達であり、負荷で対応します(維持するか、5〜10%下げます)。努力度が高く、最後のセットだけ短くなった場合は疲労によるものなので、ペナルティを与えず維持します。処方された負荷で、余力が残っているのに最初のセットが目標未達となる「自発的」な不足が、条件を満たすセッションで3回続いた場合、そのリフトの目標レップ数として採用します。変更幅は、3回すべてのセッションが裏付ける最小限にします。3回という数は慣例であり、測定されたしきい値ではありません。これは Starting Strength と StrongLifts がリセット前に用いる回数であり、このエンジンが停滞や、負荷が軽すぎる状態の繰り返しにすでに用いている回数でもあります。この数を検証した研究はありません。筋力向上は、セットを限界まで行うかどうかに比較的左右されにくいため(Robinson et al. 2024;Pareja-Blanco et al. 2017)、同じ努力度で目標レップ数を少し下げても損失が小さいという点で、安全な設定です。余裕のない状態や旅行中のセッションでは、回数のカウントを一時停止します。

停滞への対応は、まずレップ数、その次に重量です。 重量を扱うリフトで、維持が3セッション続いた後、限界に近いものの失敗には至らず目標を達成した場合、目標レップ数を1回増やします。増加は基準値から最大2回までです。その増加後の目標上限をRPE 9.5以下で達成したら、重量を上げ、レップ数を基準値に戻します。未達や失敗したセットによって目標レップ数が増えることはありません。重量を下げた場合も、レップ数を基準値に戻します。失敗に至るセッションでは維持し、次のセッションをRPE 9.5以下で終えた場合は重量を上げます。

ボリュームと基準値(MEV/MAV/MRV)

実際のボリュームとエビデンスに基づく基準値を照合する方法は2つあります。npm run audit:volume は、標準プログラムが筋肉ごとに提供する量を出力します。これは静的監査です。アプリの Performance Lab では、直近4週間に記録されたセッションを監査し、MEV未満(成長を促せない)またはMRV超過(無駄なボリュームとなり、回復コストがかかる)の筋肉を、具体的な不足量とともに表示します。

どちらも筋肉単位の詳細なレベルで扱います。追跡対象は16の筋肉で、三角筋の各部位と腕の各筋肉も個別に扱います。「リアデルトがMEV未満」は具体的な対処につながりますが、「肩がMEV未満」ではそうなりません。僧帽筋、脊柱起立筋、体幹には mev: 0 が設定されています。これらは不足を促すことなく、過剰だけを警告する疲労上限です。

プライバシー方針

パスキーは、破壊的な操作や写真レイヤーを保護するために任意で設定できるロックであり、アカウントシステムではありません。パスキーがなくても、プロフィールはずっとローカルで利用できます。進捗写真は撮影時に再エンコードされるため、すべてのEXIF情報が構造上取り除かれます。また、写真をオープンアクセスで読み取る経路はありません。セッション記録は不変の追記専用で、存在する削除操作はプロフィール全体の削除のみです。これはパスキーで保護され、ユーザーが自ら開始します。

クイックスタート

git clone https://github.com/abraraaa/project-forge.git
cd project-forge
npm install
npm run dev           # http://localhost:3000

npm test · npm run lint · npm run typecheck · npm run build · npm run audit:volume

リポジトリ名と forge:/forge/ のストレージ用プレフィックスは、意図的に以前の表記のままにしています。内部の深い部分で使われ、ユーザーの目に触れないため、移行する価値がありません。

MCP

Heatwayve は、読み取り専用のトレーニングツールを提供するリモートの Model Context Protocol サーバーを公開しています。

  • エンドポイント: https://heatwayve.app/mcp(Streamable HTTP)
  • 接続: heatwayve.app/connect — Face ID/パスキーを使った OAuth。スコープは training:read
  • ツール(読み取り専用): training_snapshot、recent_sessions、programme、chart_style、current_loads、lift_history
  • Claude: Heatwayve コネクターを追加

認証されていない呼び出しには 401 が返され、WWW-Authenticate は OAuth の保護されたリソースのメタデータを示します。

ライセンス

Heatwayve はソース公開であり、オープンソースではありません。デフォルトの条件は PolyForm Strict 1.0.0 です(閲覧、調査、非公開での実行が可能。再配布、派生物の作成、コードやコンテンツの再利用は禁止)。法的拘束力のある条文については LICENSE を、実際の適用内容については LICENSING.md をご覧ください。商用ライセンス(SaaS、ホワイトラベル、統合、あらゆる商用利用)もご利用いただけます。[email protected] までお問い合わせください。

行動規範:CODE_OF_CONDUCT.md。このリポジトリに含めるべきものと、含めるべきでないもの:docs/internal-notes.md。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。