
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 toolsPublic 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*secretClient secret from your WHOOP developer app. Used for OAuth token refresh.
WHOOP_REDIRECT_URIdefault: http://localhost:8000/callbackOAuth redirect URI. Defaults to http://localhost:8000/callback — only change if you registered a different URI.
WHOOP_LOG_LEVELdefault: INFOLog level (DEBUG / INFO / WARNING / ERROR). Default INFO.
WHOOP_LOG_FILEPath to the rotating log file. Set to empty string to disable file logging. Default ~/.whoop-mcp-server/logs/whoop-mcp.log.
WHOOP_LOG_JSONdefault: trueStructured JSON logs (true) vs human-readable (false). Default true.
Readme
WHOOP MCP Server
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.
Details
- Repository
- github.com/ashwanthramkl/whoop-mcp
- Categories
- Databases, Data & Analytics
- Package
whoop-mcp- Transport
- STDIO
- Auth
- Required
- Registry
- MCP registry, active