[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# WHOOP API and MCP server: Let your AI agent read your WHOOP data.

> WHOOP has an official developer API (v2, OAuth 2.0, read-only) but no official MCP server (checked 27 Oct 2026). Cotlet runs 8 WHOOP tools hosted, over MCP for agents and REST for scripts, in your own login.

Read your WHOOP daily strain, recovery and sleep records through MCP or REST. Connect an AI agent or create a private reporting workflow with HTTP requests.

[MCP setup](https://cotlet.dev/integrations/whoop-api-mcp-server.md#connect)
[REST API guide](https://cotlet.dev/integrations/whoop-api-mcp-server.md#rest-api)

- Free 7-day trial, no card
- Unofficial, not affiliated with WHOOP
- Page: https://cotlet.dev/integrations/whoop-api-mcp-server

## What can you automate in WHOOP?

- Brief you on today's recovery
- Review a week of sleep stages
- Compare strain with recovery
- List and rank your workouts
- Run a briefing every morning
- Check your membership plan

## Does WHOOP have an MCP server or an API?

- The API returns profile, body measurements, cycles, recovery, sleep and workouts, and sends webhooks for recovery, sleep and workout changes. Its only write removes an app's access.
- Using it means a developer team, an app, a redirect URL and an OAuth flow. An app WHOOP has not approved serves 10 members, and each step up is a manual review.
- Zapier and n8n list no WHOOP app, and its limits are 100 requests a minute and 10,000 a day.

| What you need | WHOOP API | GitHub MCP server | Cotlet |
|---|---|---|---|
| Recovery, sleep, strain, workouts | Yes, in your own code | Yes | Yes |
| Works from Claude or ChatGPT | No MCP server | Desktop apps; web needs hosting | Yes, hosted |
| No developer app or OAuth setup | App and OAuth needed | Your own app | Yes |
| Membership plan | No endpoint | No | Yes |
| Allowed by WHOOP's terms | Yes, official | Yes, on the official API | Uses the web app |

Checked 27 Oct 2026. Sources: [WHOOP API docs](https://developer.whoop.com/api/), [WHOOP Developer Platform: Getting Started](https://developer.whoop.com/docs/developing/getting-started/), [WHOOP Developer Platform: App Approval](https://developer.whoop.com/docs/developing/app-approval/), [WHOOP API rate limiting](https://developer.whoop.com/docs/developing/rate-limiting/)

## How does Cotlet connect to WHOOP?

1. **Sign in to WHOOP.** Use your own account in its Cotlet Cloud Browser.
2. **Choose MCP or REST.** Connect your agent or create a Cotlet API key.
3. **Run your workflow.** Ask your agent or send an HTTP request.

We never keep your WHOOP password, and every WHOOP tool only reads.

## Connect WHOOP to your agent or workflow

Use MCP with your AI agent, or HTTP requests in n8n, Make, Zapier and scripts. Follow the MCP setup below or jump to the REST guide.

1. **Enable WHOOP for agents.** Sign up, log in to WHOOP in its Cloud Browser, then press Enable for agents.
2. **Paste the Cotlet address.** Add https://cotlet.dev/mcp/v1 as an MCP server or connector in your agent.
3. **Approve the connection.** Chat apps ask you to sign in to Cotlet. Editors, n8n and scripts use an API key from the console.

One shared address, `https://cotlet.dev/mcp/v1`, also carries WHOOP next to your other apps. If you enable WHOOP after connecting, refresh the connector so the new tools show up.

Claude:

```
Settings > Connectors > Add custom connector
URL: https://cotlet.dev/mcp/v1/connect

Claude Code:
claude mcp add --transport http cotlet-whoop \
  https://cotlet.dev/mcp/v1 \
  --header "Authorization: Bearer $COTLET_API_KEY"
```

ChatGPT:

```
Settings > Apps & Connectors > Create
MCP server URL: https://cotlet.dev/mcp/v1/connect
Authentication: OAuth
```

Cursor:

```
// ~/.cursor/mcp.json
{
  "mcpServers": {
    "cotlet-whoop": {
      "url": "https://cotlet.dev/mcp/v1",
      "headers": { "Authorization": "Bearer ${env:COTLET_API_KEY}" }
    }
  }
}
```

Codex:

```
# ~/.codex/config.toml
[mcp_servers.cotlet-whoop]
url = "https://cotlet.dev/mcp/v1"
bearer_token_env_var = "COTLET_API_KEY"
```

n8n:

```
MCP Client Tool (inside an AI Agent)
Transport: HTTP Streamable
URL: https://cotlet.dev/mcp/v1
Auth: Bearer, <your key>
Tool: whoop_read
```

Make, Zapier:

```
Make: MCP Client > Call a tool
Zapier: MCP Client by Zapier > Run Tool
Server URL: https://cotlet.dev/mcp/v1
Token: <your key>
Tool: whoop_read
```

## How to use the WHOOP REST API

### Create your Cotlet API key

Create a Cotlet API key with access to WHOOP and its read operations. Store it as `COTLET_API_KEY` in your environment or automation platform's credential store.

Sign in to WHOOP in its Cotlet Cloud Browser and enable the app for agents. Use the WHOOP membership account that owns your band.

### Make your first WHOOP API request

REST:

```
curl "https://cotlet.dev/api/v1/whoop/day-summary?date=2026-10-26" \
  -H "Authorization: Bearer $COTLET_API_KEY"
```

### Read dated records and retain their units

A successful REST call puts the tool output in `result`. This illustrative response excerpt omits call IDs, messages and credit details.

Illustrative response excerpt:

```
{
  "status": "success",
  "app": "whoop",
  "tool": "get_day_summary",
  "result": {
    "date": "2026-10-26",
    "strain": 12.4,
    "recovery_percent": 68,
    "sleep_performance_percent": 91,
    "hours_of_sleep": 7.4,
    "sleep_needed_hours": 8.1
  }
}
```

This request reads a named day; replace the date with the day you want. Read percentages as percentages and the sleep-duration fields as hours.

Daily summary has no pagination; the web view exposes six months of records. Today's strain remains partial until the day ends.

Recovery, sleep, workout and cycle lists use cursors, with 10 records by default and at most 25. Keep date filters fixed while paging; sleep-stage durations use minutes and HRV uses milliseconds.

### WHOOP workflows for agents and automations

| Tool | Connect through | Example workflow |
|---|---|---|
| n8n | HTTP Request | Read daily strain, recovery and sleep values into your private journal without changing recorded data. |
| Make | HTTP > Make a request | Combine sleep lists and sleep details into a factual duration and stage report that retains minutes and hours. |
| Python or Node.js | REST API | Read workout details into a personal strain and duration journal without generating training or medical advice. |

Send `Authorization: Bearer <your Cotlet API key>` in request headers. You configure the schedule, destination and record comparisons.

Cotlet reads WHOOP; your workflow steps write to your chosen destination. These HTTP workflows do not require a native Cotlet connector or a prebuilt template.

Python and Node.js can use the same HTTP requests without an AI agent. Keep access keys in credentials, outside shared workflow exports.

The [API and MCP reference](https://cotlet.dev/integrations/whoop-api-mcp-server.md#tools) lists operations and inputs. The [REST API guide](https://cotlet.dev/docs/api.md) explains authentication, errors and approvals.

## WHOOP API endpoints and MCP tools

### Recovery and day strain

Recovery score, HRV, resting heart rate and day strain. The current day is still open, so its strain grows until the day ends.

- **Get day summary** (`get_day_summary`, read): One day's Strain, Recovery and Sleep Performance as the WHOOP web app shows them.
- **List recoveries** (`list_recoveries`, read): Daily recovery with score, heart rate variability and resting heart rate.
- **List cycles** (`list_cycles`, read): Physiological days with day strain and average heart rate.

### Sleep

Sleep Performance and minutes in each stage. get_sleep takes the sleep_id from list_sleeps.

- **List sleeps** (`list_sleeps`, read): Sleeps with performance percent and time in each stage.
- **Get sleep** (`get_sleep`, read): One sleep with its stages and Sleep Performance.

### Workouts

Sport, duration, strain and average heart rate. list_workouts can keep one sport.

- **List workouts** (`list_workouts`, read): Workouts with sport, strain and average heart rate.
- **Get workout** (`get_workout`, read): One workout with strain, duration and heart rate.

### Membership

Your plan and renewal date. Changing or cancelling it is not a tool.

- **Get membership** (`get_membership`, read): Your WHOOP plan and renewal date from the Membership page.

Inputs, REST path and example response of every tool: https://cotlet.dev/integrations/whoop-api-mcp-server#tools

## Who can see my WHOOP session, and how do I revoke it?

- **What we store.** Your logged-in WHOOP profile, encrypted with AES-256-GCM, in Finland. Not the password.
- **What your agent gets.** The 8 WHOOP tools. Never the cookie.
- **What the session sees.** Your own account: recovery, sleep, strain, workouts and membership.
- **What no tool touches.** Plan changes, cancelling, payment details, password and deleting data.
- **If WHOOP asks to verify.** A new device can ask for a code. You type it in, we never do.
- **How to cut access.** Disable for agents, reset the browser, or sign out of WHOOP.

Our site scores A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory ([live results](https://cotlet.dev/security.md)). There is no SOC 2 report or third-party pentest yet.

## Is it against WHOOP's terms? Account safety

> use of web scraping, web harvesting, or web data extraction methods from WHOOP Services even if the Account owner gives permission
>
> [WHOOP Terms of Use, prohibited uses, as shown in search results on 27 Oct 2026](https://www.whoop.com/us/en/whoop-terms-of-use/)

The terms also end your permission to use the Services on a violation. Cotlet reads your WHOOP web app, as you would, but WHOOP could read it as automation. The official API is the route its terms allow, and its own terms bar scraping and building permanent copies of WHOOP data. We found no public case of a WHOOP account closed for an AI agent or an MCP server (checked 27 Oct 2026). A competing tool that signs in with your password through WHOOP's private app API carries its own warning about suspension.

How we keep your account looking like you:

- Your own WHOOP account, logged in by you
- One Cloud Browser with its own IP and cookies, so no new-device check every call
- Every tool only reads: nothing is edited or deleted
- No tool changes your plan or payment
- If WHOOP objects, we pause the WHOOP tools for everyone within 24 h

> If a ban on automation would cost you more than the convenience, use the official API with your own developer app instead.

## What happens when WHOOP changes?

- **12 h** between tests of the WHOOP reads
- **$0** for a call to a WHOOP tool paused for repair

When WHOOP moves a screen or renames a field, the fix happens on our side and your prompts keep working. The official API changes too: v2 launched on 1 Jul 2025 and v1 webhooks were removed. [status.cotlet.dev](https://status.cotlet.dev) watches the site, console and API every 3 minutes.

## Safety and mistakes

1. **Reads your day.** Recovery, sleep and strain for the dates you ask about.
2. **Checks the window.** The web app shows 6 months, so older dates come back empty.
3. **Marks an open day.** Today's strain is partial until the day ends.
4. **Reports what it found.** Numbers as WHOOP shows them, with the dates.

| Case | What happens |
|---|---|
| The agent asks for data before 6 months ago | The call returns an empty list; the agent says the window is 6 months |
| You ask to change your plan | There is no tool for it; do it in WHOOP |
| The agent reads the wrong day | Nothing changed, so ask again with the date |

All 8 tools read, so none waits for your OK and nothing can edit, delete or send. Scheduled runs need no approval.

> WHOOP data is health data. Share the agent's answers only with people you trust.

MCP call:

```
{
  "name": "list_recoveries",
  "arguments": {
    "from": "2026-10-24",
    "to": "2026-10-26"
  }
}
```

REST:

```
curl "https://cotlet.dev/api/v1/whoop/recoveries?from=2026-10-24&to=2026-10-26" \
  -H "Authorization: Bearer $COTLET_API_KEY"
```

Tool output:

```
{
  "recoveries": [
    {
      "date": "2026-10-26",
      "recovery_percent": 68,
      "hrv_ms": 74,
      "resting_heart_rate": 52
    },
    {
      "date": "2026-10-25",
      "recovery_percent": 81,
      "hrv_ms": 88,
      "resting_heart_rate": 50
    },
    {
      "date": "2026-10-24",
      "recovery_percent": 43,
      "hrv_ms": 61,
      "resting_heart_rate": 57
    }
  ],
  "next_cursor": null
}
```

Scripts and cron jobs reach the same tools over REST at `/api/v1/whoop`, with the same key and price. A failed call costs nothing. The tools table lists the REST path of each tool.

## How much does the WHOOP MCP server cost?

**About $13 a month** for a daily morning briefing and a weekly review, 2,270 credits. Your WHOOP membership is billed by WHOOP as before.

| Job | Calls | Credits |
|---|---|---|
| Morning recovery briefing, daily | 2 × 30 | 600 |
| Weekly sleep and strain review | 4 × 4 | 160 |
| Membership check | 1 × 1 | 10 |
| Cloud Browser, 30 days |  | 1,500 |
| Total |  | 2,270 |

- Free 7-day trial, no card
- 10 credits per successful call, MCP or REST
- 50 credits a day for the Cloud Browser
- Works on every WHOOP membership you can log in with

The month is our example: a two-call briefing every morning and a four-call review on four Sundays. No public figure for how often a member asks exists. Dollars at the $29 pack rate.

## WHOOP MCP server on GitHub, hosted or the API: which to use

| Option | What it does | Where it stops |
|---|---|---|
| [shashankswe2020-ux/whoop-mcp](https://github.com/shashankswe2020-ux/whoop-mcp) | 16 read-only tools on the official API, 175 stars, last push 25 Oct 2026. | Runs on your computer with your own developer app. Claude web, phone and ChatGPT need you to host it. |
| [yuridivonis/whoop-mcp-server](https://github.com/yuridivonis/whoop-mcp-server) | Remote MCP for a Claude.ai custom connector on API v2, 16 stars, last push 21 Oct 2026. | You host it and register the WHOOP app. |
| [briangaoo/whoop-mcp](https://github.com/briangaoo/whoop-mcp) | 55 tools with writes, 136 stars, through WHOOP's private iOS API. | Needs your WHOOP password. Its own notice says it goes against WHOOP's terms. |
| Older servers (nissand, RomanEvstigneev, JedPattersonn) | Claude Desktop servers with 13 to 27 stars. | No push since Jul to Oct 2025. |
| Hosted WHOOP connectors | Several services run the official API for you, free or from about $39 a year, per their own pages. | WHOOP serves 10 members on an unapproved app, so a shared app has a member cap. |
| Zapier and n8n | Neither lists a WHOOP app (checked 27 Oct 2026). | You build the API calls with a generic OAuth step. |

If you are happy to register a developer app and run a server, a GitHub server on the official API is free and within WHOOP's terms. Cotlet is for people who want the same reading in Claude or ChatGPT with no app to register and no server to fix. It works in your web login, so it also carries the terms risk above.

## Who runs Cotlet

Take Group sp. z o.o. runs Cotlet. It is a software company registered in Poland, EU (VAT PL6342984273), working since 2019, founded by Bart Krawczyk (Co-founder, CTO) and Jake Slugocki (Co-founder, SEO, sales and marketing). Write to contact@cotlet.dev with questions about the WHOOP tools.

## WHOOP API and MCP: questions

### Can I use the WHOOP API without an AI agent?

Yes. Call Cotlet's REST API from a script or an HTTP step in n8n, Make or Zapier with your Cotlet key. MCP is the alternative for AI agents; you do not need to connect an agent to use REST.

### How do I get access?

Create a free account at https://cotlet.dev, open WHOOP under Integrations in the console and log in to WHOOP in its Cloud Browser. The trial starts with your first app, no card asked.

### Does the official WHOOP API need an approved app?

An app starts on the Sandbox tier, which lets up to 10 WHOOP members connect. More members need a request in the Developer Dashboard, and WHOOP reviews each one by hand (checked 27 Oct 2026). Cotlet does not use the API, so no app or approval is involved.

### How far back does the data go?

The WHOOP web app shows 6 months of data (WHOOP Basics, checked 27 Oct 2026), and the tools read what the web app shows. Steps are not in the web app, so no tool returns them. The official API added a step count to cycles on 23 Sep 2026.

### Does WHOOP send webhooks?

Yes, through the official API: recovery, sleep and workout updated and deleted events (checked 27 Oct 2026). A Cotlet agent does not receive them. Run it on a schedule instead, for example a morning list_recoveries call.

### Is the data the same as in the official API?

The figures come from what the WHOOP web app shows, not from the API. Strain, Recovery and Sleep Performance are the same scores WHOOP computes. The API has fields the web app lacks, for example steps, which the web app does not show.

### Can the agent log a workout or edit my journal?

No. All tools read. The official API is read-only as well, apart from revoking an app's access.

### Is the MCP server different from the REST API?

Only the door is different. Both expose the same 8 tools, inputs and answers, with one API key and one price. Agents use MCP; scripts and HTTP steps use REST.

### Is Cotlet affiliated with WHOOP?

No. Cotlet is independent and not affiliated with WHOOP, Inc.

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet.dev is built by Bart Krawczyk and Jake Slugocki, the founders of Take Group sp. z o.o., ul. Wincentego Janasa 4, 40-855 Katowice, Poland. KRS 0000871398, NIP 6342984273, VAT EU: PL6342984273. [About us](https://cotlet.dev/about.md)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.
