mcpField
W
whoop-mcp-server

whoop-mcp-server

ローカル
github.com/rajdeepmondaldotcomヘルスケア220 週間前に更新

whoop-mcp-server について

whoop-mcp-serverはWHOOPの健康記録をMCPクライアントに接続し、AIが説明する前にサマリー、トレンド、相関を計算します。回復、睡眠、負荷、ワークアウトを会話で確認したいWHOOPユーザー向けで、データとトークンはローカルに保存されます。

主な機能

  1. 01回復・睡眠・負荷・ワークアウトを要約
  2. 02トレンド・トレーニング負荷・相関を分析
  3. 03期間比較と自己記録の取得
  4. 04記録をローカルのJSONとCSVに出力
  5. 05デモデータ、セットアップ案内、診断

活用シーン

  1. 01毎日のコンディションと負荷を確認
  2. 02回復に関連する要因を調べる
  3. 03期間ごとの健康指標を比較
  4. 04WHOOPの履歴をローカルで確認するために出力

MCP 対応

MCPツール、リソース、プロンプトを通じてWHOOPデータと分析機能を提供し、ChatGPT用のsearchとfetchツールにも対応します。stdio、HTTP、SSEトランスポートを利用できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"rajdeepmondaldotcom-whoop": {
"command": "uvx",
"args": [
"whoop-mcp-server"
],
"env": {
"WHOOP_MCP_DEMO": "<WHOOP_MCP_DEMO>"
}
}
}
}
起動コマンドuvx whoop-mcp-server
設定が必要な環境変数
WHOOP_MCP_DEMOSet to 1 to serve realistic generated data (no WHOOP account needed)

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypiwhoop-mcp-server0.0.12

ツール

23

掲載時のツール一覧 · 2 週間前に更新

このツールにパラメーターはありません。

詳細

whoop-mcp-server

WHOOP はチャートを表示してくれます。しかし、「今日はハードなトレーニングをすべきか」「回復に実際に影響しているのは何か」には答えられません。このサーバーなら答えられます。

WHOOP のデータを Claude、ChatGPT、その他あらゆる MCP クライアントに接続します。自然な英語で質問すると、自分の記録をもとに答えを算出し、AI がその内容を説明します。

CI Python 3.10+ License: MIT MCP Glama

You: should I train hard today?

AI:  Recovery 81% (green). HRV trending up. Sleep debt cleared.
     Your 7-day load is 0.94x your 28-day base.
     You are conditioned for more.

お使いのマシン上で動作します。読み取り専用です。ネットワーク接続先は api.prod.whoop.com のみです。テレメトリーはありません。MIT ライセンスです。

必要なもの

  • WHOOP アカウント。どのメンバーシップでも利用できます。
  • uv または pipx。コマンドラインツールをインストールするために使います。
  • MCP クライアント:Claude Desktop、Claude Code、Cursor、Windsurf、VS Code、または ChatGPT。

始める前に知っておくべき制約が一つあります。WHOOP には共有の開発者アプリがないため、セットアップ中にご自身の無料アプリを作成します。クリック操作にかかる時間は約 2 分です。これが、設計上プライバシーが守られる理由でもあります。トークンはご自身のアプリに紐づき、お使いのマシンに保存され、健康データが他人のサーバーを経由することはありません。私のサーバーも含めてです。

セットアップ

ツールをインストールします:

uv tool install whoop-mcp-server

(pipx install whoop-mcp-server でも同じように動作します。)

次に、すべてを実行するコマンドを一つ実行します:

whoop-mcp-server setup

何も予想外のことが起きないよう、処理の流れを順に説明します:

  1. WHOOP アプリ。 ウィザードが WHOOP の開発者ダッシュボードを開き、クリックする場所を正確に案内します。チームを作成し、アプリを作成し、offline を含むすべてのスコープを有効にして、リダイレクト URL を正確に http://localhost:8765/callback に設定します。フォームにはプライバシーポリシーの URL が必要です。このリポジトリの URL を使用してください:https://github.com/rajdeepmondaldotcom/whoop-mcp-server/blob/main/PRIVACY.md。Client ID と Secret をコピーし、ターミナルに貼り付けます。これらはローカルに権限 0600 で保存されます。

  2. 認証。 ブラウザーで WHOOP の同意画面が開きます。承認してください。トークンは ~/.whoop-mcp に保存され、その後は自動的に更新されます。この操作は二度と必要ありません。

  3. 動作確認。 ウィザードが API を呼び出し、最新の回復データを実際に表示します。設定に問題があれば、後でチャット画面を見ることにならず、この時点でターミナル上に表示されます。

  4. クライアント。 Claude Desktop、Cursor、Windsurf、VS Code、Claude Code を検出し、設定を書き込みます。編集前に既存の設定をバックアップします。Claude Desktop が起動中の場合、ウィザードは最初に終了するよう求めます。起動中は、設定の編集内容が Desktop によって気づかないうちに上書きされるためです。続いて、設定したコマンドを一度実行し、サーバーが応答することを確認します。「完了」は期待ではなく、検証済みという意味です。

クライアントを再起動して、「昨夜はどれくらい眠れた?」と尋ねてみてください。次に、より良い質問をしてみましょう:「今四半期の健康状態を全体的に教えて。」

補足を二つ。何かに接続する前にツールの動作を確認したい場合は、whoop-mcp-server serve --demo を実行すると、同じパイプラインを通じて、現実的に生成された 150 日分のデータを提供します。また、後で何かがうまく動作しなくなった場合は、whoop-mcp-server doctor が問題とその修正方法を示します。

質問できること

24 個のツールで、WHOOP API の一般ユーザーが読み取り可能なすべてのエンドポイントに加え、記録を回答に変換する分析レイヤーもカバーします。

質問裏側で使われるツール
「健康状態を全体的に教えて」get_health_overview:ステータス、傾向、トレーニング負荷、記録、相関関係を 1 回の呼び出しで取得します
「今日はどんな調子?」get_daily_summary:任意の日のリカバリー、睡眠、ストレイン、ワークアウトを取得します
「実際にリカバリーに影響しているものは?」get_correlations:ストレインと翌朝のリカバリー、睡眠とリカバリーの相関関係を分かりやすく示します
「オーバートレーニングになっている?」get_strain_trends:急性負荷と慢性負荷、スポーツ別の内訳を確認できます
「HRV は改善している?」get_recovery_trends:傾向、信頼度、通常と異なる日を確認できます
「夜間の心拍数の推移を見せて」get_sleep_stream:分単位の心拍数と皮膚温、最低値とその時刻を表示します。include_raw=true を指定すると、WHOOP の未加工ストリームを保持します
「今月と先月を比較して」compare_periods:すべての指標について、改善または低下を確認できます
「今年の自己記録は?」get_personal_records:最高記録、最低記録、連続グリーン日数を確認できます
「すべてエクスポートして」export_data:コレクションの全履歴をローカルの JSON と CSV に出力します。デフォルトでは未加工の記録も含まれます
週ごとのグリッド、未加工の記録、プロフィールget_weekly_report、get_sleeps/workouts/cycles/recoveries、include_raw を指定できる ID 別ツール、get_profile(include_raw=true)
「古い WHOOP アクティビティ ID がある」get_activity_mapping:旧 v1 アクティビティ ID を v2 UUID に対応付けます
接続の問題get_connection_status、connect_whoop_account

日付はすべて平易な英語で指定できます:昨日、過去 30 日間、今週、2 年前、2026-05。

ChatGPT で必須の search および fetch ツールも実装済みです。さらに、4 つのリソースと、すぐに使える 4 つのプロンプト(morning_readiness、weekly_review、sleep_coach、training_planner)も用意されています。

質問のアイデアはこちらをご覧ください:docs/PROMPTS.md。

対応クライアント

クライアントセットアップ
Claude Desktopwhoop-mcp-server setup が自動で設定します。ターミナルは不要です。最新リリースから whoop-mcp-server.mcpb をダウンロードして開きます(uv のインストールが必要です。デモモードは設定画面で切り替えられます)
Claude Codeclaude mcp add whoop -- whoop-mcp-server serve(セットアップでもこの設定を選べます)
Cursorセットアップで自動設定するか、Cursor にインストール
Windsurfセットアップで自動設定
VS Codeセットアップで自動設定するか、VS Code にインストール
ChatGPTリモートコネクター。下記を参照してください
Dockerdocker build -t whoop-mcp-server . && docker run -i --rm -e WHOOP_MCP_DEMO=1 whoop-mcp-server(実データを使用する場合は ~/.whoop-mcp をマウントしてください)
任意の MCP クライアントcommand: whoop-mcp-server、args: ["serve"] を指定します。インスペクター:npx @modelcontextprotocol/inspector whoop-mcp-server serve
ChatGPT のセットアップ

ChatGPT はリモート MCP サーバーに接続するため、HTTP トランスポートを公開してトンネル経由で接続します:

whoop-mcp-server serve --transport http --port 8000    # endpoint: /mcp
ngrok http 8000

次に ChatGPT で、Settings、Apps & Connectors、Advanced settings の順に開き、Developer mode を有効にします。https://<your-tunnel>/mcp を指定し、認証なしでコネクターを作成してください。

ここでは注意が必要です。認証なしのトンネルでは、URL を知っている人なら誰でも健康データを読み取れます。URL は非公開にし、トンネルの有効期間を短くしてください。Claude の stdio セットアップでは、情報が外部に公開されることはありません。

## 回答の信頼性を支える仕組み

