ashwanthramkl avatar

Whoop Mcp

ashwanthramkl/whoop-mcp

Pulls your WHOOP fitness data into Claude through OAuth against your own developer app, so no tokens touch a third party. Exposes 17 read-only tools covering profile, body measurements, cycles, recoveries, sleeps, and workouts. Everything hits a local SQLite cache first (mode 0o600), so repeat queries are offline and free. You can sync ranges, fetch daily summaries, export to CSV/JSONL/Parquet, and bypass the cache with a fresh flag when you need live data. Includes a bundled analysis skill that computes baselines, flags anomalies, and generates HTML dashboards with correlations. Install is one uvx line plus OAuth. Useful if you want to ask Claude to spot training patterns, compare sleep to recovery, or pull custom reports without opening the WHOOP app.

tools
17
auth
Secret needed
transport
STDIO
env vars
6
last updated
Apr 25, 2026

Tools

17 tools

Public tool metadata for what this MCP can expose to an agent.

get_whoop_auth_statusReport OAuth token status. Call first if other tools return `AUTH_FAILED`.

Report OAuth token status. Call first if other tools return `AUTH_FAILED`.

No parameter schema in public metadata yet.

get_whoop_profileAuthenticated user's WHOOP profile (name, email).

Authenticated user's WHOOP profile (name, email).

No parameter schema in public metadata yet.

get_whoop_body_measurementLatest body measurements: height, weight, max HR.

Latest body measurements: height, weight, max HR.

No parameter schema in public metadata yet.

list_whoop_cyclesPhysiological cycles in a time window.

Physiological cycles in a time window.

No parameter schema in public metadata yet.

get_whoop_cycleOne cycle by integer ID.

One cycle by integer ID.

No parameter schema in public metadata yet.

get_whoop_cycle_sleepSleep record tied to a given cycle.

Sleep record tied to a given cycle.

No parameter schema in public metadata yet.

get_whoop_cycle_recoveryRecovery record tied to a given cycle.

Recovery record tied to a given cycle.

No parameter schema in public metadata yet.

list_whoop_recoveriesRecoveries (HRV / RHR / recovery score) in a window.

Recoveries (HRV / RHR / recovery score) in a window.

No parameter schema in public metadata yet.

list_whoop_sleepsSleep activities incl. naps in a window.

Sleep activities incl. naps in a window.

No parameter schema in public metadata yet.

get_whoop_sleepOne sleep activity by UUID.

One sleep activity by UUID.

No parameter schema in public metadata yet.

list_whoop_workoutsWorkouts with zone durations (seconds).

Workouts with zone durations (seconds).

No parameter schema in public metadata yet.

get_whoop_workoutOne workout by UUID.

One workout by UUID.

No parameter schema in public metadata yet.

get_whoop_daily_summaryJoined cycle + recovery + primary sleep + workouts for a UTC date.

Joined cycle + recovery + primary sleep + workouts for a UTC date.

No parameter schema in public metadata yet.

sync_whoopRefresh cache from WHOOP API. Idempotent, incremental by default.

Refresh cache from WHOOP API. Idempotent, incremental by default.

No parameter schema in public metadata yet.

get_whoop_eventsChronological "what's new" feed across cached resources.

Chronological "what's new" feed across cached resources.

No parameter schema in public metadata yet.

export_whoopDump cached records to CSV / JSONL / Parquet.

Dump cached records to CSV / JSONL / Parquet.

No parameter schema in public metadata yet.

health_checkComposite status (auth, API, cache, schema). Never raises.

Composite status (auth, API, cache, schema). Never raises.

No parameter schema in public metadata yet.

Sponsors

Configuration

WHOOP_CLIENT_ID*

Client ID from your WHOOP developer app (https://developer-dashboard.whoop.com/apps/create).

WHOOP_CLIENT_SECRET*secret

Client secret from your WHOOP developer app. Used for OAuth token refresh.

WHOOP_REDIRECT_URIdefault: http://localhost:8000/callback

OAuth redirect URI. Defaults to http://localhost:8000/callback — only change if you registered a different URI.

WHOOP_LOG_LEVELdefault: INFO

Log level (DEBUG / INFO / WARNING / ERROR). Default INFO.

WHOOP_LOG_FILE

Path to the rotating log file. Set to empty string to disable file logging. Default ~/.whoop-mcp-server/logs/whoop-mcp.log.

WHOOP_LOG_JSONdefault: true

Structured JSON logs (true) vs human-readable (false). Default true.

Readme

WHOOP MCP Server

CI PyPI Python 3.10+ License: MIT MCP Tests

A local Model Context Protocol (MCP) server that gives an LLM read-only access to your WHOOP fitness data. Authentication is direct OAuth against your own WHOOP developer app — there is no third-party proxy in the path. All records are mirrored into a local SQLite cache at ~/.whoop-mcp-server/whoop.db, and no data ever leaves your machine except for the authenticated calls the server itself makes to the WHOOP v2 API.

Current version: 0.8.5 — see CHANGELOG.md.


View the full README on GitHub

Details

Repository
github.com/ashwanthramkl/whoop-mcp
Categories
Databases, Data & Analytics
Package
whoop-mcp
Transport
STDIO
Auth
Required
Registry
MCP registry, active

Related Databases MCP servers

View all
1icecat avatarIcecatbiz.icecat/mcpRetrieve product specifications and technical details from Icecat's database0stars
2bluetieroperations-create avatarBlackwallbluetieroperations-create/blackwall-mcpAPI-key pre-action risk gate: any irreversible agent action (money, SQL, delete, email).0stars
3dxtra avatardxtra Radio — Frequency Databasecom.dxtra/dxtra-radioRadio frequency database: FM, AM, shortwave, TV, ham, weather, emergency alerts. 15+ countries.0stars
4claix-dev avatarClaixclaix-dev/claix-mcpSecurity layer for AI agents: Retrieve for controlled SQL reads, Guard for allow/deny writes.0stars
5doublecore avatarAVAdoublecore/mcp-server-avaLoad data, inspect schemas, run SQL, analyze datasets, and build charts with AVA via MCP.0stars
6br0ski777 avatarCode Sandbox APIbr0ski777/code-sandbox-x402Execute Python, JavaScript, SQL code in a sandbox. x402 micropayment.0stars