← The evidence ledger
Evidence row 2594571
Observed , by sync.mcp_registry/1.
- Kind
- listing
- About
- source_record mcp_registry:io.github.ni-c/mcp-hub
- Recorded
- Previous row
- #506102
- Body SHA-256
- db271fb106d4417c72007952e05dc4ae357994618a3bd4ac335b4b13c0d724e4
- Leaf
- 0x5cf29accf152aa4c523edf82b9d080b526def1bb6401c49fb8e895989d692916
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-11-03T13:46:35.749504Z",
"status": "active",
"statusChangedAt": "2026-11-03T13:46:35.749504Z",
"updatedAt": "2026-11-03T13:46:35.749504Z"
}
},
"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.12.0"
},
{
"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": "Set to totp to ask for a one-time code from an authenticator app at every sign-in. Default off.",
"format": "string",
"name": "TWO_FACTOR"
},
{
"description": "Base32 secret the authenticator app was set up with (mcp-hub-admin totp init). Read only when TWO_FACTOR is totp.",
"format": "string",
"isSecret": true,
"name": "TOTP_SECRET"
},
{
"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.12.0",
"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.12.0",
"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":"db271fb106d4417c72007952e05dc4ae357994618a3bd4ac335b4b13c0d724e4","id":2594571,"kind":"listing","method":"sync.mcp_registry/1","observed_us":1793715571635248,"prev":506102,"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 (425475 rows).
- 0x5cf277f9a98626c93933898123cc69c1df7c11de29de2c1a5da85fda766afda0
- 0x3c83a83b520ce0f2205ecb4246339bd5f46420ffa4f4b847efc276ac95ba7fc0
- 0xa7a523b431f0c6a911a1936a08b301727fb3fda45b9022692a8ec3a06f90a67f
- 0x5196c87475b4a42e16d68fc941b8dd819656507e759277866a46917aab8bb739
- 0x41e70504678e27bd631ba08567b2ccd3ae4863a3d2ecce545630aadf8097e2f9
- 0x11738f9819e6de966d6ed3ec9e68f19d5501741bbc18a2fa6db53f5f60508da9
- 0xc10578828f75bd5a63f56f49663b69030b7d0cfd62d02a09ca5f02d594a80e96
- 0x82f022ea55feaff3db462bd088f7e1c5644b17507dd0af058423865a3e7203dc
- 0x3bbf0878ac9121d2473b6f6688b3938d0b5c414f441aa2b4073a5f8c9402325b
- 0xcca2c8e7aa1f1e5a3f13fb7afdf5428163c1a4f518b7b4f4054669284b5e776d
- 0x2c9f1ddd5a12b4c2d756fc23e068c113e1b29aaf47e2f1efb756b10a4be3a39a
- 0xc9cb46de0fb34249d46d050d7b3c6e9eb235979a2c666a5e730bbfb605a8d465
- 0xcf11475fb1d88adbcfc7a6c6c088c0d1cc115e211d125d8b50181219cb4beecc
- 0x1fc4191e8f35bfa53de7e0451b776edb79a6c6dcdf333b4de5afdb414a516e3f
- 0x335134861d623e850e919233efd5afeff49bc2ffa02948458dea325cdabfc928
- 0xd3872af0d8c282b0d088e008b24701ec7576ad8e40ceab245546a2e300818868
- 0x3ef2d6c56d2bc5990e646c07605e90ed24d1c642cbcca8f60a35422b8b7981ee
- 0x717b5d7cbc24826c5b1f7b7433bf30b76e9ba1370476af4e1b494a5211897cc3
- 0xe35032d4b064b015fe60638756eeb0bc24e7c7943586468d33349341ee0ed3d6
- Day root
- 0xb646ffa569e24bf8336b0a15a9d98d0a2f1239f58e10c2b18a9d22e43343566a
- Chained
- 0x35e926359fd19031c6b5e08fb3b44f2524386a57c8fdd353336c185603f53d43
- Published
- On Arc Testnet, block 70601990: 0xa5f9dadba13cde129126b950e64b815e6833cb8ff53b75026c9dbe769c3768c7