mcpField
P
pp-whoop

pp-whoop

github.com/mvanhornその他2.1k83 回インストール今日更新
リポジトリ

pp-whoop について

pp-whoopは、`whoop-pp-cli`でWHOOP APIを操作するエージェントスキルです。ユーザー、アクティビティ、リカバリー、サイクル、パートナー関連の操作に対応し、構造化出力や反復実行向けの設定を備えています。

主な機能

  1. 01睡眠、ワークアウト、サイクル、リカバリー、ユーザーデータの取得
  2. 02信頼されたパートナー操作の実行
  3. 03JSON出力とフィールド選択
  4. 04リクエストのプレビューと結果の振り分け
  5. 05名前付きプロファイルの保存と再利用

活用シーン

  1. 01ユーザーの睡眠・ワークアウト履歴の取得
  2. 02プロフィールや身体測定データの確認
  3. 03定期的なWHOOPコマンドライン照会の自動化
  4. 04パートナーのサービスリクエストやテストデータの処理

MCP 対応

`whoop-pp-mcp`バイナリをインストールし、`claude mcp add`でClaudeに登録する方法が記載されています。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mvanhorn/printing-press-library --skill pp-whoop

インストール後、Claude Code で/pp-whoopを入力して読み込まれたか確認します。

詳細

Whoop — Printing Press CLI

前提条件:CLI のインストール

このスキルは whoop-pp-cli バイナリを使用します。**このスキルのコマンドを実行する前に、CLI がインストールされていることを必ず確認してください。**インストールされていない場合は、先にインストールしてください。

  1. Printing Press インストーラーを使用してインストールします。バイナリの既定のインストール先は、macOS/Linux では $HOME/.local/bin、Windows では %LOCALAPPDATA%\Programs\PrintingPress\bin です。
    npx -y @mvanhorn/printing-press-library install whoop --cli-only
    
  2. 確認します:whoop-pp-cli --version
  3. 報告されたインストールディレクトリが、このスキルを実行するエージェント/ランタイムの $PATH に含まれていることを確認します。

npx によるインストールが失敗した場合(Node がない、オフラインなど)は、Go を直接インストールする方法に切り替えてください(Go 1.26.6 以降が必要です)。

go install github.com/mvanhorn/printing-press-library/library/devices/whoop/cmd/whoop-pp-cli@latest

インストール後に --version で「command not found」と表示される場合、ランタイムからバイナリディレクトリを $PATH 経由で参照できません。確認に成功するまでは、スキルのコマンドを実行しないでください。

コマンドリファレンス

activity — アクティビティを管理します

  • whoop-pp-cli activity get-sleep-by-id — 指定した ID の睡眠を取得します
  • whoop-pp-cli activity get-sleep-collection — ユーザーのすべての睡眠をページ分割して取得します。結果は開始時刻の降順で並べ替えられます。
  • whoop-pp-cli activity get-workout-by-id — 指定した ID のワークアウトを取得します
  • whoop-pp-cli activity get-workout-collection — ユーザーのすべてのワークアウトをページ分割して取得します。結果は開始時刻の降順で並べ替えられます。

activity-mapping — アクティビティのマッピングを管理します

  • whoop-pp-cli activity-mapping <activityV1Id> — 指定した V1 アクティビティ ID に対応する V2 UUID を検索します

cycle — サイクルを管理します

  • whoop-pp-cli cycle get-by-id — 指定した ID のサイクルを取得します
  • whoop-pp-cli cycle get-collection — ユーザーのすべての生理学的サイクルをページ分割して取得します。結果は開始時刻の降順で並べ替えられます。

partner — 信頼された WHOOP パートナー向けの操作エンドポイント

  • whoop-pp-cli partner add-test-data — パートナー統合テスト用のテストユーザーと検査依頼データを生成します。このエンドポイントは、...でのみ利用できます。
  • whoop-pp-cli partner get-lab-requisition-by-id — 一意の識別子を指定して、関連するサービスリクエストを含む検査依頼を取得します。リクエスト元のパートナーは...
  • whoop-pp-cli partner get-service-request-by-id — 一意の識別子を指定してサービスリクエストを取得します。リクエスト元のパートナーは、そのサービスリクエストの所有者である必要があります。
  • whoop-pp-cli partner request-token — パートナーのクライアント認証情報をアクセストークンと交換します。
  • whoop-pp-cli partner update-service-request-status — サービスリクエストタスクの業務ステータスを更新します。リクエスト元のパートナーは、そのサービスリクエストの所有者である必要があります。
  • whoop-pp-cli partner upload-diagnostic-report-results — サービスリクエストの結果を含む診断レポートを作成します。リクエスト元のパートナーは、その...の所有者である必要があります。

recovery — 回復データを管理します

  • whoop-pp-cli recovery — ユーザーのすべての回復データをページ分割して取得します。結果は、関連する睡眠の開始時刻の降順で並べ替えられます。

user — ユーザープロフィールと測定データを取得するエンドポイントです。

  • whoop-pp-cli user get-body-measurement — 認証済みユーザーの身体測定値(身長、体重、最大心拍数)を取得します。
  • whoop-pp-cli user get-profile-basic — 認証済みユーザーの基本的なプロフィール情報(名前、メールアドレス)を取得します。
  • whoop-pp-cli user revoke-oauth-access — ユーザーが付与したアクセストークンを取り消します。関連付けられた OAuth クライアントが Webhook を受信するように設定されている場合、...
適切なコマンドを見つける

実行したい操作は分かっていても、どのコマンドを使えばよいか分からない場合は、CLI に直接尋ねてください。

