addrbookFor publishers
← The evidence ledger

Evidence row 35924

Observed , by baseline/1.

Kind
listing
About
source_record mcp_registry:io.github.davidmosiah/whoop-mcp
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
f7da93f14526cbf22c63f54c0a24de9c14bf40ee7aa880ecfd6659588dbf2d29
Leaf
0x163ed5b6bdb12850c2981b2b77e5c20cba53b50ccda9447b5b601bf849552514

What was observed

{
  "endpoints": [
    [
      "web",
      "https://wellness.delx.ai/connectors/whoop"
    ]
  ],
  "name": "io.github.davidmosiah/whoop-mcp",
  "owner_address": null,
  "raw": {
    "_meta": {
      "io.modelcontextprotocol.registry/official": {
        "isLatest": true,
        "publishedAt": "2026-07-03T11:20:41.299549Z",
        "status": "active",
        "statusChangedAt": "2026-07-03T11:20:41.299549Z",
        "updatedAt": "2026-07-03T11:20:41.299549Z"
      }
    },
    "server": {
      "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
      "description": "Privacy-first, unofficial WHOOP MCP server for AI health, sleep, recovery, and performance agents.",
      "name": "io.github.davidmosiah/whoop-mcp",
      "packages": [
        {
          "environmentVariables": [
            {
              "description": "WHOOP OAuth client ID. Optional when configured with whoop-mcp-server setup.",
              "format": "string",
              "name": "WHOOP_CLIENT_ID"
            },
            {
              "description": "WHOOP OAuth client secret. Prefer whoop-mcp-server setup so this secret is stored in ~/.whoop-mcp/config.json instead of MCP client config.",
              "format": "string",
              "isSecret": true,
              "name": "WHOOP_CLIENT_SECRET"
            },
            {
              "description": "Redirect URI configured in the WHOOP Developer Dashboard. Optional when configured with whoop-mcp-server setup.",
              "format": "string",
              "name": "WHOOP_REDIRECT_URI"
            },
            {
              "description": "Optional local path for OAuth tokens. Defaults to ~/.whoop-mcp/tokens.json.",
              "format": "string",
              "name": "WHOOP_TOKEN_PATH"
            },
            {
              "description": "Optional payload mode: summary, structured, or raw. Defaults to structured. raw means full WHOOP API payloads, not raw device sensor streams.",
              "format": "string",
              "name": "WHOOP_PRIVACY_MODE"
            },
            {
              "description": "Optional SQLite cache toggle. Set to true or sqlite to enable.",
              "format": "string",
              "name": "WHOOP_CACHE"
            },
            {
              "description": "Optional local SQLite cache path. Defaults to ~/.whoop-mcp/cache.sqlite.",
              "format": "string",
              "name": "WHOOP_CACHE_PATH"
            },
            {
              "description": "Set to true to bypass the in-memory HTTP response cache (60s TTL for GET only). POST/PUT/DELETE and 4xx/5xx responses are never cached regardless.",
              "format": "string",
              "name": "WHOOP_NO_CACHE"
            }
          ],
          "identifier": "whoop-mcp-unofficial",
          "registryType": "npm",
          "transport": {
            "type": "stdio"
          },
          "version": "0.5.3"
        }
      ],
      "repository": {
        "source": "github",
        "url": "https://github.com/davidmosiah/whoop-mcp"
      },
      "version": "0.5.3",
      "websiteUrl": "https://wellness.delx.ai/connectors/whoop"
    }
  },
  "source": "mcp_registry",
  "summary": "Privacy-first, unofficial WHOOP MCP server for AI health, sleep, recovery, and performance agents."
}

What the leaf hashes

{"body":"f7da93f14526cbf22c63f54c0a24de9c14bf40ee7aa880ecfd6659588dbf2d29","id":35924,"kind":"listing","method":"baseline/1","observed_us":1793025374815548,"prev":null,"subject":"mcp_registry:io.github.davidmosiah/whoop-mcp","subject_kind":"source_record"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).

  1. 0x163df0c8b53e4038bd46cbc8ba34d0a206400be144db1b0dcbee2aaf0d8cd0cd
  2. 0x7ac8ee9f3d2aab876ee94324c99d762ec7d4d849920fddb75b92c986bdbb8a6a
  3. 0x5b4343ef9da39cec6651084588880f8c9ec02407babe1504d519f5a408d14be5
  4. 0x02f76a1ee2028b7954839a1d6c325a1595cc754b79f514d4c7df459aa37161b0
  5. 0x0df212f2a9a51da8aa956dd3e299628a816fcbe430950189f98346582f35cb1c
  6. 0x58cbf56e566e062d54d23b2e6474ea58589024cb788532ad2257101a23047c97
  7. 0xcf53ce263c9d5f53af6a2940a11d04f480b1334b97d9c2ffe64d6c9dee5afe7c
  8. 0x2bff58401d520d6ae8841ffd0959f08117245a742d4e6fdfd81d489fc501554e
  9. 0x4353f9765dc35ef405c74366e0d045e048fd321b985e9cd73a26be88ce05f264
  10. 0xd3388b2b4c7f521364d933c4432002eaf85765d15a09631fb8cf2491679dccc1
  11. 0xed7aa4f0a0c93f40e8bb99589e49cbc6da4d8144091eb55a8707245d7bf94039
  12. 0x856fd0d049baa5f07cd2d5d524b40c994bed22cb46ea15af4cc075b3f3f3d444
  13. 0x32f46c5f73ecbfd4f770f7f760a79bee2afed4b3e7572fa882b3e7dce8df4356
  14. 0x770e4376196188c7fc9ec40f8e218dc0d1cb92bba5fe0425a0edce27ca9a997f
  15. 0x60582ab4b41e72eb70eb0bce07fbf0fb4d2b62a8bad5be50f5d16d511adc746c
  16. 0xc6a4d7899a0f442958e26505011190b7cff2483611c1b94eba9043e0ba9ac36e
  17. 0x8c756542e482157df0c36464d75c937b845e4423dbbcfad08f0cf8d5a16b9a13
  18. 0x20704208aa6923d6b2450ef74ede87a6e0265d46447926038fe9506e9e154b2d
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON