addrbookFor publishers
← The evidence ledger

Evidence row 506102

Observed , by sync.mcp_registry/1.

Kind
listing
About
source_record mcp_registry:io.github.ni-c/mcp-hub
Recorded
Previous row
#44599
Body SHA-256
64f396dd66e8cd9fec80fafc8a07c0ecece9772cd42424642cd9ad2e352659fa
Leaf
0xedb75050e77d02156ea2b29d3e5af13f67f486a29db00e66f1119a7f008abaf4

What was observed

{
  "endpoints": [
    [
      "web",
      "https://mcp-hub.ni-c.de/"
    ]
  ],
  "name": "mcp-hub",
  "owner_address": null,
  "raw": {
    "_meta": {
      "io.modelcontextprotocol.registry/official": {
        "isLatest": true,
        "publishedAt": "2026-10-27T14:41:29.187346Z",
        "status": "active",
        "statusChangedAt": "2026-10-27T14:41:29.187346Z",
        "updatedAt": "2026-10-27T14:41:29.187346Z"
      }
    },
    "server": {
      "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
      "description": "Many stdio MCP servers from one container, published over HTTPS with OAuth 2.1 for any MCP client",
      "name": "io.github.ni-c/mcp-hub",
      "packages": [
        {
          "environmentVariables": [
            {
              "description": "Path to the mcp.json listing the servers to expose, in Claude Code's mcpServers format (default mcp.json in the working directory)",
              "format": "string",
              "name": "CONFIG_PATH"
            },
            {
              "default": "60",
              "description": "Minutes of inactivity before a server is put to sleep; 0 starts every server at launch and keeps it running (default 60)",
              "format": "number",
              "name": "IDLE_TIMEOUT_MINUTES"
            },
            {
              "description": "Tool snapshots of sleeping servers (default .mcp-hub/tool-cache.json beside the config)",
              "format": "string",
              "name": "TOOL_CACHE_PATH"
            },
            {
              "description": "Mirror the hub's log lines into this file; stdout carries the protocol, so logging goes to stderr otherwise",
              "format": "string",
              "name": "LOG_FILE"
            }
          ],
          "identifier": "@ni-c/mcp-hub",
          "packageArguments": [
            {
              "type": "positional",
              "value": "--stdio"
            }
          ],
          "registryType": "npm",
          "runtimeHint": "npx",
          "transport": {
            "type": "stdio"
          },
          "version": "0.11.7"
        },
        {
          "environmentVariables": [
            {
              "description": "Public base URL exactly as clients see it, e.g. https://mcp.example.net (no path)",
              "format": "string",
              "isRequired": true,
              "name": "EXTERNAL_URL"
            },
            {
              "description": "bcrypt hash of the OAuth login password (htpasswd -bnBC 10 \"\" 'pw' | tr -d ':\\n')",
              "format": "string",
              "isRequired": true,
              "isSecret": true,
              "name": "PASSWORD_HASH"
            },
            {
              "description": "Comma-separated IPs/CIDRs of the reverse proxy allowed to set X-Forwarded-* headers",
              "format": "string",
              "name": "TRUSTED_PROXIES"
            },
            {
              "default": "cimd,dcr",
              "description": "Which mechanisms a client may use to obtain a client_id: cimd (Client ID Metadata Documents), dcr (RFC 7591 dynamic registration), or both",
              "format": "string",
              "name": "CLIENT_REGISTRATION"
            },
            {
              "description": "Comma-separated https origins whose client ID metadata documents are accepted, e.g. https://chatgpt.com; unset admits every https origin",
              "format": "string",
              "name": "CIMD_ALLOWED_ORIGINS"
            },
            {
              "default": "80",
              "description": "Listen port inside the container",
              "format": "number",
              "name": "PORT"
            }
          ],
          "identifier": "ghcr.io/ni-c/mcp-hub:0.11.7",
          "registryType": "oci",
          "transport": {
            "type": "streamable-http",
            "url": "http://localhost:{PORT}/hub"
          }
        }
      ],
      "repository": {
        "source": "github",
        "url": "https://github.com/ni-c/mcp-hub"
      },
      "title": "mcp-hub",
      "version": "0.11.7",
      "websiteUrl": "https://mcp-hub.ni-c.de"
    }
  },
  "source": "mcp_registry",
  "summary": "Many stdio MCP servers from one container, published over HTTPS with OAuth 2.1 for any MCP client"
}

What the leaf hashes

{"body":"64f396dd66e8cd9fec80fafc8a07c0ecece9772cd42424642cd9ad2e352659fa","id":506102,"kind":"listing","method":"sync.mcp_registry/1","observed_us":1793114943078019,"prev":44599,"subject":"mcp_registry:io.github.ni-c/mcp-hub","subject_kind":"source_record"}

Proof

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

  1. 0xedb7a1a3b394353edceaa1623aa82e2d11ae14a754a6c8946306c3a6ded59c50
  2. 0x368b5ff2e728b5c9bbbeaa89f39cdb66039b5e1161cba22cd4ceb8585a8c5b15
  3. 0x4bbb9b4b348cd6f04142a8cd42f5b71eb4f10816015d736fb142dd360aa70841
  4. 0x65ce702a5bde64606e9b3ffa8eb628c0dc144a4ec61b2f849c3d18035f17d5c3
  5. 0xbb322d961e55eb2f16957fdc5b7c6d0d36d6819d44b437d3ad4420b493397ec0
  6. 0x3dd2c331ff957c1d0036b461c70647411b48b84117edf7cbf31fc48e0c8a65d1
  7. 0x117cc090a2608ed7062c21ce2deb68e8c23df3aaff331689df44905218b1638d
  8. 0xb2806466c2cdd8ff74a7dd37a005c1b46b9c5ff64f09b03a22b70260a942086f
  9. 0x1c48ca2471d4ec703f060a3c587a5b2bc794239b13c4c1f0a5befaa36d599344
  10. 0xaa641459302adde22dc32481fb241cabfec0126d1840e00062addb5172888cb4
  11. 0x0a78a08a4d8ea932d1929a4db7274efa66e37530ebf9892f88bad1aa94953b78
  12. 0x1bd815b8c338cfc2bcf769f9c67988a5890577c27b5e900948b5339a99e158a8
  13. 0x89602081fbcc80aef8908f5df765767a1a41cc8b089111259ea78e6583a8bc4b
  14. 0x41f9f462759cb539183e979fb3eb967d94755cf039c44a64a9a3c4ad97523cfd
  15. 0x56f7109d4cde42492651beb1237c13cdcbf95e6fee2b2482391a2388e04c4629
  16. 0x8745bd887f5ce9f7a49558fd2b04cdcd97a05ea9f8a23f62d0e80cb13d328b0f
  17. 0xdf1105afdc109de3c09a98fc8a3864159ad964e6f49b635c105a27a1e1f14310
  18. 0x2bf8151e5f157dd183b9de6fa00469551932a7a6e3f33a694895000ac9061197
  19. 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
Day root
0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
Chained
0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
Published
On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4

How to check it · This row as JSON