addrbookFor publishers
← The evidence ledger

Evidence row 42724

Observed , by baseline/1.

Kind
listing
About
source_record mcp_registry:io.github.mechubsec/rustjunosmcp
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
a1fffa361ac8515dd330494b57ce689caf960c5f936fd3371c9dfe5169f51181
Leaf
0x666f0c314be5734b38c58957f33de632862523f5e40e25e9d3f725e1806cb341

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-26T12:21:39.135989Z",
        "status": "active",
        "statusChangedAt": "2026-10-26T12:21:39.135989Z",
        "updatedAt": "2026-10-26T12:21:39.135989Z"
      }
    },
    "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.2.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.2.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":"a1fffa361ac8515dd330494b57ce689caf960c5f936fd3371c9dfe5169f51181","id":42724,"kind":"listing","method":"baseline/1","observed_us":1793025401482722,"prev":null,"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. 0x666ef3f0918e2a4f85cf365069eb94a8cb7a1a3e1c90c16ddf936e42045b63ab
  2. 0x365796b770e444b4f6c6e798c9bb4d06ba17c2f233c11bf5205315a51e80110c
  3. 0xbe38b640c8078731d36c7db925b20617e0b816765403f9be28e4218788ab1fc8
  4. 0x0c32e12a066cfd2d4e7635a1cf0948970614b61bf0bceb35e06fb36efc7eb1c9
  5. 0xa586e4229761183ca619dab8f683e9ce8ddfe231872f279678a73b0a29bbabc2
  6. 0xa8673e96cb76540b749083a17068e8ba9ec1077a2f39de970f29b09cabe3aa4b
  7. 0x56e8b5c593c5430156165e597f403fcee6561b5ddfe20cd195e2defcdab0f51f
  8. 0x6b986758f13cd8f338a439328d785d06a361fc2ce552c21d5c8e22e263da4058
  9. 0xa22cefd99c32eb3b42c630c0f6ce80c275c3886adef0fb6358d3cdbc91fa0fc2
  10. 0x58c0a36fd4c0b127730a3ff2bd4a0e6279da1a965147e7629a7fd4098c5fed18
  11. 0x97befbe0402dae50d99027054f0d354513b22fda782f887ba0d9fae94219c296
  12. 0x611b1c1b68d04a71934006e383071a8f3836400d60beb86d81dd038bc102029f
  13. 0x13f4b94ecf613d585c952b5363dad2b247a55371eb8e358bb89dc033e83128b1
  14. 0x9a79c65e077cd9da9d436b3ade6f5ddc0d244510c4d5903ef2f02d81205f7666
  15. 0xa2d436d488e3600b0e5c3e3ed9c9234cd52853c59830b786334fd0c4292d9f40
  16. 0x47b89901b0f07938a6b9a66ddf35683903f79d756a7c7763665fd632758b08d0
  17. 0x9a83be955a206deb65b995adfd92c58fa31c95fbbf926bd199d300e70b08b26d
  18. 0x20704208aa6923d6b2450ef74ede87a6e0265d46447926038fe9506e9e154b2d
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON