Whoop Mcp Server

io.github.Zayden16由 GitHub 帳號 Zayden16 發布v1.1.0更新於 Oct 24, 2026

MCP server for the official Whoop API v2: cycles, recovery, sleep, workouts, and profile data

已驗證STDIO僅桌面位置與生活資料與分析

概覽

AI 產生的概覽

本機 MCP 伺服器,連接 Whoop 官方 API v2,讓助理讀取你的週期、恢復、睡眠、訓練與個人資料。

可以做什麼
  • 讀取個人資料與身體測量資料(姓名、電子郵件、身高、體重、最大心率)
  • 取得每日週期記錄,含 strain、千焦與心率,並可取得最新週期
  • 取得恢復記錄,含恢復分數、靜息心率、HRV、血氧與皮膚溫度
  • 取得睡眠記錄,含各階段時長、呼吸速率與睡眠表現
  • 取得訓練記錄,含運動類型、strain、心率、距離與各心率區間時長
  • 計算指定天數的平均 strain,並檢查授權狀態
適用情境
適合讓助理回答關於自己 Whoop 資料的問題,例如今天的恢復分數、過去一週的睡眠或近期平均 strain,不必手動匯出資料。
執行需求
以本機執行檔執行(Homebrew、預先編譯版本、go install 或原始碼建置)。需要一個 Whoop 開發者應用程式,設定所列的唯讀權限與本機回呼位址,並設定 WHOOP_CLIENT_ID 與 WHOOP_CLIENT_SECRET 環境變數。首次需在瀏覽器完成 OAuth 授權,權杖會存在本機並自動更新。需要連線至 Whoop API 的網路。
安裝前請注意
需要 Whoop 用戶端 ID 與用戶端密鑰,並以環境變數寫入 MCP 用戶端設定。權杖檔案會存在磁碟上並自動更新。伺服器會讀取個人健康資料(電子郵件、身體測量、睡眠、恢復、訓練)並傳送給模型;所有工具皆為唯讀。OAuth 流程會開啟瀏覽器並監聽本機回呼連接埠。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Whoop Mcp Server,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

whoop-mcp-server

[CI] [Release] [Go Version] [License: MIT]

MCP server for the official Whoop API v2, written in Go. Exposes cycles, recovery, sleep, workouts, and profile data as MCP tools.

Tools

All tools return JSON. Record shapes are the unmodified Whoop API v2 objects, so every field the API exposes is available to the model.

ToolInputsReturns
get_profile—Single object: user_id, email, first_name, last_name
get_body_measurement—Single object: height_meter, weight_kilogram, max_heart_rate
get_cyclesstart_date, end_date, limit (all optional)Array of cycle records — one per physiological day: start/end, score_state, and score with day strain, kilojoule, average_heart_rate, max_heart_rate
get_latest_cycle—Single cycle record (the current/most recent day)
get_recoveriesstart_date, end_date, limit (all optional)Array of recovery records — one per sleep: cycle_id, sleep_id, and score with recovery_score (0–100), resting_heart_rate, hrv_rmssd_milli, spo2_percentage, skin_temp_celsius
get_recovery_for_cyclecycle_id (required)Single recovery record for that cycle
get_sleepstart_date, end_date, limit (all optional)Array of sleep records: start/end, nap flag, and score with per-stage durations (light/SWS/REM/awake, in ms), respiratory_rate, sleep_performance_percentage, sleep_efficiency_percentage, sleep-need breakdown
get_workoutsstart_date, end_date, limit (all optional)Array of workout records: sport_name, start/end, and score with workout strain, heart rates, kilojoule, distance_meter, altitude_gain_meter, time-in-zone durations (zone_durations, ms per HR zone)
get_average_straindays (optional, default 7)Computed aggregate: {days, cycles_counted, average_strain}
check_auth_status—{authenticated: bool} plus the profile on success or an error string on failure

Notes:

  • Dates are YYYY-MM-DD; end_date is inclusive (internally mapped to the start of the next day, per the API's exclusive end semantics).
  • Collections are date-descending (most recent first) and paginated transparently — the server follows next_token until limit records (default 25, max 100) are collected.
  • Scores are point-in-time per record, not time-series: one strain value per cycle, one recovery per sleep. For trends, fetch a range and let the model aggregate (or use get_average_strain for the built-in strain average).
  • A record's score_state can be SCORED, PENDING_SCORE, or UNSCORABLE — score is only present when SCORED.

Setup

1. Create a Whoop developer app

At developer.whoop.com, create an app with:

  • Redirect URI: http://localhost:8719/callback
  • Scopes: read:cycles, read:recovery, read:sleep, read:workout, read:profile, read:body_measurement, offline

Note the client ID and client secret.

2. Install

Homebrew:

sh
brew install zayden16/tap/whoop-mcp-server

Or download a prebuilt binary from Releases, or:

sh
go install github.com/Zayden16/whoop-mcp-server@latest

Or build from source:

sh
go build -o whoop-mcp-server .

3. Authorize (one time)

sh
export WHOOP_CLIENT_ID=...export WHOOP_CLIENT_SECRET=..../whoop-mcp-server auth

Opens a browser for the OAuth flow; the token is saved to ~/Library/Application Support/whoop-mcp/token.json (macOS) and refreshed automatically thereafter (rotating refresh tokens).

4. Register with Claude Code

sh
claude mcp add whoop --scope user \  -e WHOOP_CLIENT_ID=... \  -e WHOOP_CLIENT_SECRET=... \  -- /path/to/whoop-mcp-server

Or for Claude Desktop, in claude_desktop_config.json:

json
{  "mcpServers": {    "whoop": {      "command": "/path/to/whoop-mcp-server",      "env": {        "WHOOP_CLIENT_ID": "...",        "WHOOP_CLIENT_SECRET": "..."      }    }  }}

Example queries

  • "What's my recovery score today?"
  • "Show my sleep for the past week"
  • "What's my average strain over the last 7 days?"

來源:README.md,提交 a25ce1a

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v1.1.0最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分