addrbookFor publishers
← The evidence ledger

Evidence row 32063

Observed , by baseline/1.

Kind
listing
About
source_record mcp_registry:io.github.WYRE-AI/keeper-mcp
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
65c6661fa2fd87b45f5f0577588a646acb80167394702e8a3577cc02287c1e62
Leaf
0xb30dc2c0501696ea500777a93e7caaef047fe0d4d645b82b03cd2090ced8a987

What was observed

{
  "endpoints": [
    [
      "web",
      "https://github.com/WYRE-AI/keeper-mcp"
    ]
  ],
  "name": "Keeper Secrets Manager",
  "owner_address": null,
  "raw": {
    "_meta": {
      "io.modelcontextprotocol.registry/official": {
        "isLatest": true,
        "publishedAt": "2026-10-20T17:14:49.806649Z",
        "status": "active",
        "statusChangedAt": "2026-10-20T17:14:49.806649Z",
        "updatedAt": "2026-10-20T17:14:49.806649Z"
      }
    },
    "server": {
      "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
      "description": "Read-only multitenant Streamable HTTP bridge over Keeper Secrets Manager's MCP server.",
      "name": "io.github.WYRE-AI/keeper-mcp",
      "packages": [
        {
          "environmentVariables": [
            {
              "default": "8080",
              "description": "Public listen port for the bridge (POST /mcp, GET /health)",
              "format": "string",
              "name": "PORT"
            },
            {
              "default": "/usr/local/bin/ksm-mcp",
              "description": "Path to the upstream ksm-mcp binary the bridge spawns per tenant",
              "format": "string",
              "name": "KSM_MCP_BIN"
            },
            {
              "default": "/tmp/ksm-mcp-home",
              "description": "Writable HOME for upstream child processes",
              "format": "string",
              "name": "CHILD_HOME"
            },
            {
              "default": "900000",
              "description": "Idle tenant timeout before an upstream child is evicted (ms)",
              "format": "string",
              "name": "IDLE_EVICT_MS"
            },
            {
              "default": "30000",
              "description": "How long to wait for a spawned child to answer the MCP handshake (ms)",
              "format": "string",
              "name": "SPAWN_TIMEOUT_MS"
            }
          ],
          "identifier": "ghcr.io/wyre-ai/keeper-mcp:v1.0.4",
          "registryType": "oci",
          "transport": {
            "type": "stdio"
          }
        }
      ],
      "repository": {
        "source": "github",
        "url": "https://github.com/WYRE-AI/keeper-mcp"
      },
      "title": "Keeper Secrets Manager",
      "version": "1.0.4",
      "websiteUrl": "https://github.com/WYRE-AI/keeper-mcp"
    }
  },
  "source": "mcp_registry",
  "summary": "Read-only multitenant Streamable HTTP bridge over Keeper Secrets Manager's MCP server."
}

What the leaf hashes

{"body":"65c6661fa2fd87b45f5f0577588a646acb80167394702e8a3577cc02287c1e62","id":32063,"kind":"listing","method":"baseline/1","observed_us":1793025365756570,"prev":null,"subject":"mcp_registry:io.github.WYRE-AI/keeper-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. 0xb30db63de3bf4197708ddbd5a7052d69a10e9f0a8eb9a59d2f7c5c0081b8dcf9
  2. 0xd38e7b575703c11515109b0e25b2e82e79bb87ff2c0b107c03382aa0d424decf
  3. 0x31e10781ff9d5e4aef2c7e7b883c59291c7a0a1521e30a334bc78d06aedfce2a
  4. 0x068da40152e85ff2f413bddf00ff31ddd7b79c45aa060d1e93a3926e645a5059
  5. 0x3b5c79e8ed157d7ca220300e6bf5b9264a1fdac46548c1765a2678b0b42a1f4b
  6. 0x3c2c783550250988da4968b52e0ef530266eae0580c68dc41c893b30a611f496
  7. 0xd23d59b81aa62423616fe449026f2ab3840af69b910ab633b3fd1f92f58b8254
  8. 0x3b6b3befde19fc858b220fe429cf8c553bce4667cf8cc4a5e8d3d6c773345a77
  9. 0xf3459130fadd071ff4467116a3e6ee7756254e46323de97b1e1bd4c8bdffe533
  10. 0x34826d27a00fb6f2649b492e5ca5ff6025211b9bda757487c3351c0e533593f3
  11. 0x08b0ee375f7c28afd23e265e3e1bed91ba37304e42eafa665ef4a7f785b3e7bf
  12. 0x3d6ec9d5ef8daa604601742088e213da0a439db6eff6ce50ec3ffb264a60ddd3
  13. 0x3b1c0e225d1b1cb24cd5d5ea4af2de20ed68a1eaf8b61924ed1b81e4b9cf7e39
  14. 0x083427e39db4dd470662401f6db5db8fadf084fc4274cf8621b368416952b78b
  15. 0x1a74ed3b3756b9cd946da49701bcec120ec88645013da99fa9eea60b39e1a570
  16. 0x123ec8bee20ddc55223eeef5a4f4d6c4b6416515adbb911c56759f5cde56e452
  17. 0xd0651cb9bc8155eb52b5247d506e74b8a935057dc190ba52091702ac25ed3a40
  18. 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON