Claude

Claude Code, Claude Desktop and claude.ai all speak remote MCP. Pick the one you use.

Claude Code

One command:

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

Verify:

terminal
claude mcp list
claude mcp get fitnesspeak

Then just ask — “how did I sleep this week?” — and Claude Code calls whoop_sleep on its own.

Claude Desktop

Edit claude_desktop_config.json:

OSPath
macOS~/Library/Application Support/Claude/claude_desktop_config.json
Windows%APPDATA%\Claude\claude_desktop_config.json
Linux~/.config/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "fitnesspeak": {
      "type": "http",
      "url": "https://fitnesspeak.app/mcp",
      "headers": {
        "Authorization": "Bearer fp_live_YOUR_KEY_HERE"
      }
    }
  }
}

Restart Claude Desktop completely — quitting the window is not enough on macOS; use Cmd+Q. The tools appear in the tools menu once it reconnects.

claude.ai (web)

Open Settings → Connectors → Add custom connector and give it the endpoint:

connector URL
https://fitnesspeak.app/mcp

If the connector form has no header field, use the URL-only form instead:

URL with key in path
https://fitnesspeak.app/mcp/fp_live_YOUR_KEY_HERE

One connection, every client. The same key works in all of them at once — Claude Code on your laptop, Claude Desktop, and claude.ai on your phone. Connect WHOOP once, use it everywhere. That's the part a local stdio server can't do.

Good first prompts

  • “Summarise my last two weeks of WHOOP data — recovery, sleep and strain.”
  • “I slept badly last night. What does the data say and should I train?”
  • “Plot my HRV trend for the last 90 days as a table by week.”