Whoop MCP Server

Your MCP server is ready

Everything on this page is done. The rest happens in your AI app: connect it, then ask it a question.

  1. Server running

    It serves this page.

  2. Create your WHOOP app

    Done. Check the Redirect URL below matches the one in your WHOOP app. To change a field, edit the app in the dashboard.

    In the WHOOP Developer Dashboard, open New App and fill the form top to bottom:

    Name
    Anything, like My MCP server. You see it when you approve the app.
    Logo
    Optional. Skip it, or upload an image to see it on WHOOP's approval screen.
    Contacts
    Your email. Only WHOOP sees it.
    Privacy Policy
    This project's, or your own if you run the server for someone else:

    https://github.com/yuridivonis/whoop-mcp-server/blob/main/PRIVACY.md

    Redirect URLs
    This server's callback, exactly:

    https://whoop.jerbb.cloud/callback

    Scopes
    Tick these four and leave the other two unticked: the server reads recovery, strain (WHOOP's cycles), sleep and workouts, and asks for nothing it doesn't use.
    • Tick read:recovery
    • Tick read:cycles
    • Tick read:sleep
    • Tick read:workout
    • Leave unticked read:profile
    • Leave unticked read:body_measurement
    Webhooks
    Leave it empty. The server gets your data from WHOOP each time you ask, so WHOOP never has to send it anything.

    Click Create App. WHOOP shows the app's Client ID and Client Secret: keep that tab open.

  3. Give this server the keys

    Done: both keys are in. To change them later:

    1. On Railway, open the service's Variables tab.
    2. WHOOP_CLIENT_ID: paste the new Client ID over the current value.
    3. WHOOP_CLIENT_SECRET: the same, with the new Client Secret.
    4. Click Deploy at the top. If the keys belong to a different WHOOP app, your next question brings a new authorization link.

Done here. The rest happens in your AI app

Step 4Connect your AI app

The address to add as a custom connector:

https://whoop.jerbb.cloud/mcp

It asks for the server password, which lets your AI app talk to this server: on Railway, that's the MCP_AUTH_PASSWORD variable in the service's Variables tab (click the eye to reveal it). Then you let this server read your WHOOP data, on WHOOP's own page: that's the link under Ask your first question.

Keep your WHOOP data out of model training. WHOOP's terms forbid using it to train AI, and your answers pass through your AI app. One switch in your app keeps it out. In Claude, turn off Settings → Privacy → Help Improve our AI models. In ChatGPT, turn off Settings → Data controls → Improve the model for everyone.

Claude
On claude.ai, go to Customize → Connectors, click +, then Add custom connector. Paste the address, name it, click Add, then Connect: enter the password, tick the box, sign in. In a chat, turn it on under + → Connectors.
ChatGPT
On the web, go to Settings → Plugins → Add → Create MCP App (no such button? Turn on Developer mode under Settings → Security and login). Name it, set the MCP server URL to the address, choose OAuth (and Dynamic client registration, if asked), sign in with the password and tick the box, then create the app. In a new chat, mention it (@Whoop) and ask.
Other apps
Add to your AI covers the other AI apps you may want to read your WHOOP data through this server (Claude Code, Cursor, VS Code, Windsurf), and Team and Business workspaces.

Step 5Ask your first question

Ask your AI app anything about your WHOOP data, like how you slept. The first such question brings an authorization link instead of an answer: click it, log in with your WHOOP account (the one you use in the WHOOP app, whose data you want to read), approve the app, then ask again. The server renews its access each time you ask, so you normally won't be asked again. If you are, it's the same link.

From then on, ask wherever your AI app has this connector: Claude's desktop and mobile apps use the one you added, and ChatGPT's MCP apps are web-only.

Updates

Deployed from the Railway template? New versions install themselves: nothing to do. Set up by hand on Railway? Turn on Configure Auto Updates under Settings → Source, with the :1 image tag. With Docker, pull :1 again and restart.

If you add a custom domain later, open this page again: if the Redirect URL under Create your WHOOP app changed, update it in your WHOOP app.