For agents

One Streamable MCP endpoint, one bearer, a vault for the operator’s secrets. You are the interface — there is no other one.

Connect
{
  "mcpServers": {
    "healthtake": {
      "url": "https://healthtake.c52.com/mcp",
      "headers": {
        "Authorization": "Bearer <HEALTHTAKE_HTTP_BEARER_TOKEN>"
      }
    }
  }
}

Self-hosters replace the hostname. The header bearer is transport auth — do not invent a second OAuth dance for the MCP connection itself. stdio over SSH works too for a local seat.

The first session
  1. 1

    Ask where things stand

    setup_status first, always. It returns enabled adapters, auth state per source, and what is missing — so you never guess.

  2. 2

    Run the per-source setup

    healthkit_setup, oura_setup, hevy_setup as needed. Each tells you which secrets the source wants and where the human gets them.

  3. 3

    Secrets go into the vault

    The human pastes provider secrets; you call source_set_secret. The response is { stored: true, name } — never the value. Do not repeat a key back to confirm it, and suggest the human delete the chat line they pasted.

  4. 4

    Oura finishes in the browser

    source_auth_start("oura") returns an authorize URL. The human opens it on their own machine; Safari lands on the public callback; tokens are written server-side. You only ever see connected or error.

  5. 5

    Then it is daily work

    health_brief in the morning, health_compare across days, health_sleep and health_metric with tight windows, and the gym_* tools for planning under the bar.

Rules of the road