Claude
Claude Code, Claude Desktop and claude.ai all speak remote MCP. Pick the one you use.
Claude Code
One command:
claude mcp add --transport http fitnesspeak https://fitnesspeak.app/mcp \
--header "Authorization: Bearer fp_live_YOUR_KEY_HERE"
Verify:
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:
| OS | Path |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
| Linux | ~/.config/Claude/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:
https://fitnesspeak.app/mcp
If the connector form has no header field, use the URL-only form instead:
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.”