Quickstart

From nothing to your assistant reading your recovery, in about two minutes.

Before you start: a WHOOP account with data, and an MCP client. You do not need a WHOOP developer account, Node.js, or anything installed locally.

1. Sign in

Go to fitnesspeak.app/app and enter your email. We send a magic link — there's no password.

2. Start the trial

Click Start trial. You'll enter card details on a Mollie checkout page; we never see the card number. A small verification charge confirms the card is real and is refunded immediately. Nothing else is charged for 14 days, and cancelling before then charges you nothing.

3. Connect WHOOP

Back on your dashboard, click Connect WHOOP. WHOOP's own consent screen appears. Approve, and you're returned here.

  • FitnessPeak requests only read scopes — it can never write to your WHOOP account
  • Your WHOOP password is never seen by us
  • You can disconnect from the dashboard, or revoke access from WHOOP, at any time

4. Copy your key

Your dashboard shows two things:

endpoint and key
https://fitnesspeak.app/mcp
fp_live_YOUR_KEY_HERE

The key is displayed once. We store only a SHA-256 hash of it, so we cannot show it to you again — if you lose it, create a new one and revoke the old one. That takes five seconds.

5. Add it to your client

Claude Code

terminal
claude mcp add --transport http fitnesspeak https://fitnesspeak.app/mcp \
  --header "Authorization: Bearer fp_live_YOUR_KEY_HERE"

Claude Desktop, Cursor, Windsurf

claude_desktop_config.json / mcp.json
{
  "mcpServers": {
    "fitnesspeak": {
      "type": "http",
      "url": "https://fitnesspeak.app/mcp",
      "headers": {
        "Authorization": "Bearer fp_live_YOUR_KEY_HERE"
      }
    }
  }
}

Clients that only accept a URL

Some clients have a single URL field and nowhere to put a header. Put the key in the path instead:

URL-only form
https://fitnesspeak.app/mcp/fp_live_YOUR_KEY_HERE

Use the header form when you can — a key in a URL can end up in proxy logs and browser history. Both forms are equally revocable.

Detailed per-client guides: Claude · ChatGPT · Cursor · VS Code & Zed

6. Ask something

Restart your client so it picks up the new server, then try:

  • “How did I sleep this week?”
  • “Is my recovery trending up or down?”
  • “What was my hardest workout in the last month?”

Your assistant sees the tool descriptions and decides when to call them. You don't have to name the tool.

Check it worked

If nothing happens, verify the key directly:

should list six tools
curl -s https://fitnesspeak.app/mcp \
  -H "Authorization: Bearer fp_live_YOUR_KEY_HERE" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

A 200 with six tools means FitnessPeak is fine and the problem is client-side. See troubleshooting.