whoop-pp-cli which "<capability in your own words>"

which は、自然言語による機能の問い合わせを、この CLI の厳選された機能インデックスから最適なコマンドに対応付けます。終了コード 0 は少なくとも 1 つの候補が見つかったことを示します。終了コード 2 は確信度の高い候補が見つからなかったことを示します。その場合は --help を使うか、より具体的な問い合わせを試してください。

認証の設定

アクセストークンを保存します。

whoop-pp-cli auth set-token YOUR_TOKEN_HERE

または、環境変数 WHOOP_OAUTH を設定します。

whoop-pp-cli doctor を実行して、設定を確認します。

エージェントモード

任意のコマンドに --agent を追加します。次のオプションが展開されます:--json --compact --no-input --no-color --yes。

  • パイプ可能 — stdout には JSON、stderr にはエラーを出力します

  • フィルタ可能 — --select でフィールドを絞り込めます。ドット区切りのパスはネストされた構造に入り込み、配列は各要素を走査します。冗長な API でコンテキストを小さく保つうえで重要です:

    whoop-pp-cli activity-mapping mock-value --agent --select id,name,status
    
  • プレビュー可能 — --dry-run でリクエストを送信せずに表示します

  • オフラインに対応 — 同期/検索コマンドは、利用可能な場合にローカルの SQLite ストアを使用できます

  • 非対話型 — プロンプトを表示せず、すべての入力をフラグで指定します

  • 明示的な再試行 — すでに存在する項目の作成を成功として扱う場合にのみ --idempotent を使用し、削除対象が存在しない場合に成功として扱う場合にのみ --ignore-missing を使用します

レスポンスエンベロープ

ローカルストアまたは API から読み取るコマンドは、出力を来歴エンベロープでラップします:

{
  "meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
  "results": <data>
}

データには .results を解析し、ライブかローカルかを確認するには .meta.source を参照してください。stdout がターミナルの場合に限り、人が読める N results (live) の概要を stderr に出力します。パイプやエージェントの利用者には、stdout に純粋な JSON が出力されます。

エージェントからのフィードバック

この CLI に問題があると気づいた場合(エージェントが気づいた場合も含む)は、記録してください:

whoop-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
whoop-pp-cli feedback --stdin < notes.txt
whoop-pp-cli feedback list --json --limit 10

エントリーはローカルの ~/.whoop-pp-cli/feedback.jsonl に保存されます。WHOOP_FEEDBACK_ENDPOINT が設定されており、かつ --send が渡されているか WHOOP_FEEDBACK_AUTO_SEND=true の場合を除き、POST されることはありません。デフォルトではローカルにのみ保存されます。

バグ報告ではなく、意外に感じたことを書いてください。短く、具体的に、1 行で記録してください。積み重ねにつながるのはその部分です。

出力の配信

すべてのコマンドは --deliver <sink> を受け付けます。出力は stdout に加えて(または stdout の代わりに)指定したシンクに送られるため、エージェントはコマンド結果を手動でパイプせずに振り分けられます。サポートされているシンクは 3 種類です:

シンク動作
stdoutデフォルト。stdout のみに出力
file:<path>出力を <path> にアトミックに書き込みます(tmp + rename)
webhook:<url>出力本文を URL に POST します(--compact の場合は application/json または application/x-ndjson)

不明なスキームは、サポート対象の一覧を示す構造化エラーとともに拒否されます。Webhook の失敗時はゼロ以外の終了コードを返し、URL と HTTP ステータスを stderr に記録します。

名前付きプロファイル

プロファイルは、呼び出しごとに再利用するフラグ値の保存セットです。スケジュールされたエージェントが毎回同じ設定で同じコマンドを実行する場合に使用します。これは HeyGen の「Beacon」パターンです。

whoop-pp-cli profile save briefing --json
whoop-pp-cli --profile briefing activity-mapping mock-value
whoop-pp-cli profile list --json
whoop-pp-cli profile show briefing
whoop-pp-cli profile delete briefing --yes

明示的なフラグは常にプロファイル値より優先され、プロファイル値はデフォルトより優先されます。agent-context はすべての利用可能なプロファイルを available_profiles の下に一覧表示するため、情報を調べるエージェントは実行時にプロファイルを検出できます。

終了コード

コード意味
0成功
2使用方法エラー(引数が不正)
3リソースが見つかりません
4認証が必要です
5API エラー(上流の問題)
7レート制限中(待機してから再試行)
10設定エラー

引数の解析

$ARGUMENTS を解析します:

  1. 空、help、または --help → whoop-pp-cli --help の出力を表示
  2. install で始まる → mcp で終わる場合は MCP のインストール。それ以外の場合は上記の「前提条件」を参照
  3. それ以外 → 直接利用(CLI コマンドとして --agent を付けて実行)

MCP サーバーのインストール

この CLI の公開ライブラリーのエントリーまたはビルド済みリリースから MCP バイナリーをインストールし、登録します:

claude mcp add whoop-pp-mcp -- whoop-pp-mcp

確認:claude mcp list

直接利用

  1. インストールされているか確認します:which whoop-pp-cli 見つからない場合は、インストールを提案します(このスキルの冒頭にある「前提条件」を参照)。
  2. ユーザーのクエリに最適なコマンドを、上記の「独自の機能」と「コマンドリファレンス」から選びます。
  3. --agent フラグを付けて実行します:
    whoop-pp-cli <command> [subcommand] [args] --agent
    
  4. 曖昧な場合は、サブコマンドのヘルプを確認します:whoop-pp-cli <command> --help.

コメント