プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

Whoop MCP Server

作者:rajdeepmondaldotcomバージョン 0.0.12i★ –iパソコンで動く
レジストリ名io.github.rajdeepmondaldotcom/whoop-mcp-server

インストール

概要

作者による説明(英語の原文)

WHOOP recovery, sleep, strain, and workouts for any AI. Analysis tools, demo mode, fast setup.

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンで動く
  • トランスポート: stdio
  • カテゴリ: クリニック・健康

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

必要なもの

  • PyPIPythonのuvのインストール(uvxコマンドに必要)

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます

{
  "mcpServers": {
    "whoop": {
      "command": "uvx",
      "args": [
        "whoop-mcp-server"
      ],
      "env": {
        "WHOOP_MCP_DEMO": "your-value"
      }
    }
  }
}

ターミナルでこれを実行します

claude mcp add whoop --env WHOOP_MCP_DEMO=your-value -- uvx whoop-mcp-server

動かす前に、空欄の値を入力してください。

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "whoop": {
      "command": "uvx",
      "args": [
        "whoop-mcp-server"
      ],
      "env": {
        "WHOOP_MCP_DEMO": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "whoop": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "whoop-mcp-server"
      ],
      "env": {
        "WHOOP_MCP_DEMO": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

自分で入力する値

  • WHOOP_MCP_DEMO env
    Set to 1 to serve realistic generated data (no WHOOP account needed)

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月9日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント rajdeepmondaldotcom で確認済みです

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

クリニック・健康のほかのサーバーとの比較i

  • このカテゴリのほかの1034件のうち0%よりスターが多い
  • このカテゴリのほかの1034件のうち15%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの1034件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Whoop MCP Serverは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(0.0.12)がレジストリに届いたのは5 か月前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。

代わりに使えるものは?

同じカテゴリには:Mirobody, FHIR MCP Server, Google Health MCP

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Mirobody

Lab results to LOINC codes and UCUM units, symptoms and diagnoses to ICPC-3. Offline, no API key.

作者:thetahealth成長中↓ 290/週★ 1408昨日更新

パソコンで動く✓ thetahealth.ai

FHIR MCP Server

MCP server providing seamless access to FHIR APIs for AI tools and healthcare applications

作者:wso2成長中↓ 823/週★ 13711 日前更新

パソコンで動く

Google Health MCP

Privacy-first unofficial Google Health API v4 MCP server for health, sleep, activity, HR agents

作者:davidmosiah成長中↓ 1024/週★ 794 か月前更新

パソコンで動く

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

whoop-mcp-server

Your WHOOP shows you charts. It can't answer "should I train hard today" or "what actually hurts my recovery". This server can.

It connects your WHOOP data to Claude, ChatGPT, and any MCP client. You ask in plain English. It computes the answer from your own records and lets the AI explain it.

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.

Runs on your machine. Read-only. The only network peer is api.prod.whoop.com. No telemetry. MIT.

What you need

  • A WHOOP account. Any membership works.
  • uv or pipx, to install one command line tool.
  • An MCP client: Claude Desktop, Claude Code, Cursor, Windsurf, VS Code, or ChatGPT.

One constraint to know before you start. WHOOP has no shared developer app, so during setup you create your own free one. It takes about two minutes of clicking, and it is the reason this is private by design: your tokens belong to your app, on your machine, and your health data never routes through anyone else's server. Including mine.

Set it up

Install the tool:

uv tool install whoop-mcp-server

(pipx install whoop-mcp-server works the same.)

Then run the one command that does everything:

whoop-mcp-server setup

Here is what happens, in order, so nothing surprises you:

  1. Your WHOOP app. The wizard opens WHOOP's developer dashboard and tells you exactly what to click: create a team, create an app, enable every scope including offline, set the redirect URL to exactly http://localhost:8765/callback. The form requires a privacy policy URL. Use this repo's: https://github.com/rajdeepmondaldotcom/whoop-mcp-server/blob/main/PRIVACY.md. Copy the Client ID and Secret, paste them into the terminal. They're stored locally with 0600 permissions.
  1. Authorize. Your browser opens WHOOP's consent screen. Approve it. Tokens land in ~/.whoop-mcp and refresh themselves from then on. You never do this again.
  1. Proof. The wizard makes a live API call and prints your actual latest recovery. If anything is misconfigured, you find out here, in the terminal, not later in a chat window.
  1. Your clients. It detects Claude Desktop, Cursor, Windsurf, VS Code, and Claude Code, and writes their configs for you. Existing config is backed up before any edit. If Claude Desktop is running, the wizard asks to quit it first, because Desktop silently overwrites config edits made while it's open. Then it launches the configured command once and confirms the server answers. "Done" means verified, not hopeful.

Restart your client. Ask it: "How did I sleep last night?" Then ask the better question: "Give me the full picture of my health this quarter."

Two useful asides. If you want to see the tools work before connecting anything, whoop-mcp-server serve --demo serves 150 days of realistic generated data through the same pipeline. And if anything misbehaves later, whoop-mcp-server doctor names what's wrong and the fix.

What you can ask

24 tools cover every public user-readable endpoint in WHOOP's API, plus the analysis layer that turns records into answers.

AskTool behind it
"Give me the full picture of my health"get_health_overview: status, trends, training load, records, and correlations in one call
"How am I doing today?"get_daily_summary: recovery, sleep, strain, workouts for any day
"What actually affects my recovery?"get_correlations: strain vs next-morning recovery, sleep vs recovery, with plain readings
"Am I overtraining?"get_strain_trends: acute vs chronic load, per-sport breakdown
"Is my HRV improving?"get_recovery_trends: direction, confidence, unusual days
"Show my overnight heart rate curve"get_sleep_stream: minute-level HR and skin temp, lowest point and when; include_raw=true keeps WHOOP's untouched stream
"This month vs last month?"compare_periods: every metric, improved or declined
"My records this year?"get_personal_records: bests, worsts, green streaks
"Export everything"export_data: full collection history to local JSON and CSV, with raw records by default
Week grids, raw records, profileget_weekly_report, get_sleeps/workouts/cycles/recoveries, by-id tools with include_raw, get_profile(include_raw=true)
"I have an old WHOOP activity id"get_activity_mapping: map a legacy v1 activity id to its v2 UUID
Connection troubleget_connection_status, connect_whoop_account

Dates are plain English everywhere: yesterday, last 30 days, this week, 2 years ago, 2026-05.

ChatGPT's required search and fetch tools are implemented too, plus 4 resources and 4 ready-made prompts (morning_readiness, weekly_review, sleep_coach, training_planner).

More questions worth asking: docs/PROMPTS.md.

Works with

ClientSetup
Claude Desktopwhoop-mcp-server setup configures it for you. No terminal at all: download whoop-mcp-server.mcpb from the latest release and open it (needs uv installed; demo mode is a toggle in its settings)
Claude Codeclaude mcp add whoop -- whoop-mcp-server serve (setup offers this too)
Cursorauto via setup, or
Windsurfauto via setup
VS Codeauto via setup, or
ChatGPTremote connector, see below
Dockerdocker build -t whoop-mcp-server . && docker run -i --rm -e WHOOP_MCP_DEMO=1 whoop-mcp-server (mount ~/.whoop-mcp for real data)
Any MCP clientcommand: whoop-mcp-server with args: ["serve"]. Inspector: npx @modelcontextprotocol/inspector whoop-mcp-server serve

ChatGPT setup

ChatGPT connects to remote MCP servers, so expose the HTTP transport and tunnel it:

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

ngrok http 8000

Then in ChatGPT: Settings, Apps & Connectors, Advanced settings, enable Developer mode, create a connector with https:// /mcp and no auth.

Be careful here: a no-auth tunnel means anyone with the URL can read your health data. Keep the URL private and the tunnel short-lived. Claude's stdio setup never exposes anything.

Why the answers hold up

The model is maybe 20% of this product. The other 80% is making the numbers right. Models are bad at arithmetic over 90 days of records, so this server computes first and lets the model explain.

  • Trend lines are fit to date-sorted series. WHOOP returns records newest-first. Fit arrival order instead and every trend reads backwards.
  • Direction respects what the metric means. Rising HRV is improvement. Rising resting heart rate is not.
  • Records land on calendar days using their own timezone offset. A sleep belongs to the morning you woke up, even when you travel.
  • WHOOP rotates both OAuth tokens on every refresh. Refreshes here are serialized, saved before use, and shared across concurrent requests. Re-running auth rescues a live server without a restart.
  • The client honors WHOOP's rate-limit headers, retries with backoff, and caps pagination. When a result is truncated or approximate, the output says so instead of pretending it's complete.

What it can't do: WHOOP's public API has no endpoints yet for Peak features like the stress monitor and healthspan. When WHOOP ships them, they land here. The overnight sensor stream isn't enabled for every account, and the tool reports that instead of failing. Bulk export intentionally fetches the collection endpoints; raw sleep streams are available per sleep with get_sleep_stream(include_raw=true).

105 tests, all offline against a faked WHOOP API. CI on Python 3.10 to 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)

Configuration

Nothing required after whoop-mcp-server setup. Overrides, in priority order: process env, ./.env, ~/.whoop-mcp/.env, ~/.whoop-mcp/config.json.

VariableDefaultPurpose
WHOOP_CLIENT_ID / WHOOP_CLIENT_SECRETnoneWHOOP app credentials
WHOOP_REDIRECT_URIhttp://localhost:8765/callbackMust exactly match the dashboard
WHOOP_MCP_DEMOoff1 serves demo data (same as --demo)
WHOOP_MCP_DIR~/.whoop-mcpTokens, config, exports
WHOOP_MCP_TZsystem zoneIANA timezone for "today" and week bounds
WHOOP_MCP_CACHE_TTL / WHOOP_MCP_TIMEOUT60 / 30Seconds
WHOOP_MCP_LOG_LEVELINFOLogs go to stderr. stdout belongs to MCP
WHOOP_ACCESS_TOKENnoneStatic token for testing, no refresh

Privacy

Read-only against WHOOP. Tokens stored locally with 0600 permissions. The only writes are local files you ask for (export_data) and the OAuth flow you trigger. One thing worth knowing: aggregates like trends and correlations can reveal more about you than single records. Connect this only to AI clients you trust with health data. Full policy: PRIVACY.md. Vulnerabilities: SECURITY.md.

Contributing

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

The whole test suite runs offline. CONTRIBUTING.md lists the invariants that keep the data honest. The short version of the architecture: client.py talks to WHOOP, transform.py cleans the records, summaries.py and analytics.py do the math, server.py exposes the tools. oauth.py and tokens.py own auth. demo.py is the generated account.

Troubleshooting

SymptomFix
"WHOOP authorization required"whoop-mcp-server setup, or ask your AI to connect your WHOOP account
Redirect fails after consentThe dashboard redirect URI must be exactly http://localhost:8765/callback
403 missing scopeEnable all read scopes plus offline on the app, then re-run whoop-mcp-server auth
Tools missing in a clientRe-run whoop-mcp-server setup, then fully restart the client
No recovery shown todayWHOOP scores it after you wake and sync. The summary says so
Sleep stream "not available"WHOOP doesn't expose it for every account. Nightly summaries still work

| Anything else | whoop-mcp-server doctor, or get_connection_status from

冒頭だけを表示しています。続きはリポジトリで読めます

PopNxに聞く