whoop-mcp について
whoop-mcpは、ClaudeからWHOOPの回復、睡眠、負荷、ワークアウトなどの生体データにアクセスできるようにします。データは端末上で扱われ、第三者サーバーには送信されません。
主な機能
- 01回復スコアと生体指標を取得
- 02睡眠時間と睡眠段階を表示
- 03日々の負荷と心拍数を確認
- 04最近のワークアウトと履歴を閲覧
- 05回復と睡眠の傾向を追跡
活用シーン
- 01毎日の回復、睡眠、負荷を確認
- 02数日間のHRV傾向を振り返る
- 03ワークアウトと翌日の回復を比較
- 04WHOOPデータから健康概要を作成
MCP 対応
ClaudeなどのMCPクライアント向けに、WHOOPのプロフィール、回復、睡眠、負荷、ワークアウト、傾向データを取得するツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @souravpn/whoop-mcpWHOOP_CLIENT_IDOAuth2 Client ID from your WHOOP developer app at developer-dashboard.whoop.comWHOOP_CLIENT_SECRETシークレットOAuth2 Client Secret from your WHOOP developer app. Run whoop-mcp-auth-setup once to complete OAuth flow.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
whoop-mcp
Model Context Protocol(MCP) サーバーです。Claude が WHOOP の生体データ(リカバリー、睡眠、ストレイン、ワークアウト)にアクセスできるようにします。
Claude に次のような質問ができます。
- 「今日のリカバリーはどうですか?」
- 「昨夜はよく眠れましたか?」
- 「今週の HRV の推移はどうですか?」
- 「昨日のワークアウトのストレインはどのくらいでしたか?」
プライバシー
このアプリは、お使いのデバイス上で WHOOP データにアクセスします。サードパーティのサーバーにデータが送信されることはありません。
ツール
| ツール | 返される情報 |
|---|---|
get_recovery | リカバリースコア、HRV、安静時心拍数、SpO2 |
get_sleep | 睡眠時間、睡眠ステージ(ライト/ディープ/REM)、効率、呼吸数 |
get_strain | 1日のストレインスコア、平均/最大心拍数、消費カロリー |
get_latest_workout | 最新のワークアウト — スポーツ、時間、ストレイン、心拍ゾーン |
get_recovery_trend | N 日間のリカバリースコア(デフォルトは 7 日) |
get_sleep_trend | N 日間の睡眠データ(デフォルトは 7 日) |
get_workout_history | 最近のワークアウト履歴(デフォルトは 5 件) |
get_profile | プロフィールと身体測定値 |
セットアップ
1. WHOOP 開発者アプリを作成する
- developer-dashboard.whoop.com にアクセスします
- WHOOP アカウントでサインインします
- 新しいアプリを作成します。
- 名前:
whoop-mcp(または任意の名前) - リダイレクト URI:
http://localhost:8080/callback - スコープ:すべての読み取りスコープと
offlineを選択します
- 名前:
- Client ID と Client Secret をコピーします
2. インストール
npm install -g @souravpn/whoop-mcp
3. 初回の認証設定を実行する
ブラウザーが開くので、WHOOP にログインします。トークンは ~/.whoop-mcp-tokens.json に保存されます。
WHOOP_CLIENT_ID=your_id WHOOP_CLIENT_SECRET=your_secret whoop-mcp-auth-setup
この操作が必要なのは一度だけです。それ以降、サーバーがトークンを自動的に更新します。
4. Claude Desktop に追加する
~/Library/Application Support/Claude/claude_desktop_config.json(macOS)を編集します。
{
"mcpServers": {
"whoop": {
"command": "@souravpn/whoop-mcp",
"env": {
"WHOOP_CLIENT_ID": "your_client_id",
"WHOOP_CLIENT_SECRET": "your_client_secret"
}
}
}
}
Claude Desktop を再起動します。Settings → Developer に緑色の「running」バッジが表示されます。
5. 動作を確認する
新しいチャットを開いて、次のように質問します。
How's my recovery today?
質問例
毎日のチェックイン:
What's my recovery, sleep, and strain for today?
傾向の分析:
How has my HRV trended over the past 7 days?
ワークアウトとの相関:
Look at my workouts this week and my recovery scores
the day after each one. Is there a pattern?
総合ブリーフィング:
Give me a complete health briefing — recovery, last
night's sleep breakdown, and any workouts from yesterday
Oura との併用
Oura Ring も使用している場合は、両方の MCP サーバーを同時に実行し、Claude に相互参照させることができます。
{
"mcpServers": {
"whoop": {
"command": "/path/to/whoop-mcp",
"env": { "WHOOP_ACCESS_TOKEN": "your_whoop_token" }
},
"oura": {
"command": "/path/to/oura-mcp",
"env": { "OURA_ACCESS_TOKEN": "your_oura_token" }
}
}
}
その後、次のように質問します。
Compare my WHOOP and Oura HRV readings for this week.
Do they agree? Which is trending higher?
開発
git clone https://github.com/yourusername/whoop-mcp
cd whoop-mcp
npm install
npm run build
# Test locally
WHOOP_ACCESS_TOKEN=your_token node dist/index.js
プロジェクト構成
whoop-mcp/
├── src/
│ ├── index.ts # MCP server + tool definitions
│ └── whoop.ts # WHOOP API client + formatters
├── package.json
├── tsconfig.json
└── README.md
貢献
プルリクエストを歓迎します。拡張案をいくつか紹介します。
- 心拍数の時系列データ
- 睡眠ステージのタイムライン(1 時間ごとのライト/ディープ/REM)
- ストレイン目標の推奨
- 週次サマリーツール
ライセンス
MIT
謝辞
MCP TypeScript SDK と WHOOP Developer API を使用して構築されています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。