addrbookFor publishers
← The evidence ledger

Evidence row 44599

Observed , by baseline/1.

Kind
listing
About
source_record mcp_registry:io.github.ni-c/mcp-hub
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
1d4864a60eef5900397c45959f75033774590b78fa3eacd0afe850a2aa42a99b
Leaf
0xbbfee425cdd6f1ab2417c694e5dfce84fc81cd5d3655168f94e6ae21f466b52c

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-07T08:08:59.614416Z",
        "status": "active",
        "statusChangedAt": "2026-10-07T08:08:59.614416Z",
        "updatedAt": "2026-10-07T08:08:59.614416Z"
      }
    },
    "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.6"
        },
        {
          "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.6",
          "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.6",
      "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":"1d4864a60eef5900397c45959f75033774590b78fa3eacd0afe850a2aa42a99b","id":44599,"kind":"listing","method":"baseline/1","observed_us":1793025404987476,"prev":null,"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 (296695 rows).

  1. 0xbbfee1352a69dc308c04b4e5abd3a105d5ee64b9175783c31fe47e90e9250638
  2. 0xec51a7a7dcfac11b61ba7f5514017260b390e9b08255ac0bbba2f1b233cb72e0
  3. 0x56551cb9daad9db29f1ab616595b8fbd842996f49b42645fd567ca4993557e0d
  4. 0x483bc43170d18469c042b305cdd67f20e4e97dbb8013720744684f3e7537483b
  5. 0x3c1bdcfd8b7b62ef618833e982faa759444b7b2bc7ead1aa2135126dff398757
  6. 0x7368ee6807ef4fa22f61f69fe9efe7313ac68c28ce0b5f842ac9d3dd1fd8e512
  7. 0x46e65ba3e4c7ece2084368399093009edae3a701d6bb82cc62aba1351627c132
  8. 0x0a551deae163e434cc263f009b5429a81abe44b2ca8bca4fbdf397681457ce40
  9. 0x587c2e85bf208fd14cf915d84c5812370275bac40db3b06872ee900e81f0d538
  10. 0xff2d4f941fd0a20bb13feaaab2cfa12f33654e2b0ed185cce0c62986dd52c038
  11. 0x66ed746e8b7893417ecf36cd9e7178eac8d5a36914238191ee21e14d3aa57d8d
  12. 0x571bf2cc487a35d2ef7662b375d1fa9179fe0f6cab6f6cebdb1a6113d25f3c92
  13. 0xd5b5bb5812612371a70171b2252d90e95bb0581ea5a3be198122adc8442e4f79
  14. 0xf692ce2b0a640ec9f75aa960e5fb1c2c7091a04e24881798735752c19014e519
  15. 0x9f68b5e15459cb62b8c0cd4c124fa61c74147b4a5755a200fbecd21a581635d1
  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