addrbookFor publishers
← The evidence ledger

Evidence row 224247

Observed , by sync.mcp_registry/1.

Kind
listing
About
source_record mcp_registry:io.github.mechubsec/rustjunosmcp
Recorded
Previous row
#42724
Body SHA-256
dd5f69a120bf4be6a774ef1c0e936da928b1d32bf540689bd95882dee938982e
Leaf
0x31fce490d48c2963c3ea61793f2ac7546364a2f741ce9f22303a48a2f6e6aecf

What was observed

{
  "endpoints": [
    [
      "web",
      "https://github.com/mechubsec/rustjunosmcp"
    ]
  ],
  "name": "rust-junosmcp",
  "owner_address": null,
  "raw": {
    "_meta": {
      "io.modelcontextprotocol.registry/official": {
        "isLatest": true,
        "publishedAt": "2026-10-26T15:03:43.108931Z",
        "status": "active",
        "statusChangedAt": "2026-10-26T15:03:43.108931Z",
        "updatedAt": "2026-10-26T15:03:43.108931Z"
      }
    },
    "server": {
      "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
      "description": "Juniper Junos/SRX MCP server: scoped, audited, two-person change control. Rust.",
      "name": "io.github.mechubsec/rustjunosmcp",
      "packages": [
        {
          "identifier": "ghcr.io/mechubsec/rustjunosmcp:2.3.0",
          "packageArguments": [
            {
              "isRequired": true,
              "name": "--transport",
              "type": "named",
              "value": "stdio"
            }
          ],
          "registryType": "oci",
          "runtimeArguments": [
            {
              "isRequired": true,
              "type": "positional",
              "value": "--rm"
            },
            {
              "isRequired": true,
              "type": "positional",
              "value": "-i"
            },
            {
              "isRequired": true,
              "name": "-v",
              "type": "named",
              "value": "{devices_file}:/etc/jmcp/devices.json:ro",
              "variables": {
                "devices_file": {
                  "description": "Absolute host path to devices.json (Juniper/junos-mcp-server inventory format)",
                  "format": "filepath",
                  "isRequired": true
                }
              }
            },
            {
              "isRequired": true,
              "name": "-v",
              "type": "named",
              "value": "{keys_dir}:/etc/jmcp/keys:ro",
              "variables": {
                "keys_dir": {
                  "description": "Absolute host directory holding SSH private keys referenced by devices.json",
                  "format": "filepath",
                  "isRequired": true
                }
              }
            },
            {
              "isRequired": true,
              "name": "-v",
              "type": "named",
              "value": "{state_dir}:/var/lib/jmcp",
              "variables": {
                "state_dir": {
                  "description": "Absolute host directory for persistent state (known_hosts, leases, staging); must be owned by UID 65532",
                  "format": "filepath",
                  "isRequired": true
                }
              }
            }
          ],
          "runtimeHint": "docker",
          "transport": {
            "type": "stdio"
          }
        }
      ],
      "repository": {
        "source": "github",
        "url": "https://github.com/mechubsec/rustjunosmcp"
      },
      "title": "rust-junosmcp",
      "version": "2.3.0",
      "websiteUrl": "https://github.com/mechubsec/rustjunosmcp"
    }
  },
  "source": "mcp_registry",
  "summary": "Juniper Junos/SRX MCP server: scoped, audited, two-person change control. Rust."
}

What the leaf hashes

{"body":"dd5f69a120bf4be6a774ef1c0e936da928b1d32bf540689bd95882dee938982e","id":224247,"kind":"listing","method":"sync.mcp_registry/1","observed_us":1793028650090481,"prev":42724,"subject":"mcp_registry:io.github.mechubsec/rustjunosmcp","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. 0x31fc957fc2f9b116d1c9641be839fa1e136c43bea5e379ce1349dd86380e035e
  2. 0x06417684ed435c5244ac33db378f7c2df8d840a6a8e6f0adf28cfc8501b46a48
  3. 0x33fbe2293d028ba020ffac69c50749b96b8bf01524e344035f3806ea341fafe5
  4. 0xcdda4d031a36ec145c8f0581ff9cf3f150b3a787582f0ce73aacc5815f3b09ab
  5. 0x497bca35678fc98f79a816315c415a895c77c8fa422f10c9c5212b68c60a35ce
  6. 0x013ea1809299c6209c72df80e9c9d8c4dde77a70db634846f01219d500bc49d8
  7. 0x8f10a55e88153d8395df69edb0e3b53f00d04d1f384c8b3120255d030bf76e79
  8. 0xe8aa89ccf9994ae2fa312771750b9aab746916161a820e7cf8d789f66863f5ec
  9. 0x71f659196ad6833df3213801b50f2352effd062436805e74544ca0ff3fc7d398
  10. 0xce0740e6facbd597b5f316a328277b7e9d0a2d51c77e133bfdd914b3b0060d10
  11. 0x631846da76ec1e8570c7c09dada1cc0affff7b5654335239fd84d2059c750b13
  12. 0x2f4617d7a962f32849050ad5649d9dc4f962fd8618073cfa8519e6f862dfcef8
  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