この製品において、モデルが担うのはおそらく20%です。残りの80%は、数値を正しく扱うことです。モデルは90日分の記録を使った計算が苦手なため、このサーバーが先に計算し、モデルはその結果を説明します。

  • トレンドラインは、日付順に並べた系列に当てはめます。WHOOP は記録を新しい順に返します。取得順のまま当てはめると、すべてのトレンドが逆向きになります。
  • 変化の方向は、指標の意味に沿って判定します。HRV の上昇は改善ですが、安静時心拍数の上昇はそうではありません。
  • 記録は、それぞれのタイムゾーンオフセットに基づいて暦日に割り当てます。旅行中でも、睡眠は目覚めた朝に紐づきます。
  • WHOOP は更新のたびに両方の OAuth トークンをローテーションします。このサーバーでは、トークンの更新を直列化し、使用前に保存して、複数の同時リクエスト間で共有します。認証を再実行すれば、サーバーを再起動せずに稼働中のサーバーを復旧できます。
  • クライアントは WHOOP のレート制限ヘッダーに従い、バックオフ付きで再試行し、ページネーションに上限を設けます。結果が途中で切れていたり、概算だったりする場合は、完全な結果であるかのように見せかけず、その旨を出力します。

対応していないこと:WHOOP の公開 API には、ストレスモニターやヘルススパンなどの Peak 機能向けエンドポイントがまだありません。WHOOP が提供を開始したら、ここにも追加します。夜間センサーストリームはすべてのアカウントで有効になっているわけではないため、ツールは失敗するのではなく、その旨を報告します。一括エクスポートでは意図的にコレクションエンドポイントを取得します。生の睡眠ストリームは、get_sleep_stream(include_raw=true) を使って睡眠ごとに取得できます。

テストは105件で、すべて偽の WHOOP API を使ってオフラインで実行します。CI は Python 3.10〜3.13 で実行されます。

CLI

whoop-mcp-server setup     Guided setup: app, authorize, auto-configure clients
whoop-mcp-server serve     Run the server (--demo, --transport stdio|http|sse, --host, --port)
whoop-mcp-server status    Config and token state
whoop-mcp-server doctor    Diagnose setup and connectivity
whoop-mcp-server auth      Scriptable OAuth flow
whoop-mcp-server logout    Delete tokens (--revoke also revokes at WHOOP)

設定

whoop-mcp-server setup の実行後に、追加で必要な設定はありません。優先順位の高い順に、プロセス環境変数、./.env、~/.whoop-mcp/.env、~/.whoop-mcp/config.json が適用されます。

変数デフォルト用途
WHOOP_CLIENT_ID / WHOOP_CLIENT_SECRETなしWHOOP アプリの認証情報
WHOOP_REDIRECT_URIhttp://localhost:8765/callbackダッシュボードと完全に一致する必要があります
WHOOP_MCP_DEMOオフ1 を指定するとデモデータを提供します(--demo と同じです)
WHOOP_MCP_DIR~/.whoop-mcpトークン、設定、エクスポート
WHOOP_MCP_TZシステムのタイムゾーン「今日」と週の範囲に使う IANA タイムゾーン
WHOOP_MCP_CACHE_TTL / WHOOP_MCP_TIMEOUT60 / 30秒
WHOOP_MCP_LOG_LEVELINFOログは stderr に出力されます。stdout は MCP 用です
WHOOP_ACCESS_TOKENなしテスト用の固定トークン。更新は行いません

プライバシー

WHOOP に対して読み取り専用で動作します。トークンは、アクセス許可を 0600 に設定してローカルに保存されます。書き込みが発生するのは、要求したローカルファイル(export_data)と、開始した OAuth フローだけです。知っておくべき点が1つあります。トレンドや相関関係などの集計データからは、個々の記録よりも多くの情報が明らかになる場合があります。健康データを預けられると信頼できる AI クライアントにのみ接続してください。ポリシー全文:PRIVACY.md。脆弱性について:SECURITY.md。

貢献

uv venv && uv pip install -e ".[dev]" && pytest && ruff check .

テストスイート全体をオフラインで実行できます。CONTRIBUTING.md には、データの正確性を保つための不変条件を記載しています。アーキテクチャの概要は次のとおりです。client.py が WHOOP と通信し、transform.py が記録を整理し、summaries.py と analytics.py が計算を行い、server.py がツールを公開します。oauth.py と tokens.py が認証を担当します。demo.py は生成されたアカウントです。

トラブルシューティング

症状対処方法
「WHOOP authorization required」と表示されるwhoop-mcp-server setup を実行するか、AI に WHOOP アカウントへの接続を依頼します
同意後にリダイレクトが失敗するダッシュボードのリダイレクト URI が http://localhost:8765/callback と完全に一致している必要があります
403 missing scopeアプリですべての読み取りスコープと offline を有効にしてから、whoop-mcp-server auth を再実行します
クライアントにツールが表示されないwhoop-mcp-server setup を再実行してから、クライアントを完全に再起動します
今日の回復スコアが表示されないWHOOP は起床後の同期を受けてスコアを算出します。その旨は概要に記載されます
睡眠ストリームが「not available」と表示されるWHOOP はすべてのアカウントに対して睡眠ストリームを公開していません。毎晩の概要は引き続き利用できます
その他whoop-mcp-server doctor を実行するか、チャットから get_connection_status を実行するか、issue を作成します

ライセンス

MIT。詳しくはLICENSEをご覧ください。WHOOP とは提携しておらず、WHOOP の推奨も受けていません。WHOOP は WHOOP, Inc. の商標です。

コメント

MCP は初めてですか?

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

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