addrbookFor publishers
← The evidence ledger

Evidence row 25782

Observed , by baseline/1.

Kind
listing
About
source_record mcp_registry:io.github.AntVsl/oura-mcp
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
b718461bd1262373e8e4d14810bdf46081cc4d3a0b81a383cf322afededb0a37
Leaf
0x342eb01d465a34930bba970bd3123f7ea38763887d56e77b53de53a0f9cd0aae

What was observed

{
  "endpoints": [
    [
      "web",
      "https://github.com/AntVsl/oura_mcp"
    ]
  ],
  "name": "Oura Ring",
  "owner_address": null,
  "raw": {
    "_meta": {
      "io.modelcontextprotocol.registry/official": {
        "isLatest": true,
        "publishedAt": "2026-08-30T09:00:12.186901Z",
        "status": "active",
        "statusChangedAt": "2026-08-30T09:00:12.186901Z",
        "updatedAt": "2026-08-30T09:00:12.186901Z"
      }
    },
    "server": {
      "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
      "description": "Sleep, readiness, HRV, resting heart rate, activity and stress from your Oura Ring",
      "name": "io.github.AntVsl/oura-mcp",
      "packages": [
        {
          "environmentVariables": [
            {
              "description": "Client ID of your Oura application from developer.ouraring.com",
              "name": "OURA_CLIENT_ID"
            },
            {
              "description": "Client secret of your Oura application",
              "isSecret": true,
              "name": "OURA_CLIENT_SECRET"
            },
            {
              "default": "http://localhost:8765/callback",
              "description": "OAuth redirect URI; must match the Oura application byte for byte",
              "name": "OURA_REDIRECT_URI"
            },
            {
              "default": "sandbox",
              "description": "sandbox for Oura's synthetic data (no auth needed), production for your own",
              "name": "OURA_API_MODE"
            },
            {
              "default": "UTC",
              "description": "IANA timezone deciding what counts as today. Set it explicitly on servers, whose clocks run in UTC",
              "name": "OURA_TZ"
            },
            {
              "default": ".oura/tokens.json",
              "description": "Where the OAuth flow stores tokens. Written by the server, not set by hand",
              "name": "OURA_TOKEN_STORE"
            },
            {
              "description": "Public https address, without a trailing slash. Enables OAuth 2.1 for Claude.ai and ChatGPT; leave empty for local or Bearer-token clients",
              "name": "OURA_PUBLIC_URL"
            },
            {
              "description": "Comma-separated trusted OAuth redirect origins; defaults to Claude.ai and ChatGPT",
              "name": "OURA_OAUTH_ALLOWED_REDIRECT_ORIGINS"
            }
          ],
          "identifier": "my-oura-mcp",
          "registryBaseUrl": "https://pypi.org",
          "registryType": "pypi",
          "runtimeHint": "uvx",
          "transport": {
            "type": "stdio"
          },
          "version": "0.4.2"
        },
        {
          "environmentVariables": [
            {
              "description": "Shared secret guarding the HTTP endpoint. Required whenever the server binds to anything other than loopback; without it the server refuses to start",
              "isRequired": true,
              "isSecret": true,
              "name": "OURA_MCP_TOKEN"
            },
            {
              "description": "Public https address, without a trailing slash. Enables OAuth 2.1 for Claude.ai and ChatGPT; leave empty for local or Bearer-token clients",
              "name": "OURA_PUBLIC_URL"
            },
            {
              "description": "Comma-separated trusted OAuth redirect origins; defaults to Claude.ai and ChatGPT",
              "name": "OURA_OAUTH_ALLOWED_REDIRECT_ORIGINS"
            },
            {
              "description": "Client ID of your Oura application from developer.ouraring.com",
              "name": "OURA_CLIENT_ID"
            },
            {
              "description": "Client secret of your Oura application",
              "isSecret": true,
              "name": "OURA_CLIENT_SECRET"
            },
            {
              "default": "UTC",
              "description": "IANA timezone deciding what counts as today. Container clocks run in UTC, so set this",
              "name": "OURA_TZ"
            }
          ],
          "identifier": "docker.io/iican/oura-mcp:0.4.2",
          "registryType": "oci",
          "transport": {
            "type": "streamable-http",
            "url": "http://localhost:8000/mcp"
          }
        }
      ],
      "repository": {
        "source": "github",
        "url": "https://github.com/AntVsl/oura_mcp"
      },
      "title": "Oura Ring",
      "version": "0.4.2",
      "websiteUrl": "https://github.com/AntVsl/oura_mcp#readme"
    }
  },
  "source": "mcp_registry",
  "summary": "Sleep, readiness, HRV, resting heart rate, activity and stress from your Oura Ring"
}

What the leaf hashes

{"body":"b718461bd1262373e8e4d14810bdf46081cc4d3a0b81a383cf322afededb0a37","id":25782,"kind":"listing","method":"baseline/1","observed_us":1793025355133154,"prev":null,"subject":"mcp_registry:io.github.AntVsl/oura-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. 0x342ec767694c7f30e46a0b9d19a1a1e390ff2de008df23e939e96ef5819d78b5
  2. 0xd64cc1260697b18bbc7aac5f54a6a25e210d9ba7ce3e649edd60264943d434be
  3. 0x2f729470595b8150a07079c11aefe002f01999a0685f0b7fb375071d105a8baf
  4. 0xffc4b6d3fcdec84fafb50a1aeda37151f416332ec0bd6de246685d6aef8cff97
  5. 0xdea3926a0e4be61977912a46707760e4d7b000c300d4d0d4559917b3ded8df74
  6. 0x5fba0244d77883237cedb0907f8be411fa2301ed1bb299d173145c9a00e314df
  7. 0xcd61b577101aba335a5d4324315cb5aec52050c6482b95afd3c710f61dd00748
  8. 0x27fe9d06ba15e7c5fca43a1408f138640b9409c6fd4f6c12f9d9ef3d986b1005
  9. 0x82cf6b3d1aae668d4027a29813a07304e6d8998e5336cc71e349905c8a69da93
  10. 0x177012e4764007ed1fc9fe062981493cb1e87dce78b4d705154fc6b59f179dc8
  11. 0x25f1494b636c5e3c47bd014c16b8f4b5df5a8fb62efdc32979420416a8736679
  12. 0xe57be1a98d96d75db9e9d2122794eabebfd735dea66e9d16ca63347243b3d483
  13. 0x08de74b7fb265ddb83e4c673da8a94e5f71829b2e6e7464c71c5138e450f2217
  14. 0x4338355a835617a26aa0bfcc971e84eb030d84e2aa840e3c8af958921dd080c7
  15. 0x610738e0c43687aded83c613c73de8b5226c73c375858a167436461c522ea213
  16. 0x06d71bfa7d8b41d62c8836efc2c601e1cc3772d9453596b2ae4950887f3310ca
  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